DFG111
07-06-2013, 18:46
задание такое ....Вариант 13. Описать структуру с именем Film, содержащую следующие поля: title – название фильма, time – продолжительность в минутах, director - режиссер. Написать про-грамму, выполняющую ввод с клавиатуры данных в массив Collection, состоящий из 12 элементов типа Film. Записи должны быть упорядочены по названиям фильмов. Вывести на экран информацию о фильмах, продолжительностью более 2х часов. Если таких филь-мов нет, то вывести соответствующее сообщение.
код:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <string.h>
#include <locale.h>
using namespace std;
const int n = 5; //Число элементов массива
struct Film { //Структура
char Title [30];
char Director [25];
char Time [1];
};
void Copy (Film &pest, Film bust) //Вспомогательная функция для сортировки (копирование данных из src в dest)
{
strcpy_s (pest.Title, bust.Title);
strcpy_s (pest.Time, bust.Time);
strcpy_s (pest.Director, bust.Director);
}
int main(void)
{
setlocale(LC_ALL,"Russian");
Film Collection[n];
int i = 0;
for (i=0; i<=n; i++) { //Ввод данных
cout << "Введите название фильма: ";
cin >> Collection[i].Title;
cout << "Введите режисера: ";
cin >> Collection[i].Director;
cout << "Введите продолжительность в минутах: ";
cin >> Collection[i].Time;
cout<<"----\n";
};
Film buf;
int k;
for (i=0; i<n-1; i++)
for (k=0; k<n-1; k++)
if (strcmp (Collection[k].Title, Collection[k+1].Title)>0)
{
Copy (buf, Collection[k]);
Copy (Collection[k], Collection[k+1]);
Copy (Collection[k+1], buf);
}
char vremay [1];
cout << "Введите время: ";
cin >> vremay;
bool f = false; //Флаг (найден ли хоть один)
for (i=0; i<n; i++)
if (strcmp (Collection[i].Time, vremay)>0) { //Вывод информации при совпадениях
cout <<'\n'<< "Фильм "<< Collection[i].Title <<" \n Режисер " << Collection[i].Director << "n\ продолжительность " << Collection[i].Time;
f = true;
};
if (!f) cout << "Таких фильмов продолжительностью более 2-х часов нет"; //Сообщение при отсутствии необходимых данных
_getch();
return 0;
}
PS.
.....нашел на форуме, ребятам кто писал спасибо!!!! :durak: :help:
код:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <string.h>
#include <locale.h>
using namespace std;
const int n = 5; //Число элементов массива
struct Film { //Структура
char Title [30];
char Director [25];
char Time [1];
};
void Copy (Film &pest, Film bust) //Вспомогательная функция для сортировки (копирование данных из src в dest)
{
strcpy_s (pest.Title, bust.Title);
strcpy_s (pest.Time, bust.Time);
strcpy_s (pest.Director, bust.Director);
}
int main(void)
{
setlocale(LC_ALL,"Russian");
Film Collection[n];
int i = 0;
for (i=0; i<=n; i++) { //Ввод данных
cout << "Введите название фильма: ";
cin >> Collection[i].Title;
cout << "Введите режисера: ";
cin >> Collection[i].Director;
cout << "Введите продолжительность в минутах: ";
cin >> Collection[i].Time;
cout<<"----\n";
};
Film buf;
int k;
for (i=0; i<n-1; i++)
for (k=0; k<n-1; k++)
if (strcmp (Collection[k].Title, Collection[k+1].Title)>0)
{
Copy (buf, Collection[k]);
Copy (Collection[k], Collection[k+1]);
Copy (Collection[k+1], buf);
}
char vremay [1];
cout << "Введите время: ";
cin >> vremay;
bool f = false; //Флаг (найден ли хоть один)
for (i=0; i<n; i++)
if (strcmp (Collection[i].Time, vremay)>0) { //Вывод информации при совпадениях
cout <<'\n'<< "Фильм "<< Collection[i].Title <<" \n Режисер " << Collection[i].Director << "n\ продолжительность " << Collection[i].Time;
f = true;
};
if (!f) cout << "Таких фильмов продолжительностью более 2-х часов нет"; //Сообщение при отсутствии необходимых данных
_getch();
return 0;
}
PS.
.....нашел на форуме, ребятам кто писал спасибо!!!! :durak: :help: