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

Разработать приложение, позволяющее организовать работу по учету занятости номеров гостиницы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как задать кодировку при записи в файл или чтения из него http://www.cyberforum.ru/cpp-beginners/thread751940.html
У меня блокнот Notepad++, своей программой я записываю в некоторый текстовый файл все символы ASCII. Проблема вот в чем: программа отображает символы правильно, а блокнот крякозябры. Если я меняю кодировку в блокноте на такую, что он все нормально показывает, то моя программа открывает этот файл с другими символами запись: ofstream my ("1.txt"); char a; for (int i = 0; i <...
C++ Не работает подсчет суммы введенных чисел #include <iostream> using namespace std; int main() { std::cout << 'Enter two numbers' << std::endl; int v1, v2; std::cin >> v1 >> v2; std::cout << 'The summ of' << v1 << 'and' << v2 << 'is' << v1 + v2 << std::endl; return 0; http://www.cyberforum.ru/cpp-beginners/thread751930.html
C++ Видео лекции: Основы C++
На просторах интернета нашел замечательный ресурс как lektorium.tv Мне понравились предоставленные азы в этих видео лекциях, которые в большинстве ВУЗов не даются. Список тем: Эффективная работа с памятью. Объектно-ориентированное программирование на примере языка C . Обобщенное программирование на примере языка C . STL. Дополнительная литература:
Вычислить сумму значений элементов массива C++
Сделайте три варианта программы. В первом элементы массива определяются в программе, во втором задаются пользователем, а в третьем заполняются с помощью генератора случайных чисел. Помогите пожалуйста.
C++ Определить, сколько значений в массиве превышают среднее значение [-50.120] http://www.cyberforum.ru/cpp-beginners/thread751908.html
Сделайте три варианта программы. В первом элементы массива определяются в программе, во втором задаются пользователем, а в третьем заполняются с помощью генератора случайных чисел. Помогите пожалуйста.
C++ Файлы. Найти сумму квадратов компонент файла f Дан файл f, компоненты которого являются действительными числами. Найти сумму квадратов компонент файла f. Не много написал, а вот сумму найти не как не могу=( #include<iostream> #include<fstream> #include <string.h> using namespace std; void Input(char *name, ofstream &file) { file.open(name, ios::out|ios::binary); char st; подробнее

Показать сообщение отдельно
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
03.01.2013, 19:04     Разработать приложение, позволяющее организовать работу по учету занятости номеров гостиницы
Из Шилдта вроде как. Здесь в файл пишется 1 запись.
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
#include <iostream>
#include <fstream>
#include <cstring>
 
using namespace std;
 
struct status {
    char name[80];
    double balance;
    unsigned long account_num;
};
 
int main()
{
    struct status acc;
 
    strcpy(acc.name, "Имя - Фамилия - Отчество");
    acc.balance = 1123.23;
    acc.account_num = 34235678;
 
    // создать файл для записи
    ofstream outbal("balance.dat", ios::out | ios::binary);
    if(!outbal) {
        cout << "Не могу создать/открыть файл для записи!\n";
        return 1;
    }
    // запись в файл
    outbal.write((char *) &acc, sizeof(struct status));
    // закрыть файл
    outbal.close();
 
    // проверка: чтение файла и вывод данных
    // открыть файл
    ifstream inbal("balance.dat", ios::in | ios::binary);
    if(!inbal) {
        cout << "Не могу открыть файл для чтения!\n";
        return 1;
    }
    // прочитать данные в структуру
    inbal.read((char *) &acc, sizeof(struct status));
    // вывести на экран
    cout << acc.name << endl;
    cout << "Счет №" << acc.account_num;
    cout.precision(2);
    cout.setf(ios::fixed);
    cout << endl << "Баланс: $" << acc.balance;
    inbal.close();
 
    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
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
// binary.cpp -- бинарный файловый ввод-вывод
#include <iostream> // не требуется в большинстве систем
#include <fstream>
#include <iomanip>
#include <cstdlib> // (или stdlib.h) для exit()
inline void eatline() { while (std::cin.get() != '\n') continue; }
struct planet
{
    char name[20];      // название планеты
    double population;  // население
    double g;               // ускорение свободного падения
};
const char * file = "planets.dat";
int main()
{
    using namespace std;
    planet pl;
    cout << fixed << right;
    // показать начальное содержимое
    ifstream fin;
    fin.open(file, ios_base::in |ios_base::binary); // бинарный файл
    //Примечание: некоторые системы не принимают режим ios_base::binary
    if (fin.is_open())
    {
        cout << "Текущее содержимое файла "
              << file << ":\n";
        while (fin.read((char *) &pl, sizeof pl))
        {
            cout << setw(20) << pl.name << ": "
                  << setprecision(0) << setw(12) << pl.population
                  << setprecision(2) << setw(6) << pl.g << endl;
        }
        fin.close();
    }
    // добавить новые данные
    ofstream fout(file,
    ios_base::out | ios_base::app | ios_base::binary);
    //Примечание: некоторые системы не принимают режим ios::binary
    if (!fout.is_open())
    {
        cerr << "Не удается открыть файл " << file << " для вывода:\n";
        exit(EXIT_FAILURE);
}
    cout << "Введите название планеты (или пустую строку для завершения):\n";
    cin.get(pl.name, 20);
    while (pl.name[0] != '\0')
    {
        eatline();
        cout << "Введите численность населения планеты: ";
        cin >> pl.population;
        cout << "Введите ускорение свободного падения планеты: ";
        cin >> pl.g;
        eatline();
        fout.write((char *) &pl, sizeof pl);
        cout << "Введите название планеты (или пустую строку для завершения):\n ";
        cin.get(pl.name, 20);
    }
    fout.close();
    // показать измененный файл
    fin.clear(); // не обязательно в некоторых реализациях, но не помешает
    fin.open(file, ios_base::in | ios_base::binary);
    if (fin.is_open())
    {
        cout << "Новое содержимое файла "
              << file << ":\n";
        while (fin.read((char *) &pl, sizeof pl))
        {
            cout << setw(20) << pl.name << ": "
                  << setprecision(0) << setw(12) << pl.population
                  << setprecision(2) << setw(6) << pl.g << endl;
        }
        fin.close();
    }
    cout << "Готово.\n";
    return 0;
}
 
Текущее время: 16:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru