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

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЛЕСА

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

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

по программированию на языке высшего уровня С

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

Выполнил студент: Суковатова Л.Н.

ВТ-11

Проверил: Ларионов Н.В.

Москва 2012 г.

1. Условия задачи:

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

• название начального пункта маршрута;

• название конечного пункта маршрута;

• номер маршрута.

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

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

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

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

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

2. Данные: входящие: num, start,stop,res

рабочие:

выходящие: num, start,stop

3. Листинг программы:

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#define N 8

struct MARSH

{

int num;

char start[50];

char stop[50];

};

void print_marsh(int index);

void input_marsh(int index);

void sort_marsh(struct MARSH marsh[]);

struct MARSH marshruty[8];

int main()

{

int i,res;

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

input_marsh(i);

sort_marsh(marshruty);

printf("======================\n");

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

{

print_marsh(i);

printf("================\n");

}

do

{

scanf("%d",&res);

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

{

if (marshruty[i].num == res)

{

printf("================\n");

print_marsh(i);

printf("================\n");

break;

}

else if(i == N - 1)

{

printf("Takogo marshruta net\n");

break;

}

}

}while(res != 999);

getch();

return 0;

}

void print_marsh(int index)

{

printf("Nomer marshruta: %d\n",marshruty[index].num);

printf("Nazvanie nachalnogo marshruta: %s\n",marshruty[index].start);

printf("Nazvanie konechnogo marshruta: %s\n",marshruty[index].stop);

}

void input_marsh(int index)

{

printf("Vvedite nomer marshruta: ");

scanf("%d",&marshruty[index].num);

printf("Vvedite nazvanie nachlnogo marshruta: ");

scanf("%s",&marshruty[index].start);

printf("Vvedite nazvanie konechnogo marshryta: ");

scanf("%s",&marshruty[index].stop);

}

void sort_marsh(struct MARSH marsh[])

{

int i,j;

struct MARSH temp;

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

for(j = N - 1;j > i;j--)

if (marsh[j - 1].num > marsh[j].num)

{

temp = marsh[j-1];

marsh[j-1] = marsh[j];

marsh[j] = temp;

}

}

Соседние файлы в папке Суковатова