49392

Описание структуры с именем NOTE

Курсовая

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

Описать структуру с именем NOTE, содержащую следующие поля: - фамилия, имя; - номер телефона; - дата рождения (массив из трех чисел); Написать программу, выполняющую следующие действия: - ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE; записи должны быть упорядочены по датам рождения; - вывод на экран информации о человеке, номер телефона которого введен с клавиатуры; - если такого нет, выдать на дисплей соответствующее сообщение.

Русский

2013-12-26

50.63 KB

122 чел.

 

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

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

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

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

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

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

Абрамов В.А.

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

Шишкин А. Д.

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

Содержание

  1.  Задание на курсовое проектирование                                                                         3
  2.  Алгоритм функции  vvod                                                                                              4
  3.  Алгоритм функции  sortirovka                                                                                      5
  4.  Алгоритм функции  vivod                                                                                             7
  5.  Алгоритм функции  poisk                                                                                             8
  6.  Алгоритм главной функции                                                                                         9
  7.  Листинг программы                                                                                                     10
  8.   Вывод результатов                                                                                                      12
  9.   Таблица переменных                                                                                                  14
  10.  Список использованной литературы                                                                         14

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

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

- фамилия, имя;

- номер телефона;

- дата рождения (массив из трех чисел);

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

- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE; записи должны быть упорядочены по датам рождения;

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

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

Содержание проекта:

  1.  Постановка задачи и метод решения.
  2.  Алгоритм модулей и главной функции.
  3.  Листинг программы.
  4.  Результаты тестирования программы.
  5.  Таблица переменных, задействованных в программе.
  6.  Список использованных источников.

Дата выдачи «____»    сентября 2012 г.

Дата сдачи «____»    декабря 2012г.

Задание выдал                                                                    доц. Шишкин А.Д.

Задание получил                                                               студент Абрамов В.А.

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

На рис. 1 представлен алгоритм функции vvod  для записи данных в структуру типа NOTE

Начало

i=0;i<3

 Ввод

BNOTE[i].NAME BNOTE[i].TELE

Ввод     

BNOTE[i],BDAY

Конец цикла

Конец

i – индекс человека

ввод имени и номера телефона

ввод дня, месяца и года

Рис. 1

На рис. 2 представлен алгоритм функции sortirovka, предназначенной для сортировки  по дате рождения

Начало

j=0; j<8-1

BNOTE[i].BDAY[0]> BNOTE[j].BDAY[0]

да

нет

индекс дней рождения

сортировка

Конец цикла

 Конец цикла

Конец

T=BNOTE[j];

BNOTE[j]= BNOTE[j+1];

BNOTE[j+1]=T;

На рис. 3 представлен алгоритм функции vivod, предназначенной для вывода данных

индекс человека

Начало

 i=0;i<8

BNOTE[i].NAME, BNOTE[i].TELE, BNOTE[i].BDAY

   Конец цикла

Конец

                                                    Рис. 3

На рис. 4 представлен алгоритм функции poisk, предназначенной для вывода на экран информации о человеке, чей номер введен с клавиатуры

Начало

strcmp(Number,BNOTE[i].TELE))

 i=0;i<8

BNOTE[i].NAME,BNOTE[i].TELE,

BNOTE[i].BDAY

     j=1

да

нет

 Конец цикла

j=0

Вывод «Нет человека, чей телефон введен»

Конец

да

нет

j– переменная счётчик

Рис. 4

На рис. 4 представлен алгоритм основной программы, которая вызывает функции vvod, vivod, sortirovka и poisk

Начало

vvod()

vivod()

poisk()

Конец

sortirovka()

Рис. 4

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

//Автор программы Абрамов В.А. ИБ-240.

#include <conio.h>

#include <stdio.h>

#include <string.h>

struct NOTE

{

char NAME[20],TELE[15],BDAY[3];

}

BNOTE[8],T;

int i,j;

char Number[15];

void vvod()

{

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

{

printf("\nImya? ");

gets(BNOTE[i].NAME);

if(strlen(BNOTE[i].NAME)==0)break;

printf("Telefon? ");

gets(BNOTE[i].TELE);

printf("Denb Pozhdeniya (YYYY MM DD)? ");

scanf("%d %d %d",& BNOTE [i]. BDAY [0],& BNOTE [i]. BDAY [1],& BNOTE [i]. BDAY [2]);

gets(Number);;

};

}

void sortirovka(){

for(j=0;j<8-1;j++)

if((long)1000*BNOTE[j].BDAY[0]+50*BNOTE[j].BDAY[1]+BNOTE[j].BDAY[2]>

(long)1000*BNOTE[j+1].BDAY[0]+50*BNOTE[j+1].BDAY[1]+BNOTE[j+1].BDAY[2])

{T=BNOTE[j];

BNOTE[j]=BNOTE[j+1];

BNOTE[j+1]=T;}

}

void vivod()

{

printf("VbIvod dannyx:");

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

{

printf("\nImya: %s \n Telefon: %s \n Denb Pozhdeniya: %u %u %u\n\n",

BNOTE[i].NAME, BNOTE[i].TELE, BNOTE[i].BDAY[0],BNOTE[i].BDAY[1],BNOTE[i].BDAY[2]);

};

}

void poisk(){

printf("\nTelefon dlya poiska? ");

gets(Number);

j=0;

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

if(!strcmp(Number,BNOTE[i].TELE))

{

printf("\nImya: %s \n Telefon: %s \n Denb Pozhdeniya: %u %u %u\n\n",

BNOTE[i].NAME, BNOTE[i].TELE,

BNOTE[i].BDAY[0],BNOTE[i].BDAY[1],BNOTE[i].BDAY[2]);j=1;

};

if(j==0)

printf("Net cheloveka, y kotorogo takoy telefon!\n\n");

}

void main(void)

{

vvod();

sortirovka();

vivod();

poisk();

getch();

}

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

Таблица переменных:

Переменные

Тип

Кол-во в байтах

name

char

15

Note

struct

448

i

int

2

j

2

T

2

Всего выделено памяти

479

Список используемой литературы:

Шишкин, А. Д. Программирование на языке СИ [Текст]: Учебное пособие – Спб.: РГГМУ, 2003. – 103 с.


 

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

13601. О будущем демократического общества не нужно узнавать по звездам, его можно прочесть в лицах избирателей В. Швебель 16.94 KB
  О будущем демократического общества не нужно узнавать по звездам его можно прочесть в лицах избирателей. В. Швебель В выбранном мною высказывании автор обращается к проблеме позиции электората в демократическом обществе. Эта проблема несомненно важна и актуальна...
13602. Государство растит людей: прекрасное – хороших, противоположное – дурных 19.45 KB
  Государство растит людей: прекрасное хороших противоположное дурных Сократ Выбранное мною высказывание затрагивает проблему связанную с пониманием того как государственный строй политическая система связаны с воспитанием нравственных гражданских качеств....
13603. Прекращение юридического лица 158 KB
  В данной работе акцентируется внимание на прекращение юридического лица, а именно её реорганизацию и ликвидацию. Если человек умирает, то после его смерти, остаются о нем только воспоминания, и его смерть ни как не причиняет имущественного вреда посторонним лицам.
13604. Политология. «Государство растит людей: прекрасное - хороших, противоположное - дурных» 18.41 KB
  Политология. Государство растит людей: прекрасное хороших противоположное дурных. Сократ Тема выбранная мною раскрывает проблему того как государственные порядки устои влияют на формирование нравственных качеств. Человечество издревле волновал вопрос
13605. Лозунг истинной демократии - не «Пусть это сделает правительство», а «Дайте нам сделать это самим» 32.5 KB
  Лозунг истинной демократии не Пусть это сделает правительство а Дайте нам сделать это самим. Д. Эйзенхауэр Выбранное мною высказывание затрагивает вопрос о сущности демократии задачах демократического правления. Данная тема крайне актуальна в современном
13606. Деспотизм не может существовать в стране до тех пор, пока не уничтожена свобода прессы, подобно тому, как ночь не может наступить, пока солнце не зашло 34 KB
  Деспотизм не может существовать в стране до тех пор пока не уничтожена свобода прессы подобно тому как ночь не может наступить пока солнце не зашло. Ч. Колтон Выбранное мною высказывание роль и значение свободы печати как гарантию сохранения демократических поря...
13607. Истинное равенство граждан состоит в том, чтобы они все одинаково были подчинены законам 13.62 KB
  Истинное равенство граждан состоит в том чтобы они все одинаково были подчинены законам. Ж. Даламбер Выбранное мною высказывание связано с пониманием сущности и значимости равенства граждан перед законом. Данный вопрос представляется мне чрезвычайно значимым и акт...
13608. Лозунг демократии – не «Пусть это сделает государство», а «Дайте нам сделать это самим» 18.07 KB
  Лозунг демократии не Пусть это сделает государство а Дайте нам сделать это самим. Д. Эйзенххауэр Выбранное мною высказывание посвящено роли народа при демократическом режиме проблема политической деятельности и активности принятой в обществе и ее соотнесен...
13609. Швебель В. О будущем демократического общества не нужно узнавать по звездам, его можно прочесть на лицах избирателей 35.5 KB
  О будущем демократического общества не нужно узнавать по звездам его можно прочесть на лицах избирателей. В. Швебель Выбранное мною высказывание связано с проблемой роли избирателей в демократическом обществе. Данная тема крайне актуальна в современном мире а особ...