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

ошибка, иерархия исключений, классы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удалить из слова буквы, стоящие на четных местах http://www.cyberforum.ru/cpp-beginners/thread398991.html
как удалить из слова буквы,стоящие на четных местах??заранее благодарен.
C++ передать массив в функцию как Написать функцию, которая проверяет матрицу на ноль. С ее помощью определить количество нулевых матриц среди введенных. (Матрица считается нулевой, если количество нулевых элементов превышает 2 / 3 количества элементов). #include <iostream> #include <conio.h> using namespace std; const int n=3, m=4; int matr; int rozridgena(int); http://www.cyberforum.ru/cpp-beginners/thread398979.html
Преобразовать массив X C++
Преобразовать массив Х, расположив вначале его отрицательные элементы, а затем неотрицательные элементы, сохранив при этом в каждой из двух групп исходный относительный порядок элементов. Помогите решить:)
С++ списки C++
драствуйте помиоогите решить програму :списки Построить список согласно заданной входной последовательности чисел, показывая динамику его содержания. После обработки всей последовательности определить длину построенного списка.
C++ Напечатать только те слова, перед которыми в строке находятся только меньшие слова, а за ними – только большие http://www.cyberforum.ru/cpp-beginners/thread398953.html
Помогите написать программу на языке ANSI C или C++ Дана строка s, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв. Между соседними словами стоит запятая, за последним словом - точка. Напечатать только те слова, перед которыми в строке находятся только меньшие (по алфавиту) слова, а за ними - только большие.
C++ Запись в стек С С++ я не особо дружу, но нужно для лабы реализовать запись данных в стек именно на нем (( Насколько я помню push заталкивает данные в конец стека, а чем их можно затолкнуть в начало? подробнее

Показать сообщение отдельно
NektaRR
1 / 1 / 1
Регистрация: 26.02.2011
Сообщений: 53

ошибка, иерархия исключений, классы - C++

04.12.2011, 23:05. Просмотров 594. Ответов 0
Метки (Все метки)

//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
#pragma once
 
#include <iostream>
#include "chelovek.h"
#include "adult.h"
#include "exep.h"
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int i,old,weight,id,numb;
    char name[40];
    Human *Humanoid[3]; 
    
    while(true)
{
        fflush(stdin);
        cout << "Name " << endl;
        gets(name); 
        cout << "Old " << endl;
        cin >> old;
        cout << "Weight " << endl;
        cin >> weight;       
        try
    {        
            if (old>=18)
            {
                cout << "passportID : ";
                cin >> id;
                Humanoid[0] = new Adult(name,old,weight,id);
            }
            else
                Humanoid[0] = new Human( name, old, weight);
        }
        catch(error & err)
        {
            cout << "Nevernoe zna4enie" << err.data << "\nVvedite zanovo:" << endl;
        continue;
    }
/*catch(error & e)
        {
            cout << "Nevernoe zna4enie" << e.what() << "\nVvedite zanovo:" << endl;
        continue;
    }*/
    break;
    }
    while(true)
    {
        fflush(stdin);
        cout << "Name " << endl;
        fflush(stdin);
        gets(name); 
        cout << "Old " << endl;
        cin >> old;
        cout << "Weight " << endl;
        cin >> weight;
      
        try
        {
            if (old>=18)
                {
                cout << "passportID : ";
                cin >> id;
                Humanoid[1] = new Adult(name, old, weight,id);
                    }
            else
                Humanoid[1] = new Human( name, old, weight);
    }
        catch(const error & err)
        {
            //e->what();
            cout << "Nevernoe zna4enie" << err.data << endl;
            continue;
        }
        break;
    }
    for (i=0;i<2;++i)
      {
          Humanoid[i]->PrintInfo();
          } 
    cout << "____________________________\nPereopredelenie vozrasta:" << endl;
    cout << "nomer osobi -";
    cin >> numb;
    cout << "Old " << endl;
    cin >> old;
    if (old>=18)
     {
        cout << "passportID : ";
        cin >> id;
        Human * temp = new Adult(Humanoid[numb-1]->get_name(),old,Humanoid[numb-1]->get_weight() , id);
        delete Humanoid[numb-1];
        Humanoid[numb-1] = temp;
     }
    else
    {
        Human * temp = new Human(Humanoid[numb-1]->get_name(),old,Humanoid[numb-1]->get_weight());
        delete Humanoid[numb-1];
        Humanoid[numb-1] = temp;
    }
    //delete Humanoid[2];
    Humanoid[numb-1]->PrintInfo();
    
       delete Humanoid[0];
       delete Humanoid[1];
    
       getch();
       return 0;
       }
//exep.h
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
#pragma once
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include "chelovek.h"
#include "adult.h"
 
using namespace std; 
 
class error
  {
  public:
    int data;
    error(int d) : data(d)
    {
        data=d;
        //cout<<" <0"<<endl;
        //getch();
        //_exit(0);
    }
     error () throw();
     error (const error&) throw();
     virtual ~error () throw();
     virtual char* what () const throw();
  };
class errorOLD : public error
{
public:
    errorOLD(int b)
    {
        data=b;
    };
    char * what()
    {
        cout << "patsient ymer!!!"<<endl; 
        return "umer";
    }
};
class errorWEIGHT : public error
{
public:
    errorWEIGHT(int b)
    {
        data=b;
    };
    char * what() 
    {
        cout << "ves <0 anoreksia !!!"<<endl;
        return "anorecsia"; 
        
     } 
};
//chelovek.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
#pragma once
#include <iostream>
#include "chelovek.h"
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include "adult.h"
#include "exep.h"
//#include "exep.h"
using namespace std;
 
 
Human::Human()
{
    name = NULL;
    old = 0;
    weight = 0;
}
 
Human::Human(const Human &NextHuman)
{
    if(NextHuman.name)
    {
        name = new char [strlen(NextHuman.name)+1];
        strcpy(name, NextHuman.name);
    }
    else
        name = NULL;
    old = NextHuman.old;
    weight = NextHuman.weight;
        }
Human::Human(const char * name, const int old, const int weight)
{
    this->name = 0;
    set_name(name);
    set_old(old);
    set_weight(weight);
}
 
Human::~Human()
{
    if (name != NULL)
    {
        delete [] name;
        name = NULL;
    }
}
void Human::set_name(const char *_name)
{
    if (name != NULL) { delete [] name; } 
    name = new char [strlen(_name) + 1];
    strcpy(name, _name);
}
void Human::set_old(int _old) 
{
    if (_old < 0)
      {
          cout << "vozrast " << _old <<  " -1 patsient ymer!!!"<<endl;
          errorOLD err(_old);
        throw err.what();
      }
    old = _old;
}
void Human::set_weight(int _weight) 
{
    if (_weight < 0)
    {
        cout << "ves " << _weight <<  " anoreksia !!!"<<endl;
        errorWEIGHT err(_weight);
        throw err.what();
    }
    weight = _weight;
}
char * Human::get_name() 
{
    if(name != 0) 
        return name; 
    else
        return "0";
}
int Human::get_old() 
{
    return old;
}   
int Human::get_weight() 
{
    return weight;
}

выдает ошибки
error LNK2001: неразрешенный внешний символ ""public: __thiscall error::error(void)" (??0error@@QAE@XZ)"
error LNK2001: неразрешенный внешний символ ""public: virtual char * __thiscall error::what(void)const " (?what@error@@UBEPADXZ)"
еrror LNK2001: неразрешенный внешний символ ""public: virtual __thiscall error::~error(void)" (??1error@@UAE@XZ)"
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru