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




Листинг файла main.c

#include <stdlib.h>//Подключение библиотеки ввода-вывода

#include <stdio.h>//Подключение библиотеки ввода-вывода

#include <locale.h>//Подключение библиотеки ввода-вывода

struct work// структура

{

char name [30];// массив

char capital[30];//массив

char pp[30];//массив

char gp[30];//массив

int fp; //ввод переменной

};

struct work w1[5];//структура массива(набор из 5-ти элементов устр. как объявлено в типе стр.work)

int main() // главная функция программы

{

int i=0;//ввод переменной

char *m[i][1];//указатель на двумерный массив

struct work *pm[5];// структура с указателем на массив

pm[0]=&w1[0].name;// присвоение порядковому номеру ссылки на данные

pm[1]=&w1[0].capital;// присвоение порядковому номеру ссылки на данные

pm[2]=&w1[0].pp;// присвоение порядковому номеру ссылки на данные

pm[3]=&w1[0].gp;// присвоение порядковому номеру ссылки на данные

pm[4]=&w1[0].fp;// присвоение порядковому номеру ссылки на данные

setlocale(LC_ALL, "RUS");//подключение русского языка

char name[100];//массив

int a,b;// ввод переменных

char buf [100]; // буфер

int inputChar=1;//цикл с предупреждением

FILE*f1;// файл

while (1==1)// условие-1 -всегда еденица=всегда верно-, бесконечный цикл

{

system ("@cls");// отчистка экрана

printf("Меню:\n");// вывод на экран

printf("1.Записать страну (массив структур) (1)\n2.Записать страну (массив указателей) (2)\n3.Заполнение массива из блакнота и вывод его на экран. (3)\n4.Просмотреть список стран(4)\n5.Выход из программы(5)\n");

inputChar=getchar();// присвоения значения inputChar символа который будет введён с клавы

switch ((char)inputChar)// оператор выбора

{

case'1'://сли inputChar равно 1, условие

{

system ("@cls");// отчистка экрана

f1=fopen("f1.txt","a+");// Открыть файл для чтения и добавления данных.(поток)

printf("Введите название государства:");// вывод на экран

scanf("%s",w1[0].name);// ввод данных для вещественных - %s

printf("Введите стольцу государства:");// вывод на экран

scanf("%s",w1[0].capital);// ввод данных для вещественных - %s

printf("Введите форму правления:");// вывод на экран

scanf("%s",&w1[0].pp);// ввод данных для вещественных - %s

printf("Введите гос.устройство:");// вывод на экран

scanf("%s",&w1[0].gp);// ввод данных для вещественных - %s

printf("Введите количество жителей:");// вывод на экран

scanf("%d",&w1[0].fp);// ввод данных для вещественных - %d

printf("Название:%s Столица:%s Форма правления:%s гос.устройство:%s Кол-во жителей:%d\n",w1[0].name,w1[0].capital,w1[0].pp,w1[0].gp,w1[0].fp);// вывод на экран

fprintf(f1,"Название:%s Столица:%s Форма правления:%s гос.устройство:%s Кол-во жителей:%d\n",w1[0].name,w1[0].capital,w1[0].pp,w1[0].gp,w1[0].fp);// Записывает в файл последовательность символов

fclose(f1);// Разъеденяет и закрывает файл

}

system ("pause");//преостанавливает систему, ожидание

getchar(); // ожидания ввода с клавиатуры

break;// завершение цикла или оператора(след. опер.)

case'2'://сли inputChar равно 2, условие

printf("\nСколько Государств создать? ");// вывод на экран

scanf("%d",&a);// ввод данных для вещественных - %d

for (b=0;b<a;b++)//цикл с условием

{

system ("@cls");// отчистка экрана

printf("Введите название государства:");// вывод на экран

scanf("%s",pm[0]->name);//обращение к члену структуры

printf("Введите стольцу государства:");// вывод на экран

scanf("%s",pm[1]->capital);//обращение к члену структуры

printf("Введите форму правления:");// вывод на экран

scanf("%s",&pm[2]->pp);//обращение к члену структуры

printf("Введите гос.устройство:");// вывод на экран

scanf("%s",&pm[3]->gp);//обращение к члену структуры

printf("Введите количество жителей:");// вывод на экран

scanf("%d",&pm[4]->fp);//обращение к члену структуры

printf("Название:%s Столица:%s Форма правления:%s гос.устройство:%s Кол-во жителей:%d \n",pm[0]->name,pm[1]->capital,pm[2]->pp,pm[3]->gp,pm[4]->fp);// вывод на экран

f1=fopen("f1.txt","a+");// Открыть файл для чтения и добавления данных.(поток)

fprintf(f1,"Название:%s Столица:%s Форма правления:%s гос.устройство:%s Кол-во жителей:%d \n",pm[0]->name,pm[1]->capital,pm[2]->pp,pm[3]->gp,pm[4]->fp);// Записывает в файл последовательность символов

fclose(f1);// Разъеденяет и закрывает файл

}

system ("pause");//преостанавливает систему, ожидание

getchar(); // ожидания ввода с клавиатуры

break;// завершение цикла или оператора(след. опер.)

case'3'://сли inputChar равно 3, условие

system("@cls");// отчистка экрана

f1=fopen("f1.txt","r");// открытие файла для чтения

while (fgets(buf,sizeof(buf),f1)!=NULL)//возвращает символы,длину буфера не равного нулевому указателю

{

m[i][1]=buf;// двумерному массиву присваевается буфер

printf("%s\t",m[i][1]);// вывод на экран массива (горизонт.табуляц.)

}

fclose(f1);// Разъеденяет и закрывает файл

system ("pause");//преостанавливает систему, ожидание

getchar();// ожидания ввода с клавиатуры

break;// завершение цикла или оператора(след. опер.)

case'4'://сли inputChar равно 4, условие

system("@cls");// отчистка экрана

f1=fopen("f1.txt","r");// открытие файла для чтения

while (fgets(buf,sizeof(buf),f1)!=NULL)//возвращает символы,длину буфера не равного нулевому указателю

{

printf("%s\t",buf);// вывод на экран буфера (горизонт.табуляц.)

}

fclose(f1);// Разъеденяет и закрывает файл

system ("pause");//преостанавливает систему, ожидание

getchar();// ожидания ввода с клавиатуры

break;// завершение цикла или оператора(след. опер.)

sustem("pause");//преостанавливает систему, ожидание

case'5'://сли inputChar равно 5, условие

return 0;// завершение вып. функции

default: //по умолчанию

printf("Введите корректное значение \n");

system ("pause");//преостанавливает систему, ожидание

getchar();// ожидания ввода с клавиатуры

break;// завершение цикла или оператора(след. опер.)

}

}

return 0;

}

 

 



Поделиться:




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

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


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