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

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

Войти
Регистрация
Восстановить пароль
 
Mazahacka
Сообщений: n/a
#1

Неправильно компилируется программа - C++

27.11.2012, 12:03. Просмотров 269. Ответов 0
Метки нет (Все метки)

Доброе время суток форумчане.
В общем сразу к делу...
Изучаю С++ по книжке Лафоре, компилирую под линуксом - Дебиан 6 компилятор g++.
В общем проблема такая возникла, написал код по массовому наследованию классов

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
#include <iostream>
using namespace std;
///////////////////////////////////////////////////////////////////////////////////////////
class student 
{
private:
char nameZ[50]; //Название учебного заведения
char so[50];    //Степень высшего образования
public:
//Ввод
void get()
{
cout<<"Название учебного заведения: "; cin.get(nameZ, 50);
cout<<"\nСтепень высшего образования: "; cin>>so;
}
 //Вывод 
 void print()
 {
 cout<<"Название учебного заведения*: "<<nameZ;
 cout<<"\nСтепень высшего образования*: "<<so<<endl;
 }
};
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
const int len = 100;    //Длина ФИО
 
class employ
{
//Данные
protected:        
char FIO[len];
int number;
 
public:
//Ввод
void input()
{
cout<<"\n\nФИО сотрудника: "; cin.get(FIO,len);
cout<<"Номер сотрудника: "; cin>>number;
}
 //Вывод
 void display()
 {
 cout<<"\n\nФамилия Имя Отчество сотрудника: "<<FIO;
 cout<<"Номер сотрудника: "<<number<<endl;
 }
};
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
class manager: public employ, public student  //Производный от классов employ и student
{
private:
char d[20]; //Должность  
 
public:
 //Ввод
 void input() 
 {
 employ::input();
 cout<<"Должность: "; cin>>d;
 student::get();
 }
 //Вывод
  void display()
  {
  employ::display();
  cout<<"Должность: "<<d<<endl; 
  student::print();
  }
};
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int main()
{
manager m1;
m1.input();
m1.display();
return 0;
}
После компиляции и запуска получаю вот что

ФИО сотрудника: test
Номер сотрудника: 123
Должность: test
Название учебного заведения:
Степень высшего образования:

Фамилия Имя Отчество сотрудника: test
Номер сотрудника: 123
Должность: test
Название учебного заведения*:
Степень высшего образования*: 俍��g����俘���}������)��g���g��test

т.е насколько я понимаю он пропускает эти два поля, если поменять местами вызовы методов в классе manager
student::get();
employ::input();
cout<<"Должность: "; cin>>d;
, то наоборот образование вводится остальное пропускается, не подскажите в чем причина? Заране благодарен!

Добавлено через 14 часов 23 минуты
Решил проблему следующим путем, изменил эту строку в классе student, метод get()
cout<<"Название учебного заведения: "; cin.get(nameZ, 50);
заменил на
cout<<"Название учебного заведения: "; cin>>nameZ;

Так все работает, если вдруг кто-то столкнется с такой же траблой
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 12:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Неправильно компилируется программа (C++):

Программа компилируется в Borland 6.0 но не компилируется в Visual Studio 2008 - C++
Ета програма компилируетса в борланде 6.0 но не компилируетса в Visualstudio 2008 и в борланде 10-м почему? #include&lt;iostream&gt; ...

Первая программа. Код не компилируется и не запускается программа. - C++
Первая программа, первая ошибка Здравствуйте! Решил учить С++. Скачал книгу Programming: Principles and Practice Using C++, Бьерн...

Не компилируется программа - C++
// Students.cpp: определяет точку входа для консольного приложения. // #include &lt;stdlib.h&gt; // Для работы со структурой #include...

Не компилируется программа - C++
------ Построение начато: проект: Rapid Roll, Конфигурация: Debug Win32 ------ Компиляция... raiders3d.cpp c:\rapid...

Не компилируется программа - C++
Привет. Прошу помочь, если это конечно возможно, не компилируется этот код в dev cpp, версия 5.11. Подскажите, что не так. Выдает такую...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 12:03
Привет! Вот еще темы с ответами:

Не компилируется программа - C++
Скпомпилируйте, у меня одной оно не так как надо работает??? # include &lt;iostream&gt; # include &lt;iomanip&gt; # include &lt;cmath&gt; #...

Не компилируется программа - C++
Здорова! Не компилируется программа: #include &lt;iostream&gt; using std::cout; using std::endl; class class1 //базовый класс для...

Программа не компилируется - C++
Доброго всем времени суток! Не могу скомпилировать программу. У меня задача написать программу сортировки целых чисел методом...

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


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

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

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