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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Поиск в массиве http://www.cyberforum.ru/cpp-beginners/thread106534.html
Надо найти в массисе чисел со значениями от 0 до 255 повторяющиеся ровно два раза числа. Второй день туплю не могу написать 100% правильно работающую функцию=)
C++ Установка курсора Пожалуйста подскажите как перевести курсор ввода(консольный режим) в заданную позицию на С++ http://www.cyberforum.ru/cpp-beginners/thread106528.html
C++ Массив структур
Создать программу, позволяющую вводить элементы массива структур, содержащие расписание занятий преподавателей по дням недели: название предмета (название не более 60 символов, количество предметов, ведущих преподавателями не более 3), начало занятий и конец занятия, и позволяющую по задаваемой фамилии преподавателя определить сколько времени в неделю у него занимают занятия. понимаю что...
Перевод вещественного числа из N сс в K сс C++
входные данные: вещественное число,его основание и основание,в которое переводится число. Выходные данные: число в K основании. Знаю,на форуме много подобных тем,но во всех темах работают только с целыми числами,мне необходимо осуществлять перевод вещественного числа.Прошу помощи,кому не сложно,желательно с комментариями.Основание от 2 до 16.
C++ Функция С++ http://www.cyberforum.ru/cpp-beginners/thread106480.html
Написать функцию Procent которая возвращает процент от полученного в качестве аргумента числа
C++ сохранить файл в указанном каталоге podskazhite, pozhalujsta, kak pravilno zadat` adress, choby sohranit` ego v nuzhnom mne kataloge? prosto sozdat i sohranit fail: FILE* pFile; pFile = fopen("file1.txt", "w"); if(pFile != 0){ fputs("test", pFile); fclose(pfile); } подробнее

Показать сообщение отдельно
breeve
 Аватар для breeve
73 / 73 / 14
Регистрация: 01.08.2009
Сообщений: 177
20.03.2010, 13:14     Структуры.
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 строки, но работает исправно.
 
Текущее время: 04:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru