49069

Написать программу, описывающую структуру MARSH

Курсовая

Информатика, кибернетика и программирование

Ввод с клавиатуры данных в массив, состоящий из восьми элементов типа MARSH; записи должны быть упорядочены по номерам маршрутов. Вывод на экран информации о маршруте, номер которого введен с клавиатуры...

Русский

2014-01-07

375 KB

12 чел.

Министерство образования и науки Российской Федерации

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

Кафедра Информационных технологий и систем безопасности

КУРСОВАЯ РАБОТА

по дисциплине: «Языки программирования»

Выполнил: студент гр. ИБ-250

Майоров О.Н.

Проверил: Доцент кафедры ИТ и СБ

Шишкин А. Д.

Санкт-Петербург 2013

Содержание

3.Задание курсовой работы                                                                           

4. Алгоритм функции  vvod( )                                                                                                

    5. Алгоритм функции  sortirovka( )                                                                                       

6. Алгоритм функции  vivod( )                                                                                            

  1.  Алгоритм функции  poisk( )                                                                                        
  2.  Основной алгоритм программы

9. Листинг программы                                                                                                  11. Вывод результатов                                                                                                 

Задание на курсовое проектирование по дисциплине « Методы и средства программирования»

10 вариант.

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

  •  Номер маршрута,
  •  Начало маршрута,
  •  Конец маршрута.

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

  •  ввод с клавиатуры данных в массив, состоящий из восьми элементов типа MARSH; записи должны быть упорядочены по номерам маршрутов;
  •  вывод на экран информации о маршруте, номер которого введен с клавиатуры;
  •  если таких маршрутов нет, выдать на дисплей  соответствующее сообщение.

Алгоритм функции vvod( ):

Алгоритм функции sortirovka( ):

                                                         

Алгоритм функции vivod( ):

                                                    

Алгоритм функции poisk( ):

Основной алгоритм программы:

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

#include<stdio.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

#define MAX 8

typedef struct MARSH{

char nachalo[20];

char konec[20];

int nom;

}

MARSH;

int i;

MARSH temp;

MARSH s[MAX];

void vvod()

{

clrscr();

int i;

printf("vvedite dannie o 8 marshrutah \n");

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

{

printf("\n nomer marshruta ");

scanf("%d",&s[i].nom);

printf("\n nachalo marshruta ");

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

printf("\n konec marshruta ");

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

}

}

void sortirovka()

{

int i,j;

printf("informacia o marshrutah: \n");

for (i=0; i<MAX-1; i++)

for (j=i+1; j<MAX; j++)

{

if (s[i].nom>s[j].nom)

{

temp=s[i];

s[i]=s[j];

s[j]=temp;

}

 }

 }

void vivod()

{

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

printf("%d %s %s\n", s[i].nom, s[i].nachalo, s[i].konec);

}

void poisk()

{

int nom;

int m=0;

printf("\n vvedite nomer");

scanf("%d", &nom);

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

if (s[i].nom==nom)

{

printf("%d %s %s", s[i].nom, s[i].nachalo, s[i].konec);

m=1;  }

if (m==0)

printf("net takogo nomera ",s[i].nom);

}

void main(void)

{

int o;

vvod();

sortirovka();

vivod();

g1:poisk();

printf("\n  1-prodolshit' 2-vihod\n");

scanf("%d", &o);

if (o==1)

{goto g1;

}

else {goto g2;};

g2: printf("EXIT");

}

Вывод результатов:


i=0;i<max;

Конец цикла

Начало

Конец

i – индекс маршрута

Ввод номера маршрута,  начала маршрута и конца маршрута.

Ввод:

s[i].nomer

s[i].nachalo

s[i].konec

Ввод

i=0; i<max-1

j=i+1; j<max

Сортировка по номеру маршрута

s[i].nom > s[j].nom

Начало

temp=s[i]

s[i]=s[j]

s[j]=temp

конец цикла

конец цикла

вывод

Конец

 

i-индекс маршрута

ачало

 i=0;i<max

Вывод:

s[i].nom

s[i].nachalo

s[i].konec

Вывод номера рейса, название начала маршрута, назнание конца маршрута.

   Конец  цикла

Конец

Начало

Сравнить заданный номер с введенным

(S[i].nom==nom)

 i=0;i<max

Вывод:

s[i].nom,  s[i].nachalo,

s[i].konec.

     m=1

да

нет

 Конец цикла

m=0

Вывод: «нет рейса с таким номером»

Конец

да

нет

Введите номер.

Scanf (%d, &nom)

Начало

Ввод

Вывод

Поиск

Конец

Сортировка


 

А также другие работы, которые могут Вас заинтересовать

11845. Особенности правовых ограничений, накладываемых на должника в ходе исполнительного производства 664 KB
  Система органов принудительного исполнения по своему социальному назначению и месту в системе в системе органов государственной власти Российской Федерации призвана обеспечить реализацию правовых норм с помощью мер правового принуждения в действиях участников правовых отношений
11846. Поколения мобильного интернета 145 KB
  Во всех аналоговых стандартах применяются частотная модуляция для передачи речи и частотная манипуляция для передачи информации управления (или сигнализации - signaling). Для передачи информации различных каналов используются различные участки спектра частот...
11847. Логические элементы цифровых вычислительных устройств 103.5 KB
  Лабораторная работа №1 Логические элементы Теоретическое введение Известно что математической основой цифровых вычислительных устройств является двоичная арифметика в которой используются всего два числа 0 и 1. Выбор двоичной системы счисления диктовался т...
11848. Арифметические сумматоры 59 KB
  Лабораторная работа №2 Арифметические сумматоры Теоретическое введение Арифметические сумматоры являются составной частью так называемых арифметикологических устройств ЛЛУ микропроцессоров МП. Они используются также для формирования физического адреса
11849. Логический элемент с тремя состояниями 68 KB
  Лабораторная работа №3 Логический элемент с тремя состояниями Теоретическое введение. Схема логического элемента с тремя состояниями заимствована из монографии и несколько модифицирована с учетом возможностей программы ЕWB. За основу взят базовый элемент сери...
11850. Мультиплексоры и демультиплексоры и их значение 62.5 KB
  Мультиплексоры и демультиплексоры Теоретическое введение. Назначение мультиплексоров от английского multiplex многократный коммутировать в заданном порядке сигналы поступающие с нескольких входных шин на одну выходную. У мультиплек
11851. Шифраторы (кодеры) и дешифраторы 55.5 KB
  Лабораторная работа №5 Шифраторы и дешифраторы Теоретическое введение Шифраторы кодеры используются чаще всего для преобразования десятичных чисел в двоичный или двоичнодесятичный код например в микрокалькуляторах в которых нажатие десятичной клавиши со
11852. Цифровой компаратор 81.5 KB
  Лабораторная работа №6 Цифровой компаратор Теоретическое введение Цифровые компараторы от английского compare сравнивать выполняют сравнение двух чисел А В одинаковой разрядности заданных в двоичном или двоичнодесятичном коде. В зависимости от схемного исп...
11853. Устройство контроля четности 67 KB
  Лабораторная работа №7 Устройство контроля четности Теоретическая часть Операции контроля четности двоичных чисел позволяет повысить надежность передачи и обработки информации. Ее сущность заключается в суммировании по модулю 2 всех разрядов с целью выяснени