49392

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

Курсовая

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

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

Русский

2013-12-26

50.63 KB

151 чел.

 

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

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

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

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

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

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


 

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

35348. Тема: Сортування і групування даних Мета: навчитися розділяти одержані дані на групи так щоб їх легко бул 53 KB
  EMP_ID LST NM FIRST NM DDRESS CITY STTE ZIP PHONE 311549902 442346889 213764555 313782439 220984332 443679012 STEPHENS PLEW GLSS GLSS WLLCE SPURGEON TIN LIND BRNDON JCOB MRIH TIFFNY D RR 3 BOX 17 С 3301 BECON S 1710 MIN ST 3789 RIVER BLVD 7789 KEYSTONE 5 GEORGE COURT GREENWOOD INDINPOLIS WHITELND INDINPOLIS INDINPOLIS INDINPOLIS IN IN IN IN IN IN 47890 46224 47885 45734 46741 46234 3178784465 3172978990 3178984321 3175457676 3173325986 3175679007 Запишіть оператора SQL що повертає табельний номер службовця EMP_ID ім'я службовця...
35350. Организация видеосвязи. Видеоконференцсвязь 1.56 MB
  Видеоконференцсвязь применяется для личного и делового общения, проведения совещаний, конференций и других важных мероприятий, в которых важно присутствие тех субъектов общения, которые по тем или иным причинам не могут находиться в месте проведения мероприятия лично.
35351. Организация аудио связи по локальной сети между рабочими станциями в дуплексном режиме 584.5 KB
  Аудиоконференцсвязь — область информационной технологии, обеспечивающая одновременно двустороннюю передачу, обработку, преобразование и представление аудиоинформации на расстояние в режиме реального времени с помощью аппаратно-программных средств вычислительной техники.
35352. Манипуляционные роботы 778 KB
  История механики богата примерами, которые свидетельствуют о постоянном стремлении человека создать механизмы и устройства, подобные живым существам. Это стремление обусловлено многими причинами...
35353. Создание серверной и клиентской частей системы проведения аудиоконференций с возможностью работы в локальной или глобальной сети 890.5 KB
  Серверная часть должна обеспечивать эффективную работу с клиентами в условиях одновременного подключения нескольких пользователей, а так же обладать дружественным интерфейсом и отвечать следующим основным требованиям...
35354. Управління теками, файлами і ярликами 310 KB
  9 створити в теці Петренко ярлик антивірусної програми для перевірки дискети і запустити її на виконання 10 додати в меню Пуск пункт для запуску антивірусної програми; 1 перетянуть ярлык в главное меню; 2 Правой кнопкой мыши вызвать контекстное меню выбрать там закрепить в меню Пуск. Як створити теку на робочому столі Як створити теку в теці Як скопіювати зміст теки розміщеної на диску D: на робочий стіл' Як виділити групу суміжних об'єктів Як виділити групу несуміжних об'єктів Як виділити всі об'єкти...
35355. Управління папками, файлами і ярликами 109.5 KB
  Індивідуальне завдання Для того щоб освоїти прийоми роботи з теками і файлами необхідно виконати наступне: 1 відкрити вікно папки диска D: і створити в ній скажімо папку Petrenko букви латинські; открываем иконку с названием мой компьютер в окне находим иконку диска С: и отрываем ее в окне диска С: создаем новую папку даем ей имя латинскими буквами Petrenko 2 перейменувати папку Petrenko в папку Петренко букви кирилиці; Левой клавишей мыши выделяем папку под названием Petrenko и выбираем из предоставленного списка...