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

Ошибка ввода строки следующего обьекта класса (C++) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычисление корня квадратного из комплексного числа http://www.cyberforum.ru/cpp-beginners/thread652472.html
Всем доброго время суток. Вычислить корень квадратный из комплексного числа z = x + i*y. такая операция на множестве комплексных чисел, как известно, имеет два решения: {z}_{1}=...
C++ Календарь Здравствуйте форумчане. Мне нужно написать вот такую программу: C клавиатуры задается год. Программа должна найти все "черные вторники" и "черные пятницы" этого года (то есть - 13 числа). Принять... http://www.cyberforum.ru/cpp-beginners/thread652465.html
Работа с массивом структур C++
Здравствуйте! В задаче есть тип данных структура, которая состоит из массива типа int и количества элементов в массиве. Нужно написать функцию удаления одной записи из структуры. struct Vector {...
Вычисление значения y при разных значениях a и b C++
Только начал изучать c++ помогите с программой
C++ Вычисление выражения по формуле http://www.cyberforum.ru/cpp-beginners/thread652448.html
#include <iostream.h> #include <math.h> int main() { double x,y,z,a,b,c,h; cout <<Vvedite x:"; cin>>x; cout <<Vvedite y:"; cin>>y; cout <<Vvedite z:";
C++ Ответьте новичку Здравствуйте! Собственно, есть пара вопросов, на которые я был бы рад получить ответ: 1. Как известно, используя базовые библиотеки С++ (fstream) я могу записать объект класса в бинарный файл.... подробнее

Показать сообщение отдельно
WriterMix
1 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 68

Ошибка ввода строки следующего обьекта класса (C++) - C++

15.09.2012, 21:38. Просмотров 397. Ответов 4
Метки (Все метки)

Добрый вечер всем!
Проблема в том, что после ввода строки обьекта базового класса в следующим производном нету возможности для его введения! И следующие строки тоже не вводяться. И в последстве программа работает некорректно. Не могу понять в чем причина.
Вот скрин ошибки:
Ошибка ввода строки следующего обьекта класса (C++)
Код:
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
#include "stdafx.h"
#include <iostream>;
#include <string>;
using namespace std;
string *setlocale(int Category, const string *Locale);
//setlocale(LC_ALL, "Ukrainian");
 
class Worker
{
protected:
    string Name;
    int Age;
public:
    void setData();
    void showData() const;
};
void Worker::setData()
{ cout<<"Введ1ть 1м'я: "; getline(cin, Name);
  cout<<"Введ1ть в1к: "; cin>>Age;}
 
void Worker::showData() const
{ cout<<"1м'я: "; cout<<Name<<endl;
cout<<"В1к: "; cout<<Age<<endl;}
 
class Dekan : public Worker
{
private:
    string howFaculty;
    int howOld;
public:
    void GetData()
    {
    Worker::setData();
    cout<<"Введ1ть назву факультету: "; cin>>howFaculty;
    cout<<"Введ1ть в1к: "; cin>>howOld;
    }
    void ShowData() const
    {
    Worker::showData();
    cout<<"Назва факультету: "; cout<<howFaculty;
    cout<<"В1к: "; cout<<howOld;
    }
};
 
class Prepod : public Worker
{
private:
    string howSubject;
    bool habar;
public:
    void getData()
    {
    Worker::setData();
    cout<<"Введ1ть назву предмету: "; cin>>howSubject;
    cout<<"Бере хабар? (1-Так, 2 - Нi): "; cin>>habar;
    }
    void showData() const
    {
    Worker::showData();
    cout<<"Назва предмету: "; cout<<howSubject;
    if (habar == 1) cout << "Бере хабарi! " << endl;
    else cout << "НЕ бере хабарi! " << endl;
    }
};
 
class Student : public Worker
{
private:
    string howFaculty;
    int howOld;
public:
    void getData()
    {
    Worker::setData(); 
    cout<<"Введ1ть назву факультету: "; cin>>howFaculty;
    cout<<"Введ1ть в1к: "; cin>>howOld;
    }
    void showData() const
    {
    Worker::showData();
    cout<<"Назва факультету: "; cout<<howFaculty;
    cout<<"В1к: "; cout<<howOld;
    }
};
 
void main()
{
setlocale(LC_ALL, "Ukrainian");
Dekan d1;
Prepod p1;
Student s1;
cout<<"Декан: "<<endl;
d1.setData();
cout<<"Викладач: "<<endl;
p1.setData();
cout<<"Студент: "<<endl;
s1.setData();
cout<<"Декан: "<<endl;
d1.showData();
cout<<"Викладач: "<<endl;
p1.showData();
cout<<"Студент: "<<endl;
s1.showData();
}
Как сделать так, чтоб данные вводились корректно? Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru