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)

Начало

Ввод

Вывод

Поиск

Конец

Сортировка


 

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

34613. Америка в XVIII веке: Просвещение, иммиграция, предпосылки Войны за независимость 16.84 KB
  Основным проводником просветительских идей в колониальной Америке XVIII в. в Америке возникают университеты. Предпосылки войны за независимость Война североамериканских колоний за независимость 1775 1783 явилась закономерным результатом тех сложных процессов которые происходили как в Америке так и в самой Англии. когда английский главнокомандующий в Америке генерал Гейдж распорядился захватить склад оружия устроенный патриотами недалеко от Бостона и арестовать лидеров заговорщиков.
34614. Война за независимость 24.47 KB
  Ход войны 17 апреля 1775 года произошло первое вооруженное столкновение между британскими войсками и американскими сепаратистами. Британские войска заперлись в Бостоне. Однако британские войска отразили вторжение. Британские войска перешли в наступление.
34615. Образование Демократической и Республиканской партий в США 21.76 KB
  Республиканская политическая партия является более консервативной чем демократическая не имеет постоянного членства 23 избирателей США считают себя республиканцами. После победы северян и их лидера Авраама Линкольна в классовой борьбе республиканцы почти 40 лет непрерывно правили США. Люди из команды Рональда Рейгана правили США до 2009года.
34616. Реформистское движение при президентах Т. Рузвельте и В. Вильсоне. Американский империализм 18.72 KB
  В своей политике Рузвельт исходил из необходимости увеличения роли государства считая что огромной власти корпораций необходимо противопоставить еще большую власть правительства. Реформаторская деятельность Рузвельта была начата шумной кампанией против злоупотреблений трестов. За ним пришла очередь судебных процессов против треста скотобоен Чикаго табачного и сахарного трестов и других крупных монополистических объединений. Рузвельт добился ускорения судопроизводства по делам о нарушении антитрестовского законодательства и открытие дел...
34617. Ревущие двадцатые 19.76 KB
  Экономика: фермеры и горнорудная промышленность переживали трудные времена после войны но экономика США быстро перестроилась на мирное производство Америка стала самой богатой страной мира промышленность обеспечивала массовое производство общество привыкло к потребительству солдаты после войны получили жалованье за службу прекращение заказов поначалу вызвало в экономике депрессию но по мере возвращения демобилизованных солдат в мирную жизнь она прекратилась предложение превышало спрос низкие цены на товары стимуляция продаж...
34618. «Новый курс» Ф.Рузвельта 18.18 KB
  В принятом Чрезвычайном законе о банках предусматривалось возобновление функций и получение правительственных кредитов займов из федеральной резервной системы хотя это разрешалось только наиболее крупным банкам. был принят один из двух наиболее важных законов закон о восстановлении национальной промышленности НИРА. Закон о восстановлении промышленности вводил систему государственного регулирования этого подразделения экономики. Во втором и третьем разделах закона...
34619. Историко-литературная концепция Белинского и ее эволюция 32.5 KB
  Вся литература до Пушкина – пересаженное иноземное растение. В слово натуральная он вкладывал понятие литература для народа а так же литература философствующая. Он понимал что есть литература как зеркало общества Гоголь НШ и литература как зеркало человека бытийственность.
34620. Мастерство полемического стиля Белинского 23 KB
  Приемы полемики: каждая статья носит прямой или скрытый полемический характер. прием интеллектуальной бури. прием иронической ремарки независимо от того о ком он пишет. прием притворного простодушия.
34621. Историко-литературная концепция Белинского и ее эволюция 45.5 KB
  Вся литература до Пушкина – пересаженное иноземное растение. Сочинения Пушкина периоды: Ломоносовский карамзинский державинский пушкинский. Русская литра развивалась по двум направлениям которые слились в творчестве Пушкина. НШ как понимал ее Белинский никак не связана с творчеством Пушкина.