Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы по программированию...docx
Скачиваний:
10
Добавлен:
26.09.2019
Размер:
71.35 Кб
Скачать

Int main() {

setlocale(LC_ALL, "Russian");

printf("%-20s %-22s %-10s %-5s %-15s\n",

"Название", "Режиссер", "Жанр", "Время", "Бюджет");

printf("------------------------------------\n");

for (int i=0; i<10; i++) {

printf("%-20s %-22s %-10s %-5d %-15d\n",

films[i].name, films[i].director,

films[i].genre, films[i].duration,

films[i].budget);

}

printf("------------------------------------\n");

return 0;

}

//Задача 23

#include "stdafx.h"

#include <iostream>

using namespace std;

struct Film {

char name[100];

char director[100];

char genre[100];

int duration;

int budget;

};

Film films[10] = {

{"Спеши любить", "Ник Кассаветис", "Драма", 120 , 80000000},

{"Трон", "Майкл Бэй", "Фантастика", 144, 170000000 },

{"Кошмары на улице Вязов", "Дэннис Илиадис","Ужасы",123,17000000},

{"Приют", "Жауме Серра","Ужасы" ,128, 14000000},

{"Три метра над уровнем неба", "Кэтрин Хардвик", "Драма", 140, 2500000},

{"Очень страшное кино","Том Вон","Комедия",135,1250000},

{"Эффект бабочки","Эрик Бресс","Фантастика",123,1500000},

{"Геймер","Джефф Уадлоу","Боевик",127,16900000},

{"Звёздная пыль","Дэвид Йэтс","Фэнтези",135,1380000},

{"Мы купили зоопарк","Алехандро Агрести","Драма",133,13500000},

}

Int main() {

setlocale(LC_ALL, "Russian");

printf("%-20s %-22s %-10s %-5s %-15s\n",

"Название", "Режиссер", "Жанр", "Время", "Бюджет");

printf("------------------------------------\n");

for (int i=0; i<10; i++) {

printf("%-20s %-22s %-10s %-5d %-15d\n",

films[i].name, films[i].director,

films[i].genre, films[i].duration,

films[i].budget);

}

printf("------------------------------------\n");

return 0;

}

#define GENRE 1

#define DURATION 2

bool isGreater(Film b1, Film b2, int field) {

switch(field) {

case GENRE : return strcmp(b1.genre, b2.genre)>0;

case DURATION : return b1.duration > b2.duration;

default : return true;

}

}

void sortFilms(int field) {

for (int i=0; i<9; i++) {

int max = i;

for (int j=i+1; j<10; j++) {

if (isGreater(films[max], films[j], field)) {

max = j;

}

}

Film temp = films[max];

films[max] = films[i];

films[i] = temp;

}

}

void intoFile() {

FILE* dataFile = fopen("films.txt", "w");

for (int i=0; i<10; i++) {

fprintf(dataFile, "%-20s %-22s %-10s %-5d %-15d\n",

films[i].name, films[i].director, films[i].genre,

films[i].duration, films[i].budget);

}

fclose(dataFile);

}

Int main() {

setlocale(LC_ALL, "Russian");

while (true) {

system("cls");

printf("1 - Вывод всех фильмов\n");

printf("2 - Сортировка по жанру\n");

printf("3 - Сортировка по продолжительности\n");

printf("4 - Запись в файл\n");

printf("0 - Выход\n");

int choice;

scanf("%d",&choice);

switch (choice) {

case 1 : printfilms();break;

case 2 : sortFilms(GENRE);printfilms();break;

case 3 : sortFilms(DURATION);printfilms();break;

case 4 : intoFile();break;

case 0 : exit(EXIT_SUCCESS);break;

default : printf("Ошибка\n");

}

system("pause");

}

return 0;

}