Расписание трансляции художественных фильмов на месяц




МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

 

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ

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

 

Факультет автоматизированных и информационных систем

 

Кафедра «Информационные технологии»

 

 

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 3

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

 

 

на тему: «СТРУКТУРЫ»

 

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

Жаворонков Д.В.

Принял: Лозовская Е.В.

 

Дата сдачи отчета: _____________________

Дата допуска к защите: ­_____________________

Дата защиты: _____________________

 

Гомель 2012

 

Лабораторная работа №3

СТРУКТУРЫ

 

Цель работы:

Изучить тип данных «структуры» типовые алгоритмы обработки структур.

 

Задача

ВАРИАНТ 4

Расписание трансляции художественных фильмов на месяц

Атрибуты:

  1. УДК кассеты
  2. Название фильма
  3. Жанр (комедия, триллер и т.д..)
  4. Производитель
  5. Год выпуска
  6. Дата проката
  7. Время проката

Основные функции:

  • Удалить все записи о фильмах с заданным годом выпуска
  • Для заданного фильма заменить УДК кассеты
  • Вывести все сведения о фильмах заданного производителя.

Таблица соответствия переменных

Имя переменной Имя на С Тип Комментарий
K K int Номер фильма
p P Int Параметр цикла
Y Y int Номер года
T T Int Параметр цикла
J J int Параметр цикла
g G int Номер удаленного фильма
i I char Параметр меню
Vat Vat char Имя автора
film film char Имя фильма
ИДК f.udk Int Идк фильма
Имя f.nm Char Имя фильма
Жанр f.zhnr Char Жанр фильма
Автор f.avt Char Автор фильма
Год f.age Int Год выпуска
Дата f.date Int Дата выхода
Время f.time Int Время выхода

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

/*выполнил Жаворонков Д.*/

#include <stdio.h>

#include <conio.h>

#include <windows.h>

#include <math.h>

#include <string.h>

char bufRus[256];

char* Rus(const char*text)

{

CharToOem(text, bufRus);

return bufRus;

}

main()

{

int k=0,p,y,t,j,g;

char i='0';

char vat[20],film[20];

struct FILM

{

int udk;

char nm[50];

char zhnr[10];

char avt [20];

int age;

int date;

int time;

};

struct FILM f[10];

while(i!=7)

{

puts(Rus("ВЫПОЛНИЛ ЖАВОРОНКОВ ДМИТРИЙ"));

puts(Rus("1 добавить запись"));

puts(Rus("2 вывод записей"));

puts(Rus("3 удалить все записи данного года"));

puts(Rus("4 для фильма изменить ИДК"));

puts(Rus("5 все фильмы данного автора"));

puts(Rus("6 удалить по номеру"));

puts(Rus("7 Выход"));

i=getchar();

system("cls");

switch(i)

{

case '1':

{

k=k+1;

puts(Rus("Введите ИДК фильма"));

scanf("%d",&f[k].udk);

fflush(stdin);

puts(Rus("Введите имя фильма"));

gets(f[k].nm);

fflush(stdin);

puts(Rus("Введите жанр фильма"));

gets(f[k].zhnr);

fflush(stdin);

puts(Rus("Введите автора фильма"));

gets(f[k].avt);

fflush(stdin);

puts(Rus("Введите год выпуска фильма"));

scanf("%d",&f[k].age);

fflush(stdin);

puts(Rus("Введите дату показа фильма"));

scanf("%d",&f[k].date);

fflush(stdin);

puts(Rus("Введите время проката фильма"));

scanf("%d",&f[k].time);

system("cls");

i=getchar();

}

break;

case '2':

{

if(k==0)puts(Rus("список пуст "));

else

{

puts("===================================================================\n");

puts(Rus("| № | ИДК | Имя | Жанр | Автор | год | дата | время |\n "));

for(p=1;p<=k;p++)

{

printf(Rus("|%3d|%5d|%9s|%8s|%9s|%7d|%8d|%9d|\n"),p,f[p].udk,f[p].nm,f[p].zhnr,f[p].avt,f[p].age,f[p].date,f[p].time);

}

puts("===================================================================\n");

}

i=getchar();

}

break;

case '3':

{

if(k==0)puts(Rus("список пуст "));

else

{

puts(Rus("введите год"));

scanf("%d",&y);

for(j=0;j<=3;j++)

{

for(p=1;p<=k;p++)

{

if(f[p].age==y)

{

printf("N=%d\n",p);

for(t=p;t<k;t++)

{

f[t].udk=f[t+1].udk;

f[t].age=f[t+1].age;

f[t].date=f[t+1].date;

f[t].time=f[t+1].time;

strcpy(f[t].nm,f[t+1].nm);

strcpy(f[t].zhnr,f[t+1].zhnr);

strcpy(f[t].avt,f[t+1].avt);

}

k=k-1;

}

}

}

}

system("cls");

i=getchar();

}

break;

case '4':

{

if(k==0)puts(Rus("список пуст "));

else

{

fflush(stdin);

puts(Rus("введите фильм"));

gets(film);

for(p=1;p<=k;p++)

{

if(strcmp(f[p].nm,film)==0)

{

fflush(stdin);

puts(Rus("введите ИДК фильма"));

scanf("%d",&f[p].udk);

}

}

}

system("cls");

i=getchar();

}

break;

case '5':

{

if(k==0)puts(Rus("список пуст "));

else

{

fflush(stdin);

puts(Rus("введите автора"));

gets(vat);

puts(vat);

for(p=1;p<=k;p++)

{

if(strcmp(f[p].avt,vat)==0)

{

puts("===================================================================\n");

puts(Rus("| № | ИДК | Имя | Жанр | Автор | год | дата | время |\n "));

printf(Rus("|%3d|%5d|%9s|%8s|%9s|%7d|%8d|%9d|\n"),p,f[p].udk,f[p].nm,f[p].zhnr,f[p].avt,f[p].age,f[p].date,f[p].time);

puts("===================================================================\n");

}

}

}

i=getchar();

system("cls");

}

break;

case '6':

{

if(k==0)puts(Rus("список пуст "));

else

{

puts(Rus("введите номер"));

scanf("%d",&g);

if(g==k)k=k-1;

if(g<k)

{

for(t=g;t<k;t++)

{

f[t].udk=f[t+1].udk;

f[t].age=f[t+1].age;

f[t].date=f[t+1].date;

f[t].time=f[t+1].time;

strcpy(f[t].nm,f[t+1].nm);

strcpy(f[t].zhnr,f[t+1].zhnr);

strcpy(f[t].avt,f[t+1].avt);

}

k=k-1;

}

}

system("cls");

i=getchar();

}

break;

case '7':i=7;

default:puts(Rus("ошибка"));printf("%c",i);

puts("FFUUuuuu..");

}

}

fflush(stdin);return(0);

}


Обобщенная блок-схема


Детализация блока AB

Удаляет все записи указанного года

Детализация блока CD

Вывод всех фильмов данного автора.



Вывод: Я научился создавать структуры, отлаживать их, и обрабатыватьих. Я научился создавать, добавлять,удалять,изменять таблицы. Я научился организовывать диалог с пользователем в виде меню.

Я выучил новые методы программирования.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: