|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.09.2010, 13:44 | #1 |
Регистрация: 12.06.2010
Сообщений: 9
|
КЛАССЫ В С++
Задание такое:
Программа обработки данных некоторого экскурсионного бюро. Известна информация про экскурсии (название экскурсии, время отправления, вид транспорта, максимально возможное кол-во человек в группе, продолжительность экскурсии, цена экскурсии). В задание входит: организовать возможность - поиска данных про экскурсию за временем отправления; - поиска данных про экскурсию за ее названием; - сортировка данных про экскурсию за ценой. Код:
Последний раз редактировалось Stilet; 29.09.2010 в 08:22. |
26.09.2010, 21:00 | #2 |
Форумчанин
Регистрация: 28.01.2010
Сообщений: 224
|
Не знаю но ктото тисал подобный вопрос на этом форуме.
Я тогда скомпилировал исполнительный файл и отсылал этому гражданину из форума. У вас хоть в институте меняют задание... Посмотри файлы прикрепил может измениш что
всему свое время как зиме и весне
и каждому солнцу свой неба кусок |
28.09.2010, 22:53 | #3 |
Регистрация: 12.06.2010
Сообщений: 9
|
спасибо конечно))) но я еще далеко от такого
|
28.09.2010, 23:26 | #4 |
Регистрация: 12.06.2010
Сообщений: 9
|
У меня получилось, но выбивает 2 ошибки и не получается их исправить. Помогите пожалуйста, буду очень благодарен.
#include "stdafx.h" #include <iostream> #include <fstream> #include <io.h> using namespace std; class exc { public: char name[30]; int hour; int minute; char transport[30]; int maxpeople; float time; int price; void print(exc i1); void Add(); void sort(); void SearcByName(); void SearchByTime(); }; exc::exc(char *name, int hour1, int minute1, char *transport, int maxpeople1, float time1, int price1) :hour(hour1) :minute(minute1) :maxpeople(maxpeople1) :time(time1) rice(price1) { strcpy(this->name,name); strcpy(this->transport,transport); } void exc:rint(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 exc::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 exc::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 exc::SearcByName() { 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(); } |
28.09.2010, 23:27 | #5 |
Регистрация: 12.06.2010
Сообщений: 9
|
void exc::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); } 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; } |
29.09.2010, 01:06 | #6 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
Ошибки где?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Классы. | MAKEDON | Общие вопросы C/C++ | 1 | 24.07.2009 18:35 |
классы | elenSV | Помощь студентам | 0 | 11.05.2009 10:11 |
классы | elenSV | Помощь студентам | 0 | 01.05.2009 19:33 |
классы | elenSV | Общие вопросы C/C++ | 0 | 01.05.2009 11:57 |