Листинг файла main.c
#include <stdio.h> //Подключение библиотеки ввода-вывода
#include <stdlib.h> //Подключение библиотеки ввода-вывода
#include <locale.h> //Подключение библиотеки ввода-вывода
#include "Workingf.h" //функция
int main() // главная функция программы
{
setlocale(LC_ALL, "RUS");//подключение русского языка
int inputChar=1;//цикл с предупреждением
char buf[10000];//массив
char str1[100];//строка
char str2[100];//строка
char show;
char name[100];//массив
FILE*f1;//файл
while (1==1)// условие-1 -всегда еденица=всегда верно-, бесконечный цикл
{
system ("@cls");// отчистка экрана
printf("Меню:\n");// вывод на экран
printf("1.Задать параметры государства (1)\n");// вывод на экран
printf("2.Поиск госудврства по названию (2)\n");// вывод на экран
printf("3.Просмотреть содержимое файла (3)\n");// вывод на экран
printf("4.Выход (4)\n");// вывод на экран
inputChar=getchar();// присвоения значения inputChar символа который будет введён с клавы
switch ((char)inputChar)// оператор выбора
{
case'1'://сли inputChar равно 1, условие
f1=fopen("f1.txt","a+");// Открыть файл для чтения и добавления данных.(поток)
printf("Введите название государства:");// вывод на экран
scanf("%s",lw[0].name);// ввод данных для вещественных - %s
printf("Введите стольцу государства:");// вывод на экран
scanf("%s",lw[1].capital);// ввод данных для вещественных - %s
printf("Введите форму правления:");// вывод на экран
scanf("%s",&lw[0].pp);// ввод данных для вещественных - %s
printf("Введите гос.устройство:");// вывод на экран
scanf("%s",&lw[0].gp);// ввод данных для вещественных - %s
printf("Введите количество жителей:");// вывод на экран
scanf("%d",&lw[0].fp);// ввод данных для вещественных - %s
fprintf(f1,"%s %s %s %s %d\n",lw[0].name,lw[1].capital,lw[0].pp,lw[0].gp,lw[0].fp);// Записывает в файл последовательность символов
|
fclose(f1);// Разъеденяет и закрывает файл
system ("pause");//преостанавливает систему, ожидание
getchar(); // ожидания ввода с клавиатуры
break;// завершение цикла или оператора(след. опер.)
case'2'://сли inputChar равно 2, условие
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); //условие не отрицательное значение и не конец файла
}
}
fclose(f1);// Разъеденяет и закрывает файл
system("pause");//преостанавливает систему, ожидание
getchar();// ожидания ввода с клавиатуры
break;// завершение цикла или оператора(след. опер.)
system ("pause");//преостанавливает систему, ожидание
getchar();// ожидания ввода с клавиатуры
break;// завершение цикла или оператора(след. опер.)
case'3'://сли inputChar равно 3, условие
system("@cls");// отчистка экрана
printf(lw[0].name,lw[0].capital,lw[0].pp,lw[0].gp,lw[0].fp);// выводит на экран
f1=fopen("f1.txt","r");// открытие файла для чтения
while (fgets(buf,sizeof(buf),f1)!=NULL)//возвращает символы,длину буфера не равного нулевому указателю
{
printf("%s\n",buf);// вывод данных буфера на экран
}
fclose(f1);// Разъеденяет и закрывает файл
system ("pause");//преостанавливает систему, ожидание
getchar();// ожидания ввода с клавиатуры
|
break;// завершение цикла или оператора(след. опер.)
case'4'://сли inputChar равно 4, условие
return 0;// завершение вып. функции
break;// завершение цикла или оператора(след. опер.)
default: //по умолчанию
printf("Введите корректное значение \n");
system ("pause");
getchar();// ожидания ввода с клавиатуры
break; // завершение цикла или оператора(след. опер.)
}
}
return 0;
}
Листинг файла Workingf.h
struct working {char name [30];char capital[30];char pp[30];char gp[30];int fp; };
struct working lw[1000];
Результат работы программы
Рис.1 Меню
Рис.2 Задание параметров государства
Рис.3 Поиск государства по названию
Рис.4 Содержимое файла
Рис. 5 Выход
Лабораторная работа №4