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

Московский государственный университет леса

Факультет электроники и системотехники

Лабораторная работа №9

Тема: Структуры

Выполнил: Смирнов С.А.

Группа: ВТ-12

Москва 2012

Задание

1. Описать структуру с именем TRAIN, содержащую следующие поля:

• название пункта назначения;

• номер поезда;

• время отправления.

2. Написать программу, выполняющую следующие действия:

• ввод с клавиатуры данных в массив, состоящий из восьми элементов типа

TRAIN; записи должны быть упорядочены по номерам поездов;

• вывод на экран информации о поезде, номер которого введен с клавиатуры;

• если таких поездов нет, выдать на дисплей соответствующее сообщение.

#include <stdio.h>

#include <math.h>

#include <windows.h>

#include <string.h>

struct TRAIN{

char NAZN[20];

unsigned NUMR;

char TIME[6];

} RASP[8],T;

main()

{

int i, j, k=0;

unsigned Num;

char Name[20];

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

{

printf("\nName of the place? ");

scanf("%s", &RASP[i].NAZN);

if(strlen(RASP [i].NAZN)==0)

break;

printf("Train number? ");

scanf("%u",&RASP[i].NUMR);

printf("Departure time? ");

scanf("%s",&RASP[i].TIME);

k++;

}

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

for(j=0; j<k-i-1; j++)

if(RASP[i].NAZN < RASP[j].NAZN)

{

T= RASP[j];

RASP[j] = RASP[j+1];

RASP[j+1]=T;

}

printf("\nTrains:\n");

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

printf("%-19s - #%3u - %7s\n",RASP[i].NAZN,RASP[i].NUMR,RASP[i].TIME);

while(1)

{

printf("\nTrain number for seach (0 for exit)? ");

scanf("%u",&Num);

j=0;

if(!Num)

break;

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

if(Num==RASP[i].NUMR)

{

printf("\nName of the place: %s \nTrain number: %u \nDeparture time: %s\n\n",

RASP[i].NAZN,RASP[i].NUMR,RASP[i].TIME);

j=1;

}

if(!j)

printf("No such train!\n");

getchar();}

}

Соседние файлы в папке Смирнов