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

Наследование и полиморфизм - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не првильно записываются числа с одного масива в другой http://www.cyberforum.ru/cpp-beginners/thread541885.html
Условие такое: дан массив W. Записать числа из массива W в новый массив B следующим образом: 1. Четные числа 2. нечетные числа больше ноля 3. нечетные числа меньше ноля Я написал код, но правильно записывае только первые два пункта. Подскажите в чем ошибка? #include<stdio.h> #include<conio.h> void main() {
C++ Звук в С++ Сразу говорю Работаю в Dev C++ Вопрос можно ли с помощью стандартных библиотек поспроизвести mp3. Если да, то с помощь како библиотеки и как? Если можно пример тоже дайте. http://www.cyberforum.ru/cpp-beginners/thread541881.html
C++ деструктор не может очистить память
Всем привет. Ребят, проблема такая. Есть класс который предназначен для хранения двумерной матрицы. Вот: class intArr{ int** arr; int xSize, ySize; public: ~intArr(); intArr(int x, int y, int min, int max); void show();
C++ Однострочный калькулятор
Вроде бы элементарная программа,но появилось затруднение Программа на Си. Обычный калькулятор(+ - / *). Необходимо следующее: вводится строка: 12+2 подтверждение Enter`ом выводится результат: 14 Вот и всё. Подскажите реализацию.
C++ Создайте модуль, в котором будет храниться процедура создания следующей картинки. Используя модуль, поместите картинку по углам экрана и в центре. http://www.cyberforum.ru/cpp-beginners/thread541857.html
Создайте модуль, в котором будет храниться процедура создания следующей картинки. Используя модуль, поместите картинку по углам экрана и в центре.
C++ объясните строку объясните пожалуйста подробно вторую строку, откуда берутся эти значения? hModule = GetModuleHandle(NULL); SizeFunc=((PIMAGE_OPTIONAL_HEADER)((LPVOID)((BYTE*)(hModule)+((PIMAGE_DOS_HEADER)(hModule))->e_lfanew+sizeof(DWORD)+sizeof(IMAGE_FILE_HEADER))))->SizeOfImage; подробнее

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

Наследование и полиморфизм - C++

07.04.2012, 17:32. Просмотров 699. Ответов 4
Метки (Все метки)

Добрый день ребятюни!!
Срочно требуется ваша помощь!
Программа которая служит для вывода выдающихся учеников и преподов.
Если у ученика средний бал больше 3,5 а у препода кол-во публикаций больше 100 то они выдающиеся...
Но пролема в том что программа изначально не работает!!!
Жду от вам поддержки!))
Вот код:
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
#include "StdAfx.h"
#include <iostream>
using namespace std;
 
class person //базовый абстрактный класс персоны        
{
protected:
    char name[40]; //поле для создания имени
public: 
    void getName() //запросить ввод имени
    {cout <<"BBeduTe uMya: "; cin>>name;}  //запрос на ввод имени
    void putName()
    {cout <<"uMya: "<<name<<endl;}  //вывод имени
    virtual void getData() = 0;  //чистая виртуальная функция
    virtual bool isOutstanding() = 0; //чистая виртуальная функция
};
////////////////////////////////////////////////
class student : public person  //класс студент
{
private:
    float gpa; //скрытое поле для хранения баллов
public:
    void getData() //запросить данные об ученике
    {
    person::getName(); //
    cout<<"BBeduTe CpedHuu bal y4eHuka: "; cin>>gpa;  //запрос на ввод балла ученика
    }
    bool isOutstanding() //логическая ф-ция сравнения баллов
    {return (gpa>3.5) ? true : false;} //больше или меньше 3,5 баллов
};
/////////////////////////////////////////////////
class professor : public person //класс профессор
{
private: 
        int numPubs; //число публикаций
public:
    void getData() //запросить данные о педагоге
    {
        person::getName(); //функция ввода имени
        cout<<"BBeduTe kol-Bo publukacuu: "; cin>>numPubs; //запросить ввод публикаций
    }
    bool isOutstanding() //функция сравнения
    {return (numPubs>100) ? true : false; } //сравнение публикаций, сохранение значения
};
//////////////////////////////////////////////////
int main ()
{
    person* persPtr[100]; //массив персон 
    int n=0; //число людей внесенных в массив
    char choice;
    do{ //
        cout<<"Ychashiicya (s) ili pedagog (p)? "; //запрос учащийся или педагог?
        cin>>choice ; //ввод с/п
        if(choice=='s') //если ы
            persPtr[n]=new student; //ввод студента
        else //если п
            persPtr[n]=new professor; //ввод профессора
        persPtr[n++]->getData(); //запрос данных о персоне
        cout<<"BBecTu ewe persony? (yes/no): "; cin>>choice; //создать еще персону?
    } //
    while (choice=='y'); //пока ответ да, создаем персону
    int j;
    for (j=0; j<n; j++);//цикл для вывода имен из массива
    { 
        persPtr[j]->putName(); //вывести все имена массива
        if (persPtr[j]->isOutstanding()) //сообщаить о выдающихся
            cout<<"ETO BbIdayshuucya cheloBek! \n"; //
    } 
    return 0;  //
}
Все кончается после нажатия n...
Я просто не совсем догоняю. Это прога - пример из учебника. Не знаю почему, но уже не первый пример в учебнике не работает. Руки вырвать авторам...
Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru