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

Программа в порядке, однако segmentation fault. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ !функция из данной программы http://www.cyberforum.ru/cpp/thread88977.html
#include<iostream.h> #include<math.h> #include<conio.h> const int n=3; void main ( ) { clrscr (); int A, B; int m=0; for (int i=0; i<n; i++)
C++ Что называется NULL-принципом? Очень подозреваю, что знаю сам принцип и его плюсы. Но уверенно связать свои знания с этим названием не могу. Ответьте, пожалуйста, на вопрсы: 1. Что называется NULL-принципом? 2. Как он точно... http://www.cyberforum.ru/cpp/thread88742.html
Китайская теорема об остатках C++
товарищи есть у кого-то исходный код на Си который реализует данную теорему или может знаете где взять можно?? просто завтра нужно сдать, а как сделать ума не приложу, помогите пожалуйста
C++ Почему все считают, что qsort - НЕ из STL?
Странно, что qsort не относят к STL!? Ведь qsort определена в библиотеке cstdlib: C Standard General Utilities Library У кого какие мнения?
C++ Экзамен... НАДО СРОЧНО... http://www.cyberforum.ru/cpp/thread88553.html
задача такая: используя не более 2х переменных, ввести последовательно 5 целых чисел, и вывести те ,которые положительные и трехзначные. если нет таких - сообщить об этом. НАДО ОЧЕНЬ СРОЧНО!!!!...
C++ Слабо создать программу, которая много чего делает, а в main только return 0? Пояснение: Имеется некая функции Function() {} Причем она может делать что угодно. Кто-то знает, как запустить эту функцию НЕ из main? Например: void Function() // Любая ф-ия, которая... подробнее

Показать сообщение отдельно
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224

Программа в порядке, однако segmentation fault. - C++

24.01.2010, 22:10. Просмотров 586. Ответов 4
Метки (Все метки)

Код правильный, программа компилируется, работает как надо, однако при выходе получаю Segmentation fault.

Так в чем же ошибка?

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
// ADT-класс
#include <iostream>
using namespace std;
 
 
class Shape
{
    public:
        Shape() { }
        virtual ~Shape() { }
        virtual long GetArea() = 0;
        virtual long GetPerim() = 0;
        virtual void Draw() = 0;
    private:
};
 
class Circle: public Shape
{
    public:
        Circle(int radius) : itsRadius(radius) { }
        ~Circle() { }
        long GetArea() { return 3*itsRadius*itsRadius; }
        long GetPerim() { return 3*itsRadius; }
        void Draw();
    private:
        int itsRadius;
        int itsCircumference;
};
 
void Circle::Draw()
{
    cout << "Circle drawing routine here!\n";
}
 
 
class Rectangle: public Shape
{
    public:
        Rectangle(int len, int width):
            itsLength(len), itsWidth(width) {}
        virtual ~Rectangle() {}
        virtual long GetArea() { return itsLength * itsWidth; }
        virtual long GetPerim() { return 2*(itsLength + itsWidth); }
        virtual int GetLength() { return itsLength; }
        virtual int GetWidth() { return itsWidth; }
        virtual void Draw();
    private:
        int itsWidth;
        int itsLength;
};
 
void Rectangle::Draw()
{
    for(int i=0; i<itsLength; i++)
    {
        for(int j=0; j<itsWidth; j++)
            cout << "x ";
        
        cout << endl;
    }
}
 
class Square: public Rectangle
{
    public:
        Square(int len);
        Square(int len, int width);
        ~Square() { }
        long GetPerim() { return 4*GetLength(); }
};
 
Square::Square(int len):
    Rectangle(len, len)
{}
 
Square::Square(int len, int width):
    Rectangle(len, width)
    
{
    if(GetLength() != GetWidth())
        cout << "Error, not a square... a Rectangle??\n";
}
 
int main()
{
    int choice;
    bool fQuit = false;
    Shape* sp;
    
    while(!fQuit)
    {
        cout << "(1)Circle (2)Rectangle (3)Square (0)Quit: ";
        cin >> choice;
        
        switch(choice)
        {
            case 0: fQuit = true;
                break;
            case 1: sp = new Circle(5);
                break;
            case 2: sp = new Rectangle(4, 6);
                break;
            case 3: sp = new Square(5);
                break;
            default: cout << "Please enter a number between 0 and 3: ";
                continue;
                    break;
        }
        if(!fQuit)
            sp -> Draw();
                delete sp;
            cout << endl;
    }
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru