|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.09.2010, 13:46 | #1 |
Регистрация: 12.06.2010
Сообщений: 9
|
КЛАССЫ В С++ (продолжение)
Продолжение:
} f.close(); } int main() { setlocale(0,"Rus"); bool indicator; indicator = true; char str1[] = "Агенство \'Cупер экскурсия\'"; char str2[] = "Осуществите выбор:"; char str3[] = "1 -- добавить новую экскурсию"; char str4[] = "2 -- поиск данных по времени отправления"; char str5[] = "3 -- поиск данных по названию"; char str6[] = "4 -- вывести все экскурсии(отсортированы по возрастанию стоимости)"; char strx[] = "5 -- выход"; int choose; while (indicator) { printf("%s\n", str1); printf("%s\n", str2); printf("%s\n", str3); printf("%s\n", str4); printf("%s\n", str5); printf("%s\n", str6); printf("%s\n", strx); scanf("%d", &choose); if (choose <1 || choose >5) { cout<<"ERROR: ENTER CORRECT NUMBER"<<endl; continue; } switch (choose) { case 1: Add(); break; case 2: SearchByTime(); break; case 3: SearchByName(); break; case 4: sort(); break; case 5: indicator = false; break; } } return 0; } Прошу помочь переделать задачу с использованием в ней классов и добавить возможность поиска экскурсии по цене и сортировки экскурсий по алфавиту. Буду очень благодарен. |
25.09.2010, 15:54 | #2 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 225
|
пожалуйста выложи весь свой код сюда или несколько постов в одной теме
и исполюзуй тег [сode] [/сode]
За помощь: Нажмите на весы слева от сообщения!
|
26.09.2010, 01:36 | #3 |
Регистрация: 12.06.2010
Сообщений: 9
|
Задание такое:
Программа обработки данных некоторого экскурсионного бюро. Известна информация про экскурсии (название экскурсии, время отправления, вид транспорта, максимально возможное кол-во человек в группе, продолжительность экскурсии, цена экскурсии). В задание входит: организовать возможность - поиска данных про экскурсию за временем отправления; - поиска данных про экскурсию за ее названием; - сортировка данных про экскурсию за ценой. #include "stdafx.h" #include <iostream> #include <fstream> #include <io.h> using namespace std; struct exc{ char name[30]; int hour; int minute; char transport[30]; int maxpeople; float time; int price; }excursion; bool FileExists(const char *fname) { return access(fname, 0) != -1; } void print(exc i1) { setlocale(0,"Rus"); char str8[] = "Название:"; char str9[] = "Время отправления (часы): "; char str10[] = "Время отправления (минуты):"; char str11[] = "Тип транспорта:"; char str12[] = "Максимальное количество человек:"; char str13[] = "Продолжительность (часы):"; char str14[] = "Стоимость экскурсии: ($-USD):"; cout<<str8<<endl; cout<<i1.name<<endl; cout<<str9<<endl; cout<<i1.hour<<endl; cout<<str10<<endl; cout<<i1.minute<<endl; cout<<str11<<endl; cout<<i1.transport<<endl; cout<<str12<<endl; cout<<i1.maxpeople<<endl; cout<<str13<<endl; cout<<i1.time<<endl; cout<<str14<<endl; cout<<i1.price<<endl; cout<<"*****************"<<endl; } void Add() { setlocale(0,"Rus"); char str7[] = "Добавление экскурсии:"; char str8[] = "Название:"; char str9[] = "Время отправления (часы): "; char str10[] = "Время отправления (минуты):"; char str11[] = "Тип транспорта:"; char str12[] = "Максимальное количество человек:"; char str13[] = "Продолжительность (часы):"; char str14[] = "Стоимость экскурсии ($-USD):"; cout<<str7<<endl; cout<<str8<<endl; scanf("%s",excursion.name); cout<<str9<<endl; scanf("%d", &excursion.hour); cout<<str10<<endl; scanf("%d", &excursion.minute); cout<<str11<<endl; scanf("%s", &excursion.transport); cout<<str12<<endl; scanf("%d", &excursion.maxpeople); cout<<str13<<endl; scanf("%f", &excursion.time); cout<<str14<<endl; scanf("%d", &excursion.price); fstream f("file.dat",ios::app|ios:ut); f.seekp(0,ios::end); f.write((char*)&excursion,sizeof excursion); f.close(); } void sort() { exc* i1; exc tmp1, tmp2; int col; if (!FileExists("file.dat")) return; fstream f("file.dat",ios::in); f.seekp(0,ios::beg); col = 0; while(!f.eof()){ f.read((char*)&tmp1,sizeof tmp1); if (f.eof()) break; col++; } i1 = new exc[col]; f.close(); fstream d("file.dat",ios::in); d.seekp(0,ios::beg); int i = 0; while(!d.eof()){ d.read((char*)&i1[i],sizeof i1[i]); if (d.eof()) break; i++; } bool ind = true; while (ind) { ind = false; for(i=0; i<(col-1); i++) { if(i1[i].price>i1[i+1].price) { tmp2.hour = i1[i].hour; tmp2.maxpeople = i1[i].maxpeople; tmp2.minute = i1[i].minute; strcpy(tmp2.name,i1[i].name); tmp2.price = i1[i].price; tmp2.time = i1[i].time; strcpy(tmp2.transport,i1[i].transport); i1[i].hour = i1[i+1].hour; i1[i].maxpeople = i1[i+1].maxpeople; i1[i].minute = i1[i+1].minute; strcpy(i1[i].name,i1[i+1].name); i1[i].price = i1[i+1].price; i1[i].time = i1[i+1].time; strcpy(i1[i].transport,i1[i+1].transport); i1[i+1].hour = tmp2.hour; i1[i+1].maxpeople = tmp2.maxpeople; i1[i+1].minute = tmp2.minute; strcpy(i1[i+1].name,tmp2.name); i1[i+1].price = tmp2.price; i1[i+1].time = tmp2.time; strcpy(i1[i+1].transport,tmp2.transport); ind = true; } } } for(i=0; i<col; i++) { print(i1[i]); } d.close(); } void SearchByName() { setlocale(0,"Rus"); if (!FileExists("file.dat")) return; exc i1; char name[30]; char str7[] = "Поиск экскурсии по названию:"; char str8[] = "Введите название:"; cout<<str7<<endl; cout<<str8<<endl; cin>>name; fstream f("file.dat",ios::in); f.seekp(0,ios::beg); while(!f.eof()){ f.read((char*)&i1,sizeof i1); if (f.eof()) break; if (strcmp(name,i1.name)==0) print(i1); } f.close(); } void SearchByTime(){ setlocale(0,"Rus"); if (!FileExists("file.dat")) return; exc i1; int hour,minute; char str7[] = "Поиск экскурсии по времени:"; char str8[] = "Введите часы:"; char str10[] = "Минуты:"; cout<<str7<<endl; cout<<str8<<endl; scanf("%d", &hour); cout<<str10<<endl; scanf("%d", &minute); fstream f("file.dat",ios::in); f.seekp(0,ios::beg); while(!f.eof()){ f.read((char*)&i1,sizeof i1); if (f.eof()) break; if (i1.hour==hour && i1.minute==minute) print(i1); |
26.09.2010, 01:37 | #4 |
Регистрация: 12.06.2010
Сообщений: 9
|
это начало)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Приостановка\продолжение потока | bulldog5293 | Общие вопросы Delphi | 6 | 20.09.2010 21:47 |
Условие на продолжение | iHikita | Общие вопросы .NET | 7 | 26.08.2010 14:27 |
C++ первый опыт [продолжение] | kin63camapa | Софт | 0 | 26.03.2010 23:19 |
Заполнение бланков (продолжение) | kzld | Microsoft Office Excel | 8 | 28.07.2009 17:19 |
Продолжение воспроизведения, bass.dll | BredoZavR | Мультимедиа в Delphi | 4 | 06.06.2009 18:46 |