Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Записать в программу строку из файла https://www.cyberforum.ru/ cpp-beginners/ thread1483799.html
Помогите, пожалуйста. Есть задача - записать в программу строку из файла. Строка содержит цифры, буквы и пробелы. Я написал программу, но она не работает (выдает черный экран). Очень прошу исправить...
C++ Произведение цифр/сумма цифр
Немного странно видеть меня в числе ТС подобных тем, однако всё же определенная проблема имеется. Вот ТЗ: Составить программу для решения следующей задачи: Дано натуральное число n. Найти и...
C++ Определить четность максимального элемента вектора 1.Дан вектор X(N)Определить каким числом четным или не четным является номер максимального элемента вектора Огромнейшая просьба написать код,хотя бы для 1 задачи https://www.cyberforum.ru/ cpp-beginners/ thread1483712.html C++ Элементы на нечетных местах массива расположить в порядке возрастания Дан массив М (15) действительных чисел. Элементы на нечетных местах расположить в порядке возрастания, а на четных в порядке убывания. https://www.cyberforum.ru/ cpp-beginners/ thread1483706.html
Составить программу C++
C++ Вычислить значение функции в заданных точках Выбрать алгоритм, составить его блок-схему и программу с использованием оператора цикла for для вычисления и вывода на экран в точках xi=a+i * h, i=0,1,2…,n, h=(b-a)/n промежутка значений функции... https://www.cyberforum.ru/ cpp-beginners/ thread1483686.html
C++ Шифр Виженера #include "stdafx.h" #include <iostream> #include <string> #include <conio.h> #include <stdlib.h> #include <sstream> #include <fstream> using namespace std; int main() https://www.cyberforum.ru/ cpp-beginners/ thread1483680.html C++ Рассчитать максимальную выручку от реализации товара
У торговой фирмы на складе имеется N различных сыпучих товаров. Известны масса Mi (в килограммах) и стоимость STi (в рублях) каждого вида товара. Менеджеры фирмы узнали, что в соседнем районе все эти...
C++ Консольное приложение выводит лишнюю информацию Visual studio 2010 При выводе программы вместо пробелов показывает числа вроде 82202. Код работает. #include "stdafx.h" #include <iostream> #include <iostream> using namespace std; int... https://www.cyberforum.ru/ cpp-beginners/ thread1483646.html C++ Приоритет операторов int x = 4; int y = 5; cout << (x == y ? ++x, ++y : --x, --y); Оператор запятая здесь не выполняется из-за приоритета? int x = 4; int y = 5; cout << (x == y ? (++x, ++y)... https://www.cyberforum.ru/ cpp-beginners/ thread1483636.html
Структура "Книга" C++
Реализовать: ввод данных с клавиатуры и запись в двоичный файл (в конец уже существующего файла), возможность просмотра содержимого файла на экране, выборку данных в соответствии с...
C++ Получить все пифагоровы тройки натуральных чисел, каждое из которых не превышает N Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) получить все пифагоровы тройки натуральных чисел, каждое из которых не превышает N, то есть все такие... https://www.cyberforum.ru/ cpp-beginners/ thread1483630.html
0 / 0 / 1
Регистрация: 22.12.2013
Сообщений: 17
0

Почему выводится в виде таблицы и почему не работает сортировка - C++ - Ответ 7789635

21.06.2015, 15:10. Показов 1022. Ответов 2
Метки (Все метки)

почему выводится в виде таблицы?
почему не работает сортировка?
и как туда можно вставить классы комнат?

hotel.h

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
#include "stdafx.h"
struct hotelStruct
{
    char name[30],date[10];
    char room[30], z[10];
};
class hotel
{
protected:
    int cost;
    hotelStruct gos[200];
public:
    hotel();
    ~hotel();
    void Show();
    void Add();
    void Delete();
    void ReadFile();
};
hotel::hotel()
{
    cost = 0;
}
hotel::~hotel()
{}
class nom : public hotel
{
private:
    char name[100], room[100];
public:
    nom();
    ~nom();
    void ReadFile();
    void Show();
    void Delete();
    void Sort();
    void Search();
    void Add();
    void SaveFile();
};
nom::nom()
{
}
nom::~nom()
{
}

hotel.cpp

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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
#include "stdafx.h"
#include "hotel.h"
#include <iostream>
#include <fstream>
#include <iomanip>
#include <windows.h>
#include <cstring>
using namespace std;
void nom::ReadFile() 
{
    char namefile[20];
    int i=0; 
    ifstream fin;
    cout << "Название файла: "<<endl;
    cin >> namefile;
    fin.open(namefile);
    if (fin.fail())  
    { 
        cout << "Ошибка \n"; system("pause"); return; 
    } 
    while (fin.good())
    {
        fin >> gos[i].name >> gos[i].date >> gos[i].room >> gos[i].z;
        i++;
    }
    cost = i; 
    fin.close();
}
void nom::Show() 
{
    cout << setw(20) << " " << setw(20) << " " << setw(20) << " " << setw(20) << endl;
    cout << " " << endl;
    for (int i = 0; i < cost; i++)
    {
        cout << gos[i].name << setw(20) << gos[i].date << setw(20) << gos[i].room << setw(20) << gos[i].z << endl;
    }
}
void nom::Delete() 
{
    char date[10];
    cout << "Дату, которую необходимо удалить" << endl;
    SetConsoleCP(1251);
    cin >> date;
    SetConsoleCP(866);
    for (int i = 0; i < cost; i++)
    {
        if (strcmp(date, gos[i].date)==0) 
        {
            for (int j = i + 1; j < cost; j++) 
            {
                gos[j - 1] = gos[j];
                room[j - 1] = room[j];
            }
            cost--;
        }
    }
}
void nom::Sort() 
{
    hotelStruct temphotel;
    int hotelchel;
    for (int i = 0; i < cost - 1; i++)
    {
        for (int j = i + 1; j < cost; j++)
        {
            if (gos[i].name > gos[j].name) 
            {
                temphotel=gos[i];
                hotelchel = name[i];
                gos[i] = gos[j];
                name[i] = name[j];
                gos[j] = temphotel;
                name[j] = name[100];
            }
        }
    }
}
void nom::Add() 
{
    cout << "Имя" << endl;
    SetConsoleCP(1251);
    cin >> gos[cost].name;
    SetConsoleCP(866);
    cout << "Дата заселения" << endl;
    cin >> gos[cost].date;
    cout << "Класс комнаты" << endl;
    SetConsoleCP(1251);
    cin >> gos[cost].room;
    SetConsoleCP(866);
    cout << "Цена за день проживания" << endl;
    cin >> gos[cost].z;
    cost++;
}
void nom::Search() 
{
    char name[30];
    boolean flag = false; 
    cout << "Имя" << endl;
    SetConsoleCP(1251); 
    cin >> name;
    SetConsoleCP(866);
    for (int i = 0; i < cost; i++) 
    {
        if (strcmp(name, gos[i].name) == 0) 
        {
            flag = true;
            cout <<  gos[i].name << setw(20) << gos[i].date << setw(20) << gos[i].room << setw(20) << gos[i].z << endl;
        }
    }
    if (!flag) 
        cout << "Не найдено" << endl;
}
void nom::SaveFile() 
{
    char namefile[20];
    int i = 0;
    ofstream fout;
    cout << "Введите название файла" << endl;
    cin >> namefile;
    fout.open(namefile);
    for (int i = 0; i < cost; i++)
    {
        fout << setw(20) << gos[i].name << setw(20) << gos[i].date << setw(20) << gos[i].room << setw(20) << gos[i].z << endl; //запись
    }
    fout.close();
}
int main(int argc, char* argv[])
{
    setlocale(LC_ALL, "Rus");
    nom setting;
    setting.ReadFile(); 
    int choiсe=1;
    while (choiсe != 0)
    {
        cout << "1-чтение из файла" << endl;
        cout << "2-вывод на экран" << endl;
        cout << "3-поиск по стране" << endl;
        cout << "4-сохранение в файл" << endl;
        cout << "5-добавление элемента" << endl;
        cout << "6-удаление элемента" << endl;
        cout << "7-сортировка" << endl;
        cout << "0-выход" << endl;
        cout << "Выбор:  " << endl;
        cin >> choiсe;
        switch (choiсe)
        {
        case 1:setting.ReadFile();break;
        case 2:setting.Show(); break;
        case 3:setting.Search(); break;
        case 4:setting.SaveFile(); break;
        case 5:setting.Add(); break;
        case 6:setting.Delete(); break;
        case 7:setting.Sort(); break;
        case 0:exit(0); break;
        default:cout << "Ошибка" << endl;
            break;
        }
    }
    return 0;
}
как вот это в тот код вставить?

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
int room_type_menu()
{
    std::cout << "\nТипы комнат:" << std::endl;
    std::cout << "1)  STD (standart) - стандартная комната; 1000 " << std::endl;
    std::cout << "2)  BDR, BDRM (bedroom) - номер со спальней; 1500 " << std::endl;
    std::cout << "3)  Superior – улучшенный номер (большего размера, чем стандартный); 2000 " << std::endl;
    std::cout << "4)  studio - студия (однокомнатный номер с кухней); 2500 " << std::endl;
    std::cout << "5)  family room - семейная комната (больше стандартной); 3000 " << std::endl;
    std::cout << "6)  family studio – семейный номер из двух комнат; 3100 " << std::endl;
    std::cout << "7)  extra bed (или king size) - номер с большой двуспальной кроватью; 3500 " << std::endl;
    std::cout << "8)  suite – номер, состоящий из гостиной и спальни; 3800 " << std::endl;
    std::cout << "9)  suite mini (junior) – улучшенный номер; 4200 " << std::endl;
    std::cout << "10) de luxe - двухместный однокомнатный номер большого размера с более дорогой обстановкой минимум из двух комнат; 5000 " << std::endl;
    std::cout << "11) business - большой по площади номер с компьютером и факсом, предназначенный для работы; 6100 " << std::endl;
    std::cout << "12) honeymoon room - номер для молодожёнов; 6400 " << std::endl;
    std::cout << "13) connected rooms – смежные номера, имеющие между собой дверь; 7000 " << std::endl;
    std::cout << "14) duplex - двухэтажный большой номер; 9000 " << std::endl;
    std::cout << "15) apartment – апартаменты, аналог квартиры, состоящей из нескольких комнат и кухни; 11000 " << std::endl;
    std::cout << "16) president - самые шикарные номера отеля, состоящие из нескольких спальных комнат, гостиной, кабинета, с несколькими ванными комнатами и туалетами; 100 " << std::endl;
    int code;
    std::cout << "\nВаш выбор: ";
    std::cin >> code;
    return code;
}
 
void type_cost_by_code(const int code, std::string &type, int &cost)
{
    switch (code)
    {
        case 1: type = "standart"; cost = 1000; break;
        case 2: type = "bedroom"; cost = 1500; break;
        case 3: type = "Superior"; cost = 2000; break;
        case 4: type = "studio"; cost = 2500; break;
        case 5: type = "family room"; cost = 3000; break;
        case 6: type = "family studio"; cost = 3100; break;
        case 7: type = "extra bed"; cost = 3500; break;
        case 8: type = "suite"; cost = 3800; break;
        case 9: type = "suite mini"; cost = 4200; break;
        case 10: type = "de luxe"; cost = 5000; break;
        case 11: type = "business"; cost = 6100; break;
        case 12: type = "honeymoon room"; cost = 6400; break;
        case 13: type = "connected rooms"; cost = 7000; break;
        case 14: type = "duplex"; cost = 9000; break;
        case 15: type = "apartment"; cost = 11000; break;
        case 16: type = "president"; cost = 15000; break;
    }
}


Вернуться к обсуждению:
Почему выводится в виде таблицы и почему не работает сортировка C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2015, 15:10
Готовые ответы и решения:

Почему не работает цикл (выводится только последнее значение)?
Почему выводит последнее значение а не массив? $data_arr = array(); $result =...

почему текст из таблицы в виде вопросов, как это исправить?
вводил все записи русскими буквами, а вот что получается на выходе: name_article ??? ?????, ?????...

Почему сортировка не работает?
кто подскажет в чем проблема.почему не сортирует? #include &lt;stdio.h&gt; int main() { int...

Почему не работает сортировка
Здравствуйте, нужно отсортировать по алфавиту ФИО, что не так я не делаю? Подскажите!!!! Помогите...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2015, 15:10
Помогаю со студенческими работами здесь

Почему не работает сортировка?
#include &lt;stdio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { char s; //...

Почему неправильно работает сортировка?
сортировка: for i := 1 to n-1 do begin if gruppa1.grupa&gt;gruppa1.grupa then begin ...

Подскажите почему не работает сортировка
Задание такое: Сформировать убывающий массив из чисел, которые делятся на 3. Создаю пустой массив....

Почему не работает Сортировка выбором?
Не понимаю, почему не работает данный код. Был бы очень благодарен, если бы кто-нибудь объяснил ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru