Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6 Курсач.doc
Скачиваний:
7
Добавлен:
09.09.2019
Размер:
81.92 Кб
Скачать

Входные данные

List 1:

Петров_Н.К. 6 220 Санкт-Петербург 12.50 есть нет

Березина_С.Т. 5 200 Мурманск 16.30 нет нет

Красавина_Е.И. 3 185 Киев 14.27 есть нет

Кириенко_К.В. 7 278 Саратов 15.40 есть есть

Самсонов_К.М. 5 200 Владимир 13.40 нет есть

Морозенко_Р.П. 4 190 Ростов 19.50 нет нет

Кузнецов_Г.Д. 7 270 Ворнеж 20.40 есть нет

Голубев_Н.В 3 9 250 Иваново 20.08 нет нет

Виноградова_С.М. 1 90 Иркутск 12.30 есть нет

Богданов_В.И. 2 135 Тула 05.30 нет есть

List 2:

Воробьев_Н.Д. 3 145 Калуга 09.48 нет нет

Федорова_С.Р. 4 170 Смоленск 10.45 есть нет

Михайлов_М.И. 5 167 Белгоград 07.26 нет есть

Беляев_П.Р. 1 89 Ставрополь 08.40 есть есть

Тарасова_И.Т. 2 78 Липецк 13.50 нет есть

Белов_П.Н. 4 146 Ярославль 15.40 есть нет

Комарова_Н.Р. 6 127 Брянск 17.35 нет нет

Орлова_П.Л. 5 176 Тамбов 18.35 есть есть

Киселев_Н.В. 8 198 Рязань 17.29 нет есть

Макаров_Г.Д. 9 200 Омск 19.40 есть есть

List 3:

Андреев_П.Д. 3 156 Краснодар 17.38 есть нет

Марков_Р.Т. 4 163 Москва 21.48 нет нет

Большаков_В.С. 5 153 Архангельск 22.58 есть есть

Суханова_М.Т. 2 143 Екатеринбург 17.36 нет есть

Миронов_В.Г. 6 148 Самара 14.38 есть нет

Александров_С.М. 9 207 Уфа 22.44 нет нет

Коновалов_Г.Р. 10 237 Волгоград 23.56 есть есть

Шестаков_Г.Л. 7 145 Казань 14.48 нет есть

Казаков_К.Т. 6 164 Владивосток 23.45 нет нет

Ефимов_Л.Г. 5 193 Казань 14.37 есть есть

Текст программы

#include<stdio.h>

#include<string.h>

int main(int argc, char*argv[])

{

FILE *f,*g;

struct

{ char name[30];

int numberofthings;

float weightofthing;

char destination[30];

float time;

char transplantation[10];

char children[10];

} s;

int l,i,j=0,k=0; int p;

if((f=fopen(argv[1],"r"))==NULL)

printf("Can't open input file\n");

if((g=fopen("out.dat","w+"))==NULL)

printf("Can't open output file\n");

l=sizeof(s); // printf("\nl=%d\n",l);

printf(" Список всех пассажиров \n");

printf("______________________________________________________________________________________________________________\n");

printf("| Имя инициалы | Кол-во вещей | Вес вещей | Пункт наз-ия |Время вылета|Наличие пересадки |Наличие детей|\n");

printf("|_______________|_______________|_______________|_______________|____________|__________________|_____________|\n");

while (!feof(f))

{

fscanf(f,"%s", s.name);

fscanf(f,"%d", &s.numberofthings);

fscanf(f,"%f", &s.weightofthing);

fscanf(f,"%s", s.destination);

fscanf(f,"%f", &s.time);

fscanf(f,"%s", s.transplantation);

fscanf(f,"%s", s.children);

if(feof(f)) break;

printf("|%-15s\t",s.name);

printf("|\t %d \t",s.numberofthings);

printf("| %.1f кг \t",s.weightofthing);

printf("|%-15s \t",s.destination);

printf("| %.2f\t ",s.time);

printf("| %-5s\t",s.transplantation);

printf("| %-6s\t |\n",s.children);

printf("|_______________|_______________|_______________|_______________|____________|__________________|_____________|\n");

fwrite(&s,l,1,g);

k++;

}

printf("k=%d\n",k);

rewind(g);

printf("Введите значение p:\n");

scanf("%d",&p);

printf("\n Список пассажиров, которые имеют больше,чем %d вещей\n",p);

printf("______________________________________________________________________________________________________________\n");

printf("| Имя инициалы | Кол-во вещей | Вес вещей | Пункт наз-ия |Время вылета|Наличие пересадки |Наличие детей|\n");

printf("|_______________|_______________|_______________|_______________|____________|__________________|_____________|\n");

for(i=0; i<k; i++)

{

fread(&s,l,1,g);

//printf("%s",s.name); printf("%d",s.numberofthings);

if(s.numberofthings > p)

{

printf("|%-15s\t",s.name);

printf("|\t %d \t",s.numberofthings);

printf("| %.1f кг \t",s.weightofthing);

printf("|%-15s \t",s.destination);

printf("| %.2f\t ",s.time);

printf("| %-5s\t",s.transplantation);

printf("| %-6s\t |\n",s.children);

printf("|_______________|_______________|_______________|_______________|____________|__________________|_____________|\n");

}

}

if(i==0){

printf("Нет пассажиров, которые имеют больше %d вещей\n",p);}

fclose(f);

fclose(g);

}