Листинг программных модулей




Листинг файла 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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-11-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: