49069

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

Курсовая

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

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

Русский

2014-01-07

375 KB

15 чел.

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

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

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

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

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

Выполнил: студент гр. ИБ-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)

Начало

Ввод

Вывод

Поиск

Конец

Сортировка


 

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

20848. Підготовка верстата СТД 120м до роботи 51 KB
  Заготовки з деревини як правило мають квадратний переріз оскільки вони нарізуються з дощок на кругло пильному верстаті. Але такі заготовки небезпечні для токарної обробки оскільки виникає велике биття кутів по різцю. Із заготовки квадратного перерізу необхідно зробити заготовку восьмикутного перерізу. В цьому випадку підручник можна наблизити до заготовки на безпечну відстань – 3 мм.
20849. Деревина як конструкційний матеріал: породи деревини, властивості, вади деревини, пиломатеріали 46.5 KB
  Залежно від кількості пропиляних сторін вони бувають двохмал. 18 а тримал. 18 б і чотири кантовімал. Бруски мал.
20851. ОСНОВИ УПРАВЛІНСЬКОГО ОБЛІКУ 354.5 KB
  Концепція, зміст та об’єкти управлінського обліку. Системи обліку витрат і калькулювання собівартості. Облік і контроль за центрами відповідальності. Аналіз релевантної інформації для прийняття управлінських рішень.
20853. Прокат 148.5 KB
  Профілі прокату геометрична форма перетину прокату. Сортамент прокату сукупність профілів прокату одержуваного на прокатному стані. Профілі прокату.