Форум программистов, компьютерный форум CyberForum.ru

Структуры. - C++

Восстановить пароль Регистрация
 
Expelio
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 23
19.03.2010, 18:17     Структуры. #1
Необходимо написать программу (помогите пожалуйста):
Сформировать массив, содержащий информацию о туристских поездках. Структурный тип содержит поля: название тура, необходима ли виза, це-на, длительность пребывания, категория отеля, есть ли море, предусмот-рены ли экскурсии. Написать программу, которая выводит информацию о турах в соответствии с требованиями:
- безвизовый тур с возможностью купаться в море и посещать экскурсии;
- тур по Европе, не дороже введенной с клавиатуры стоимости, с катего-рией отеля, не ниже введенной с клавиатуры;
- наличие моря, ограничение по цене и по времени пребывания, которые введены с клавиатуры.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2010, 18:17     Структуры.
Посмотрите здесь:

C++ Структуры
C++ Структуры!!!
C++ Структуры
Структуры. C++
Структуры C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kirjushyk
60 / 22 / 2
Регистрация: 13.03.2010
Сообщений: 65
20.03.2010, 12:07     Структуры. #2
Я с радостью помогу написать тебе программу =)
breeve
 Аватар для breeve
73 / 73 / 14
Регистрация: 01.08.2009
Сообщений: 177
20.03.2010, 13:14     Структуры. #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
#include <string>
using namespace std;
 
#define kolvo 3
string yes(bool);
bool day(int, int);
 
struct TOUR
{
    string name;
    bool visa;
    bool sea;
    int price;
    unsigned short int lengthStay;
    unsigned short int hotel;
    bool excursion;
    
    void showRecord()
    {
        cout << name << endl;
        cout << "Цена: " << price <<endl;
        cout << "Море: " << yes(sea) <<endl;
        cout << "Нужна ли виза: " << yes(visa) <<endl;
        cout << "Отель " << hotel << " звезд" <<endl;
        cout << "Время прожимания: " << lengthStay <<endl;
        cout << "Экскурсии ";
        if(excursion) cout << "включены." <<endl;
        else cout << "не включены." <<endl;
    }
};
 
int main()
{
    TOUR *tour = new TOUR[kolvo]; 
    tour[0] = {"Spain tour", 1, 1, 4500, 14, 5, 1};
    tour[1] = {"Switzerland ski-tour", 1, 2, 3700, 12, 4, 0};
    tour[2] = {"Crimea tour", 0, 1, 600, 12, 3, 1};
    
    int a;
    int b;
    cout << "Критерии поиска:" <<endl;
    cout << "1. Безвизовые туры с возможностью купаться в море и посещать экскурсии." <<endl;
    cout << "2. Европа, не дороже введенной с клавиатуры стоимости, с катего-рией отеля." << endl;
    cout << "3. Наличие моря, ограничение по цене и по времени пребывания." <<endl;
    cout << "Выберете нужный вариант." << endl;
    cin >> a;
    switch(a)
    {
        case 1:
            for(int i = 0; i < kolvo; i++)
                {
                    if(tour[i].visa == true && tour[i].sea == true && tour[i].excursion == true)
                        tour[i].showRecord();                                                            
                }
            break;
        case 2:
            cout << "Введите максимальную стоимость тура: " ;
            cin >> a;
            cout << "Введите желаемую категорию отеля: "; 
            cin >> b; 
            for(int i = 0; i < kolvo; i++)
                {
                    if(tour[i].price < a && tour[i].visa == true && tour[i].hotel > b)
                        tour[i].showRecord();
                }
        case 3:
            cout << "Введите максимальную стоимость тура: " ;
            cin >> a;
            cout << "Введите желаемое количество дней: "; 
            cin >> b; 
            for(int i = 0; i < kolvo; i++)
                {
                    if(tour[i].price < a && tour[i].sea == true && day(tour[i].lengthStay,b))
                        tour[i].showRecord();
                }
        default:
            cout << "Ошибка. Не правильный ввод.";
    }
    return 0;
}
 
bool day(int a, int b)
{
    if (a > b)
    {
        if((a - b) < 4)
            return 1;
        else return 0;
    }
    else 
    {
        if((b - a) < 4)
            return 1;
        else return 0;
    }
}
 
string yes(bool a){
    if(a)
        return "Да";
    else return "Нет";
}
Добавлено через 3 минуты
Компилятор пишет предупреждения на 36, 37, 38 строки, но работает исправно.
Expelio
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 23
21.03.2010, 04:18  [ТС]     Структуры. #4
из-за этих предупреждений (а точнее error) у меня не запускается прога (((
есть обходные пути ?)
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.03.2010, 04:53     Структуры. #5
Expelio, поменяйте
C++
1
2
3
4
    TOUR *tour = new TOUR[kolvo]; 
    tour[0] = {"Spain tour", 1, 1, 4500, 14, 5, 1};
    tour[1] = {"Switzerland ski-tour", 1, 2, 3700, 12, 4, 0};
    tour[2] = {"Crimea tour", 0, 1, 600, 12, 3, 1};
на
C++
1
2
3
4
5
    TOUR tour[kolvo] = {
        {"Spain tour", 1, 1, 4500, 14, 5, 1},
        {"Switzerland ski-tour", 1, 2, 3700, 12, 4, 0},
        {"Crimea tour", 0, 1, 600, 12, 3, 1}
    };
по крайней мере скомпилируется... И о том, чтобы русские буквы в консоли правильно отображались, возможно прийдётся позаботиться...
Expelio
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 23
21.03.2010, 10:44  [ТС]     Структуры. #6
спасибо за помощь ! =) работает
Yandex
Объявления
21.03.2010, 10:44     Структуры.
Ответ Создать тему
Опции темы

Текущее время: 18:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru