49392

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

Курсовая

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

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

Русский

2013-12-26

50.63 KB

111 чел.

 

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

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

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

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

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

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


 

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

67098. Свято до дня Валентина «Карнавал квітів» 1.97 MB
  Oh, endless sky, full of light and stars at night Bless our hearts and make them bright We ask for love, on lap we praise Get down here, with all your grace. З'являється "Her Majesty, Love". (господарка свята) - Joy, happiness, beauty I'll send to your hearts I'll make you be sweethearts
67099. Гори Карпати 175.5 KB
  Мета: продовжувати формувати уявлення про природу України поняття гори; сформувати поняття Карпатські гори; формувати навички роботи з картами схемами зошитом підручником; розвивати пізнавальний інтерес спостережливість творчі навички; виховувати любов та дбайливе ставлення до природи патріотичні та естетичні почуття.
67100. Україна на карті. Найбільші міста України 166 KB
  Загальнопізнавальні цілі: продовжити формувати уявлення учнів про географічне розміщення України її кордони сусідство з іншими країнами; ознайомити з історико етнографічними регіонами та найбільшими містами України. Фізична карта України Розуміння знає розташування України знаходить її столицю на карті...
67103. Загальношкільний захід учнів 1-4 класів, присвячений Дню Збройних Сил України 57 KB
  А першими захисниками нашої неньки України були козаки. Демонструйте свою спритність Розум а ще вроду Щоб гриміло: разом Козацькому роду нема переводу Козаки Сини Твоєї Батьківщини В них сила духу непоборна Козацтво слава України Це гордість наша всенародна Зустрічайте наших учасників звучить марш...
67104. НАЩАДКИ КОЗАЦЬКОЇ СЛАВИ 843 KB
  Державний та козацький прапори дозволяється внести учням 4-а класу Онищіку Михайлу; бронзовому призеру Донецької обл. по военно-спортивному многоборью.та учню 4-б класу Гладкову Дані; бронзовому призеру чемпіону Європи "Боевое многоборье"
67105. Труднощі навчання в школі, конфліктні ситуації з учителем, труднощі під час письма 40.5 KB
  Мета: формувати уявлення дітей про труднощі навчання в школі, конфлікти з учителем, труднощі, які виникають під час засвоєння навиків письма; розвивати уміння аналізувати ситуацію, робити висновки; виховувати почуття доброти, співпереживання, милосердя...
67106. Напевно диво-казка тут живе 1.03 MB
  Ключові компетентності (загальнопізнавальні цілі): розширити уявлення учнів про казку; вчити учнів слухати, читати, аналізувати зміст казок, глибоко відчувати казку, її добрих героїв, засуджувати жадібність, хитрість, жорстокість, зло, боротися з ними у повсякденному житті; знайомити учнів із казками, створеними однолітками...