Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2010, 13:46   #1
kolyan_zver
 
Регистрация: 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;
}

Прошу помочь переделать задачу с использованием в ней классов и добавить возможность поиска экскурсии по цене и сортировки экскурсий по алфавиту. Буду очень благодарен.
kolyan_zver вне форума Ответить с цитированием
Старый 25.09.2010, 15:54   #2
savva
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 225
По умолчанию

пожалуйста выложи весь свой код сюда или несколько постов в одной теме

и исполюзуй тег [сode] [/сode]
За помощь: Нажмите на весы слева от сообщения!
savva вне форума Ответить с цитированием
Старый 26.09.2010, 01:36   #3
kolyan_zver
 
Регистрация: 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);
kolyan_zver вне форума Ответить с цитированием
Старый 26.09.2010, 01:37   #4
kolyan_zver
 
Регистрация: 12.06.2010
Сообщений: 9
По умолчанию

это начало)
kolyan_zver вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приостановка\продолжение потока 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