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

Не обращается к функции из класса. Проект телефонная книга - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при компиляции http://www.cyberforum.ru/cpp-beginners/thread975978.html
Такая вот ситуация. Мне нужно сделать так, чтобы в TMemo1 выводилось всё, что выглядит вот так: href="word", а точнее переменная word... Ниже дан исходный код. Помогите, плиз...
C++ Проблемы с кракозябрами Здравствуйте. Понимаю, что это самый задаваемый вопрос, но после многих усердных попыток что-то сделать, ничего не выходит. Делал почти все, что нашел в гугле: от setlocale до system ("chcp... http://www.cyberforum.ru/cpp-beginners/thread975974.html
C++ Цикл: Найти первое нечетное и второе четное избыточное число
ребят помогите пожалуйста решить задачу Найти первое нечетное и второе четное избыточное число (избыточное число - положительное целое число n, сумма положительных делителей которого превышает...
Cin.get C++
Как сделать чтобы cin.get считывал числа а не символы, т.е. вот код { int a, b, c; int i; int z; for(i=0; i<5; i++){ z=cin.get(); if(z== 'A') ...
C++ Правильность данных http://www.cyberforum.ru/cpp-beginners/thread975933.html
Дан фрагмент кода: int main() { int a, b, c; int i; char z; for(i=0; i<5; i++){ cin >> z; if(z== 'A') z=-1;
C++ Найти периметр и площадь треугольника в C ++. 10. Треугольник задан координатами (x1, y1), (x2, y2), (x3, y3) своих вершин. Найти периметр и площадь треугольника подробнее

Показать сообщение отдельно
Strangerr
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 8

Не обращается к функции из класса. Проект телефонная книга - C++

13.10.2013, 10:37. Просмотров 806. Ответов 11
Метки (Все метки)

Здравствуйте! Прошу помощи так как проект нужно сдавать уже на днях
В данном проекте функции уже написаны, но существует следующая проблема: когда пытаешься нажать case 3, то ничего не происходит, т.е. программа работает, но не обращается к функции из класса, а поэтому не выводит каталог телефонной книги. Не знаю, что с этим делать, пожалуйста помогите! Заранее спасибо!

Вот код:

main.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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#include<iostream>;
#include <fstream>
#include <iomanip>
using namespace std;
#include "classs.h"
 
int main()
    {
        setlocale(LC_ALL, "Russian");//для русского языка
        int phone=0;
        char name[20];
        char comments[50];
        char catalog[50];//сама телефонная книга
 
        int i=0;
        int number=0;
        int numb_row=0;
        int choice=0;
        do
        {
            cout<<"*****Phone Book*****"<<endl;
            cout<<"1) Add New Record"<<endl;
            cout<<"2) Display a Record"<<endl;
            cout<<"3) Display all Records"<<endl;
            cout<<"4) Change the number of the row"<<endl;
            cout<<"5) Exit"<<endl;
            cout<<"Choose your choice : ";
            cin>>choice;
            switch(choice){
                case 1:
                        {
                        cout<<"Set information: "<<endl;
                        int telephone;
                        telephone=phonebook_card::add_element(name, phone, comments);
                        phonebook_card card(name,telephone,comments, &catalog[i],1);//добавляем строку в каталог 
                        card.showMessage();//выводим на экран
                        i++;
                        }
                        break;
                case 2:
                        cout<<"Put the number of the row you want to see: "<<endl;
                        cin>>numb_row;
                        //здесь будет обращение к строке из каталога
                        break;
                case 3:
                        cout<<"Your Phone Book: "<<endl;
                        phonebook_card show_card();//НЕ обращается к функции    
                            break;
                case 4:
                        cout<<"What number do you want to change?"<<endl;
                        cin>>number;
                        phonebook_card::change_number_of_row(number);//выводим ошибку за неимением прав для изменение строки
                        break;
                case 5:
                        exit(0);
        }
            system("pause");
            system("cls");//очистка экрана
    }
        while(choice != 0);
        return 0;
}
 
 
 
 
 
//class.h
class phonebook
{
    char name[20];
    int phone;
    char comments[50];
public:
    phonebook(char*, int, char*);//конструктор
    //~phonebook();//деструктор
    void showMessage(void); 
};
 
 
phonebook :: phonebook(char* name, int phone, char* comments)//конструктор объектов класса phonebook
{
    strcpy(phonebook::name,name);
    phonebook:: phone=phone;
    strcpy(phonebook::comments, comments);
}
 
/*phonebook::~phonebook()
{
    cout<<"Деструктор класса phonebook"<<endl;
}*/
 
 
void phonebook::showMessage(void)
{
    cout<<"Имя: "<<name<<endl;
    cout<<"Телефон: "<<phone<<endl;
    cout<<"Комментарии: "<<comments<<endl;
}
 
 
class phonebook_card : public phonebook//наследование 
{
    int checked_out;
    char catalog[50];
public:
    int i;
    phonebook_card(char*, int, char*, char*, int);//конструктор 
    //~phonebook_card();//Деструктор
    void show_card(void);
    static void change_number_of_row(int);
    static int add_element(char*, int, char*);
};
 
phonebook_card: : phonebook_card(char* name, int phone, char* comments, char* catalog, int checked_out)
    : phonebook(name, phone, comments)//конструктор объектов класса phonebook_card вызывает конструктор phonebook для инициализации элементов класса phonebook
{
    strcpy(phonebook_card::catalog, catalog);
    phonebook_card::checked_out=checked_out;
    catalog[i]=(name +" "+phone+" "+comments);
}
 
/*phonebook_card::~phonebook_card()
{
    cout<<endl<<"Деструктор класса phonebook_card"<<endl;
}*/
 
void phonebook_card::show_card(void)//весь каталог показываем
{
    showMessage();//функция-элемент класса phonebook 
    cout<<"Каталог: "<<catalog<<endl;
    if(checked_out)cout<<"Статус: занята"<<endl;
    else cout<<"Статус: свободна"<<endl;
}
 
void phonebook_card::change_number_of_row(int a)//a - номер строки, сама функция доступна для использования пользователем, но вывод ошибки, за неимением прав!
{
            cout<<"Error! You don't have rights for it!"<<endl;
}
 
int phonebook_card::add_element(char* name, int phone, char* comments)//добавляем элементы в строку
{
            int j=0;
            int rest=0;
            int i;
            cout<<"Put full name: ";
            cin>>name;
            do
            {
                i=0;
                cout<<"Put phone number (only 7 numbers!!): ";
                cin>>phone;
 
                int phone2=phone;
                while(phone2>0)//считаем количество цифр в phone
            {
                phone2/=10;
                i++;
            }
 
                if(i<7 || i>7)
                {
                    cout<<"Incorrect phone number!"<<endl;
                    j=1;
                }
                else if(i==7)
                {
                    j=2;
                }
            }
            while(j != 2);
            cout<<"Put comments: ";
            cin>>comments;
            cout<<endl;
 
            return phone;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru