Листинг файла main.c
#include<stdio.h> //библеотека позволяет реализовать ввод и вывод
#include<string.h> //библеотека позволяет реализовать ввод и вывод
#include<locale.h> //библеотека позволяет реализовать ввод и вывод
#include"calcfunctions.h" // функция
#define bufSize 1024
int main() // главная функция программы
{
setlocale(LC_ALL, "RUS"); //подключили русский язык
char buf[bufSize];// буфер размера bufsize
char H [100];//массив
char show;
char name[100];//массив
char str1[100];//строка
char str2[100];//строка
char m;// объявление переменной
int a,b,g;// объявление переменной
puts("Введите логин.\n");// вывод на экран
gets(H);// считать строку из стандартного потока ввода
FILE*F1;//файл
if ((F1 = fopen("F1.txt", "a+")) == NULL)//если файл равен нулевому указателю
{
printf("Ошибка при открытии файла!\n");//выводится
}
fclose(F1);// Разъеденяет и закрывает файл
int inputChar=1;//цикл с предупреждением
while(1==1)// условие-1 -всегда еденица=всегда верно-, бесконечный цикл
{
system("@cls");// отчистка экрана
printf("menu:\n"); // вывод на экран
printf("1.Периметр (1))\n"); // вывод на экран
printf("2.Отчистка файла (2))\n");// вывод на экран
printf("3.Чтение файла (3))\n");// вывод на экран
printf("4.Поиск по логину (4))\n");// вывод на экран
printf("5.Выход(0))\n"); // вывод на экран
printf("Введите ваш выбор:\n"); // вывод на экран
inputChar=getchar();// присвоения значения inputChar символа который будет введён с клавы
switch ((char)inputChar) // оператор выбора
{
case'1'://если inputChar равно 1, условие
system("@cls"); // отчистка экрана
printf("Введите a:\n"); // вывод на экран
scanf("%d",&a); // ввод данных для вещественных - %d
printf("Введите b:\n"); // вывод на экран
scanf("%d",&b); // ввод данных для вещественных - %d
g=calc(a,b);// вычисление
F1=fopen("F1.txt","a+");// Открыть файл для чтения и добавления данных.(поток)
while (fgets(buf,sizeof(buf),F1)!=NULL)//возвращает символы, длину буфера не равного нулевому указателю
{
buf[strlen(buf-1)]='\0';// буфер для [] с присвоением нулевого символа
printf("%s\n",buf);// вывод на экран
}
fclose(F1);// Разъеденяет и закрывает файл
F1=fopen("F1.txt","a+"); // Открыть файл для чтения и добавления данных.(поток)
fprintf(F1,"%d [ %s:Результат g=%d,когда a=%d,b=%d \n",g,a,b);// Записывает в файл последовательность символов
fclose(F1);// Разъеденяет и закрывает файл
printf("Результат g=%d,когда a=%d,b=%d\n",g,a,b);// вывод на экран
system ("pause");//преостанавливает систему, ожидание
getchar(); // ожидания ввода с клавиатуры
break; // завершение цикла или оператора(след. опер.)
case'2'://если inputChar равно 2, условие
F1=fopen("F1.txt","w");// Открыть файл для отчистки
fclose(F1);// Разъеденяет и закрывает файл
system ("pause");//преостанавливает систему, ожидание
getchar(); // ожидания ввода с клавиатуры
break; // завершение цикла или оператора(след. опер.)
case'3'://если inputChar равно 3, условие
system("@cls");// отчистка экрана
F1=fopen("F1.txt","r");// Открыть файл для чтения
while (fgets(buf,sizeof(buf),F1)!=NULL)//возвращает символы,длину буфера не равного нулевому указателю
{
printf("%s\n",buf);// вывод на экран
}
fclose(F1);// Разъеденяет и закрывает файл
system ("pause");//преостанавливает систему, ожидание
getchar();// ожидания ввода с клавиатуры
case'4'://если inputChar равно 4, условие
printf("Введите логин:\n"); // вывод на экран
scanf("%s", &str1);// ввод данных для вещественных - %s из ячейки
F1 = fopen("F1.txt", "r");// Открыть файл для чтения
system("cls");// отчистка экрана
while(!feof(F1))//цикл если конец файла не достигнут
{
fscanf(F1,"%s",str2);// считывает информацию из ячейки 2
if(strcmp(str1, str2)==0)//сравнивает символы двух строк
{
puts(str2); //выводит строку 2
do//начало цикла с постусловием
{
show = fgetc(F1);// присваевает show символы f1
printf("%c", show);// вывод на экран символы типа char
}
while(show!= '[' && show!= EOF);//условие не отрицательное значение и не конец файла
//break;
}
}
fclose(F1);// Разъеденяет и закрывает файл
system("pause");//преостанавливает систему, ожидание
getchar();// ожидания ввода с клавиатуры
break; // завершение цикла или оператора(след. опер.)
case'0': //если inputChar равно 0, условие
system("@cls"); // отчистка экрана
system ("pause");//преостанавливает систему, ожидание
return 0;// завершение вып. функции
default: //по умолчанию
return 0; // завершение вып. функции
break; // завершение цикла или оператора(след. опер.)
}
}}
Листинг файла Calcfunctions.c
#include "calcfunctions.h"
int calc(int ap, int bp)
{
return 2*(ap+bp);
}
Листинг файла Calcfunctions.h
int calc(int a, int b);