49392

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

Курсовая

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

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

Русский

2013-12-26

50.63 KB

146 чел.

 

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

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

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

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

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

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


 

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

41279. Сетевые модели (N-схемы). Основные соотношения. Возможные приложения N-схем 176.5 KB
  Сетевые модели Nсхемы. Сетевые модели Nсхемы Основные соотношения Для формального описания структуры и взаимодействия параллельных систем и процессов а также анализа причинноследственных связей в сложных системах используются сети Петри англ. Граф Nсхемы имеет два типа узлов: позиции и переходы изображаемые 0 и 1 соответственно. Граф Nсхемы является мультиграфом так как он допускает существование кратных дуг от одной вершины к другой.
41281. ФОРМАЛИЗАЦИЯ И АЛГОРИТМИЗАЦИЯ ПРОЦЕССОВ ФУНКЦИОНИРОВАНИЯ СИСТЕМ 163 KB
  Методика разработки и машинной реализации моделей систем Сущность машинного моделирования системы состоит в проведении на вычислительной машине эксперимента с моделью которая представляет собой некоторый программный комплекс описывающий формально и или алгоритмически поведение элементов системы в процессе ее функционирования т. Требования пользователя к модели Основные требования предъявляемые к модели процесса функционирования системы: 1. Полнота модели должна предоставлять пользователю возможность получения необходимого набора оценок...
41283. ОСНОВЫ АЛГЕБРЫ ЛОГИКИ 56.5 KB
  Алгебра логики или алгебра высказываний разработана Джорджем Булем в 1854 г. Отсюда второе название "Булева алгебра". Логическая функция – закон соответствия между логическими переменными (функция дискретная). Логическая переменная либо есть, либо ее нет. Логическая функция может иметь произвольное число логических переменных. Область определения насчитывает значений, где n – количество переменных.
41284. Політичне і соціально-економічне становище українських земель у складі Австро-Угорщини 48.5 KB
  У Галичині тривав початий ще значно раніше процес полонізації на Закарпатті мадяризації на Буковині румунізації. Перші дві парові машини в Галичині зявилися лише в 1843 р. Велике феодальне землеволодіння було домінуючим на Закарпатті та в Галичині. Кількість сільської буржуазії становила 11 в Галичині та 8 на Буковині.
41285. Політичне і соціально-економічне становище українських земель у складі Російської імперії 85 KB
  в Україні сталося 104 масових антиурядових виступи кріпаків. Найзначнішими на Правобережній Україні були виступи селян у 24 селах і містечках Черкаського повіту на Київщині в 1803 р. Однак це не зупинило антикріпосницький рух в Україні. Особливо широкого розмаху він набрав на Правобережній Україні у звязку з проведенням інвентарної реформи 18471848 рр.
41286. Суспільно-політичний розвиток західноукраїнських земель 16.42 KB
  Вона маніфестувала нескореність духу українського народу що мало неабияке значення у справі пробудження національної самосвідомості мас. Яхимовичем взяла на себе роль представника інтересів українського населення Галичини перед центральним урядом і виконувала її протягом 18481851 рр. Руські ради стали організаторами боротьби українського населення за відокремлення Східної Галичини заселеної переважно українцями від західної польської та надання їй національнотериторіальної автономії за запровадження навчання в усіх освітніх закладах...
41287. Три поділи Польщі 47 KB
  Відтоді почався австрійський період історії Львова та краю тривав він до 1 листопада 1918 року. Відкрите втручання Росії в польські справи підтримка православних дисидентів спонукали шляхту утворити 29 лютого 1768 року в містечку Бар на Поділлі нову конфедерацію що спиралася на підтримку Австрії та Франції. Протягом липнясерпня 1768 року було розгромлено більшість гайдамацьких загонів. Але попри значну міжнародну підтримку 1772 року головні сили шляхти було розбито російськими військами під командуванням Суворова.