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

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

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

Не корректно работает программа с класами - C++

14.04.2013, 15:15. Просмотров 356. Ответов 2
Метки нет (Все метки)

Привет Всем. У меня есть к Вам просьба. Я вот написал программу,но в ней редактирование и удаление данных из базы данных работает не качественно, то есть есть какой то баг. Помогите пожалуйста исправить его.
Вот программа.
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
class CashBox
{
  private:
    static int count;
    int number;
    enum {max=15};
    char Name[max];
    char departure_date[max];
    char departure_time[max];
    char arrival_date[max];
    char arrival_time[max];
    int price;
  public:   
    void get()
    {
      number=++count;
      cout<<"\Bbedit Name: "; gets(Name);
      cout<<"\Press Date of Departure: "; gets(departure_date);
      cout<<"\Press Time of Departure: "; gets(departure_time);
      cout<<"\Press Date of Arrival: "; gets(arrival_date);
      cout<<"\Press Time of Arrival: "; gets(arrival_time);
      cout<<"\Bbedit price: "; cin>>price;
    }
 
    void show() const
    {
      printf("\n%2d %15s %8s %8s %8s %8s %10d",number, Name, departure_date, departure_time, arrival_date, arrival_time, price);
    }
    static int getCount()
        { return count; }
    static void setCount(int c)
        { count = c; }  
    void setNumber(int n)
        { number = n; }
};
 
class DataBase
{
    private:
        CashBox CB[];
        int i;
    public:
        DataBase() : i(0)
            {}
        void add()
        {
            //CB[i] = new CashBox;
            CB[i++].get();
        }
        void del()
        {
            int n;
            cout<<"\nWitch number you want to delete? " ;
            cin>>n;
            for(int j=n; j<CashBox::getCount()-1; j++)
                CB[j] = CB[j+1];
            delete &CB[i--];
            CashBox::setCount( CashBox::getCount()-1 );
        }
        void show() const
        {
            for(int j=0; j<CashBox::getCount(); j++)
                CB[j].show();
        }
        void edit()
        {
            int n;
            cout<<"\nWitch number you want to edit? " ;
            cin>>n;
            delete &CB[n-1];
            CB[n-1].get();
            CB[n-1].setNumber(n);
            CashBox::setCount(CashBox::getCount()-1);
        }
};
 
int CashBox::count = 0;
 
int main()
{
  clrscr();
  DataBase db;
  char choice;
 
  do{
    cout<<"\nAdd record-a \nDelete record-d ";
    cout<<"\nShow records-s \nEdit records-e \nQuit-q\n";
    cin>>choice;
    switch(choice)
    {
       case 'a': db.add();
                break;
 
       case 'd': db.del();
                break;
 
       case 's': db.show();
                break;
 
       case 'e': db.edit();
                break;
 
       case 'q': cout<<"\nCreated by Andrew";
         cout<<"\nPress any key to exit!";
         getch();
         exit(1);
 
       case 'c': clrscr(); break;
       default : cout<<"\nUnknown command!\n";
    }
 
    //cout<<"\nContinue(y/n)? ";
    //cin>>choice;
  }while(choice);
  
  getch();
  return 0;
}
Также нужно доработать поиск по базе данных по конкретному признаку и сортировку за разными полями. Но я не знаю как это сделать. Прошу Вашей помощи друзья.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 15:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не корректно работает программа с класами (C++):

Программа работает не корректно - C++
Здравствуйте, помогите мне пожалуйста разобраться с программой. Вот само задание: Дано натуральное число n. Найти все меньшие n числа...

Не корректно работает программа в C++ - C++
Составьте алгоритм программы, которая принимает от пользователя значение x и в зависимости от его значения, расчитывет значение функии f(x)...

Программа работает корректно, но не до конца - C++
пользователь вводит шестизначное число. Разбить его на два трехзначных числа. и записать их в разные переменные. Вот мой код.:(...

Не корректно работает программа,посмотрите - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;iomanip.h&gt; #include &lt;math.h&gt; int main(void) { clrscr(); int x; ...

Программа то вылетает с ошибкой, то работает корректно - C++
При запуске программа то вылетает с ошибкой, то работает нормально. Нутром чую, что проблема в следующем куске кода, где я создаю объекты...

Очень непростая программа с класами! - C++
Всем привет! Нужно сделать класс Matrix (квадратная матрица) Действия: -=, *=. Класс должен иметь конструкторы, для создания объектов...

2
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
14.04.2013, 15:39 #2
строка 41
CashBox CB[];
- это непонятно что. нужны массивы - нужно явно задавать их размеры. нужны динамические массивы - используйте
std::vector<CashBox>


C++
1
2
3
4
delete &CB[n-1];
CB[n-1].get();
CB[n-1].setNumber(n);
т.е. сперва удаляем объект, а потом вызываем методы у него. оригинально.
А вообще "есть какой-то баг" - это плохое описание проблемы.
И до кучи, осваивайте дебагер, а то я подозреваю вы проблему пытаетесь найти методом пристального взгляда.
0
Kochulab
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 32
14.04.2013, 21:16  [ТС] #3
Ок, ясно буду исправлять.. а по поводу поиска по базе данным по конкретному признаку и сортировку по разных полях, как сделать?

Добавлено через 4 часа 0 минут
Помогите пожалуйста сделать поиск по базе данных по конкретному признаку и сортировку за разными полями
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2013, 21:16
Привет! Вот еще темы с ответами:

Не корректно работает программа (Упорядочить элементы матрицы) - C++
Условие: Дана матрица целых чисел N* M.Упорядочить элементы матрицы так чтобы четные элементы матрицы максимально плотно заняли верхнюю...

Чтение из файла - программа корректно работает лишь раз - C++
пишу курсовую,возникла проблема, суть: при первом запуске вроде работает всё нормально, при следующем же либо просто черный экран, либо ...

Не корректно работает - C++
I need help. Не могу понять почему мой код при считывание с одного файла и записи в другой пропускает первый символ. Буду очень благодарен...

Работает не корректно - C++
Суть задачи в том что бы Написать программу, которая ждет ввода буквы русского алфавита и в зависимости от этого определяет гласная или...


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

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

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