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

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

Войти
Регистрация
Восстановить пароль
 
!!!Archi!!!
4 / 4 / 0
Регистрация: 07.04.2011
Сообщений: 73
#1

Выкидует ошибки - C++

17.06.2011, 01:33. Просмотров 808. Ответов 4
Метки нет (Все метки)

Подсчитать количество книг, которые были выданы читателю в поточном месяце, входными данными есть: шифр, название, цена дата выдачи
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
161
162
163
164
165
#include "stdafx.h"
#include <iostream>
#include <math.h>
# include <conio.h>
#include <string.h>
 #include <windows.h>
#include <tchar.h>
#include <fstream>
 
using namespace std;
 
    class cnigi
    {
        private:
            char hifr [255];
            char name [255];
            char avtor [255];
            int cena;
            int kolvo;
            char vidacha_knig [255];
    public:
         cnigi * mass [300];
            cnigi ();
        ~cnigi ();
        void input ();
        void glav ();
        void search ();
        void output ();
        void save ();
        void load ();
    };
    cnigi :: cnigi ()
    {
    strcpy (hifr, " ");
    strcpy (name, " ");
    strcpy (avtor, " ");
    int cena = 0;
    int kolvo=0;
    strcpy (vidacha_knig, " ");
    }
    cnigi::~cnigi () {}
    void cnigi::input ()
    {
    cout<< "Введите шифр ";
    cin.getline(hifr, 255);
    cout<< "Введите название книги  ";
    cin.getline(name, 255);
    cout<< "Введите автора ";
    cin.getline(avtor, 255);
    cout<< "Введите сену ";
    char temp [255];
    cin.getline (temp,255);
    cena = atoi (temp);
    cout<< "Введите дату выдачи книги ";
    cin.getline(vidacha_knig, 255);
    }
    void cnigi::save ()
    {
    ofstream file_2("D:\\cnigi.txt", ios::app);
         file_2<< mass[kolvo]->hifr <<endl;
     file_2 <<mass[kolvo]->name<<endl;
     file_2<<mass[kolvo]->avtor<<endl;
     file_2<< mass[kolvo]->cena<<endl;
     file_2<< mass[kolvo]->vidacha_knig<<endl;
                    file_2.close();
}
 
    void cnigi::search ()
    {
        system("cls");
    char temp[255];
    char ch;
    int n, k=0;
            cout<< "Поиск книги\n\n\n";
        cout<< "Введите дату выдачи книги ";
    cin.getline(vidacha_knig, 255);
 
    
    }
    void cnigi::output ()
    {
        system ("cls");
    cout<< "Книги \n\n";
    cout<< " шифр "<<(hifr)<<endl;
    cout<< " название книги  "<<name<<endl;
    cout<< " автор "<<avtor<<endl;
    cout<< " сена "<<cena<<endl;
    cout<< " дату выдачи книги "<<vidacha_knig<<endl;
    }
    void cnigi::load ()
    {
    ifstream file_2("D:\\cnigit.txt");
    while(!file_2.eof())
    {
        mass[kolvo]=new cnigi;
         file_2. getline(hifr,255) ;
     file_2 .getline (name,255)  ;
     file_2. getline(avtor,255) ;
     file_2 >> cena ;
     file_2 . getline(vidacha_knig,255) ; 
        }
                    file_2.close();
    }
    void cnigi::glav ()
    {
        system ("cls");
        p:
        int m;
                        
        cout<<"1 Ввести данные\n";
        cout<< "2 поиск данных\n";
        cout<<"3 Вывести данные\n";
        cout<<"Ваш выбор: ";
        m=getche();
        switch (m)
        {
        case '1':
            {
                system ("cls");
                                input ();
                                 save ();
                 getch ();
 
            }
                        break;
        case '2':
            {
                system ("cls");
                search ();
                 getch ();
            }
 break;
        case '3':
            {
                system ("cls");
                
                load ();
                //output ();
                 getch ();
            }
    break;
            default:
                cout<< endl;
            cout<<"Вы не ввели правильное данное\n\n";
            getch ();
            system ("cls");
            goto p;
            
            break;
    }
    }
    int main ()
    {
    setlocale(LC_CTYPE, "Russian");
    SetConsoleCP(1251); // Установка кодування консолі 1251//
            SetConsoleOutputCP(1251);
 
    cnigi cnigi1;
     for (;;)
    cnigi1.glav ();
    cin.get ();
    cin.get ();
    cin.sync();
    return 0;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2011, 01:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выкидует ошибки (C++):

Немогу понять почему в программе выкидует ошибка - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; # include &lt;clocale&gt; #include &lt;conio.h&gt; using namespace std; void main...

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private: int* a; size_t size_; ...

GF 9600 выкидует из игр и пишет memori цифры raidd - Видеокарты
Ребята поставил карту 9600gf и после етого выкидует из игр и пишет memori цифры raidd че делоть ???

Найти ошибки в данной программе (известно что есть только 2 ошибки) - Assembler
У меня в модуле с програмирования задание: Найти ошибки в данной программе (известно что есть только 2 ошибки) .model small .data ...

4
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.06.2011, 02:08 #2
какие ошибки?
0
!!!Archi!!!
4 / 4 / 0
Регистрация: 07.04.2011
Сообщений: 73
17.06.2011, 02:31  [ТС] #3
когда уже ввел значение то выкидует из программы и не сохраняет в файл, и еще не может просматривать данные из файла
0
grizlik78
Эксперт С++
1964 / 1457 / 119
Регистрация: 29.05.2011
Сообщений: 3,016
17.06.2011, 03:25 #4
Сначала вызывается input(), где заполняются поля объекта, затем вызывается save() где сохраняются поля объекта, на который указывает mass[kolvo]. Проблема в том, что к этому моменту ни один элемент этого массива не инициализирован.
Да и вообще, дизайн класса не продуман. Зачем каждому объекту класса книга хранить массив указателей на книги? Наверное стоит сделать отдельно класс для описания книги, без этого массива, и отдельно класс хранилища (библиотеки или кто там есть), в котором уже и указатели и создание-удаление-запись-чтение... Да и главному циклу с меню тоже не место ни в том, ни в другом классе. Его либо в главной функции, либо в отдельном интерфейсном классе.
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
17.06.2011, 07:07 #5
Цитата Сообщение от !!!Archi!!! Посмотреть сообщение
в поточном месяце
А что такое поточный месяц? Прога, в ней thread, каждый его квант времени равен месяцу и имеется в виду этот месяц? Или Месяц чистого времени работы потока с учётом пауз между его квантами? Или некий stream, при юзании которого кажадя операция занимет месяц? Или тот же stream, но закрывающийся ровно черз месяц?

Добавлено через 41 секунду
Цитата Сообщение от !!!Archi!!! Посмотреть сообщение
входными данными есть:
А по-русски нельзя?

Добавлено через 23 секунды
Цитата Сообщение от !!!Archi!!! Посмотреть сообщение
цена дата выдачи
Это что ещё за кракозябел?

Добавлено через 1 минуту
И чо такое "выкидует"? Дует из местоимения "вы"?
0
17.06.2011, 07:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2011, 07:07
Привет! Вот еще темы с ответами:

Ошибки после компиляции на Visual Express 2012.Ошибки в теме - Visual C++
Добрый вечер ребят помогите пожалуйста.Программа написана на Visual Express 2012.Обясните что поменять чтобы зароботало. После компиляции...

Inet Explorer при обнаружении ошибки вместо описания ошибки выдает иероглифы - C# ASP.NET
Начал изучение ASP. Inet Explorer при обнаружении ошибки вместо описания ошибки выдает иероглифы... А мне ОЧЕНЬ хотелось бы почитать, что...

Windows XP на HP compaqt 6220 ошибки при установке, как убить эти ошибки - Windows XP
Всех приветствую уважаемые Комрады ,форумчане не проходите мимо помогите откликнитесь мучаюсь уже с месяц попробывал всё что можно ...

Не удалось инициализировать SAM из-за следующей ошибки: Присоединенное к системе устройство не работает. Состояние ошибки: 0xc0000001 - Windows XP
Добрый день форумчане. На работе одна женщина после месяца отпуска напрочь забыла пароль от своей учетной записи (она сидела на...


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

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

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