Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Wroker
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 34
#1

Киносеанс - хранение данных, замена данных, добавленных новых - C++

10.04.2013, 15:11. Просмотров 416. Ответов 8
Метки нет (Все метки)

Вообщем задача : На киносеанс популярного кинофильма осуществляетсябронирование билетов. С помощью списка организовать продажу N билетов. Предусмотреть вывод фамилий покупателей, не купивших билеты.
Базовый тип: [Покупатель, Ряд, Количество мест, Цена места]


Как сделать так, чтоб файл не когда не очищался? или чтоб очищался тогда, когда я этого захочу.

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
//////////////////
/////////////Вариант 2. На киносеанс популярного кинофильма осуществляется
/////////бронирование билетов. С помощью списка организовать продажу N
////////билетов. Предусмотреть вывод фамилий покупателей, не купивших билеты.
////////Базовый тип: [Покупатель, Ряд, Количество мест, Цена места]
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <windows.h>
#include <winuser.h>
 
 
 
using namespace std;
 
struct zapis
{
        char Pokup[20]; char Ryad[20]; char Kol[20]; char Cena[15];
};
 
int main()
{
           SetConsoleCP(1251);
           SetConsoleOutputCP(1251);
           int skolko;
           zapis zp;
           
           
           
           cout << "Просмотреть список брони - 1 "<<endl;
           cout << "Покупка билета - 2" <<endl;
           
           int a;
           cin>>a;
 
           if (a==1)
           {
           fstream f("Basetip.TXT");
     
          cout << "забронированные"<<endl;
           while(!f.eof())
           {
             char a,b=0;
              f.get(a);
                cout << a;
           }
          cout << endl;
          f.close();
          }
 
 
          if(a==2)
          {
                   ofstream  Basetip1;
                   Basetip1.open("Basetip.txt");
                   cout << "Введите Количество сколько хотите забронировать билетов. :";
                   cin>>skolko;
                    for(int x=0;x<skolko;x++)
                 {
                 
                         cout << "Покупатель:";
                         cin>>zp.Pokup;
                         cout << "Ряд:";
                         cin>>zp.Ryad;
                         cout << "Количество мест:";
                         cin>>zp.Kol;
                         cout << "Цена Места:";
                         cin>>zp.Cena;
                         cout << "\n";
                         
                         Basetip1 << zp.Pokup << " " << zp.Ryad << " "
                              << zp.Kol<< " " << zp.Cena << "\n " ;
                              Basetip1.close();
                 }
                   
          }
                   
 
           
          system("pause");
               return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 15:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Киносеанс - хранение данных, замена данных, добавленных новых (C++):

Хранение данных - C++
Есть объекты, у которых есть свои переменные. Но не всегда эти объекты используются. Где лучше хранить характеристики этих объектов?...

Хранение данных - C++
Пробую написать небольшую рпгшку на С++ + SDL и возникла нужда где-то хранить кучу потенциальной информации, начиная с описания карты,...

Хранение данных - C++
У меня есть программа, которая создает, удаляет и показывает список клиентов банка. Подскажите, пожалуйста, что мне нужно дописать в код...

Хранение статистических данных - C++
Здравствуйте. Пишу сниффер сетевого трафика. Сканирую проходящий трафик с помощью winsock2. Получаю пакеты. Задача стоит как-то...

Хранение данных в программе - C++
Задача : Информация о расходе средств по университету (для бухгалтерии), хранится в следующем виде: фамилия подотчётного лица,...

Хранение данных в vector'e - C++
У меня есть vector&lt;vector&lt;int&gt;&gt; следующего вида: &lt;1, 2, 3, 4, 5, 6, 7&gt;, где число - номер соответствующего вектора. Скажем я хочу удалить...

8
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
10.04.2013, 17:48 #2
Wroker,

C++
1
Basetip1.open("Basetip.txt", ios::app);
0
Wroker
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 34
10.04.2013, 18:01  [ТС] #3
Цитата Сообщение от yoghurt92 Посмотреть сообщение
Wroker,

C++
1
Basetip1.open("Basetip.txt", ios::app);
Нашел такое.., спасибо конечно. Но как я понял описание, она только постоянно в конец записывает, так?
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
10.04.2013, 18:03 #4
Wroker, да, если вам нужно произвольно записывать, то смотрите в сторону файлов произвольного доступа.
0
Wroker
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 34
10.04.2013, 18:11  [ТС] #5
Цитата Сообщение от yoghurt92 Посмотреть сообщение
Wroker, да, если вам нужно произвольно записывать, то смотрите в сторону файлов произвольного доступа.
Можете подсказать ещё одну проблему? как мне ввести заполнения с помощью цикла ?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 if(a==2)
          {
                   ofstream  Basetip1;
                   Basetip1.open("Basetip.txt");
                   cout << "Введите Количество сколько хотите забронировать билетов. :";
                   cin>>skolko;
                    for(int x=0;x<skolko;x++)
                 {
                 
                         cout << "Покупатель:";
                         cin>>zp.Pokup;
                         cout << "Ряд:";
                         cin>>zp.Ryad;
                         cout << "Количество мест:";
                         cin>>zp.Kol;
                         cout << "Цена Места:";
                         cin>>zp.Cena;
                         cout << "\n";
                         
                         Basetip1 << zp.Pokup << " " << zp.Ryad << " "
                              << zp.Kol<< " " << zp.Cena << "\n " ;
                              Basetip1.close();
                 }
Сколько бы я не вводил, записывает только 1 раз.
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
10.04.2013, 18:14 #6
правильно все, нужно выставить ios::app чтобы каждая новая запись записывалась после предшествующей.

Цитата Сообщение от Wroker Посмотреть сообщение
Basetip1.open("Basetip.txt", ios::app);
0
Wroker
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 34
10.04.2013, 18:20  [ТС] #7
Цитата Сообщение от yoghurt92 Посмотреть сообщение
правильно все, нужно выставить ios::app чтобы каждая новая запись записывалась после предшествующей.
К сожалению нет, записывает только одного.. допустим.

Программа спрашивает : сколько хотите ввести ? = 2.

0.
Имя : Вася
ряд :2
количество:3
цена:400

1.
Имя : Петя
ряд :4
количество:2
цена:200

Но, записывает только одного.. не пойму в чем проблема, как будто цикл не до конца работает чтоли..
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
10.04.2013, 18:25 #8
Wroker, потому что вы файл закрыли после того как записали 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
if(a==2)
          {
                   ofstream  Basetip1;
                   Basetip1.open("Basetip.txt");
                   cout << "Введите Количество сколько хотите забронировать билетов. :";
                   cin>>skolko;
                    for(int x=0;x<skolko;x++)
                 {
                 
                         cout << "Покупатель:";
                         cin>>zp.Pokup;
                         cout << "Ряд:";
                         cin>>zp.Ryad;
                         cout << "Количество мест:";
                         cin>>zp.Kol;
                         cout << "Цена Места:";
                         cin>>zp.Cena;
                         cout << "\n";
                         
                         Basetip1 << zp.Pokup << " " << zp.Ryad << " "
                              << zp.Kol<< " " << zp.Cena << "\n " ;
                         
                 }
        Basetip1.close();
                   
          }
1
Wroker
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 34
10.04.2013, 18:28  [ТС] #9
Цитата Сообщение от yoghurt92 Посмотреть сообщение
Wroker, потому что вы файл закрыли после того как записали 1, о открыть при повторной итерации забыли, лучше сделайте так
Спасибо большое! моя невнимательность ;(
0
10.04.2013, 18:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2013, 18:28
Привет! Вот еще темы с ответами:

Хранение данных в файле - C++
Допустим есть две программы - A и B. Я запускаю программу A, делаю там дела и в результате получаю объект какого-нибудь пользовательского...

хранение данных в файле - C++
Народ, помогите, пожалуйста, у меня есть программка, нужно сделать реализацию хранения данных в файле (.txt) при открытии - вся информация...

Про хранение данных. - C++
день добрый. в задаче задается иерархия папок и файлов, то есть корневая, что в ней и т.д. к примеру - /andew (корневая) andrew...

Разнообразное хранение данных - C++
Доброго времени суток. Решил потренироваться в программировании и нашел неплохую задачу. Суть в том, чтобы обрабатывать данные о студентах,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.