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

Функция очистки экрана приводит к выборочному крешу программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу поиска двузначных чисел, обладающих следующим свойством: если к сумме цифр числа прибавить квадрат этой суммы, то получится снова д http://www.cyberforum.ru/cpp-beginners/thread606871.html
Написать программу поиска двузначных чисел, обладающих следующим свойством: если к сумме цифр числа прибавить квадрат этой суммы, то получится снова данное число
C++ Программа калькулятор запускается и отключается хочу создать калькулятор по видео уроку, все сделал как на уроке показывает учитель, но, его прога работает а моя - нет (запускается и отключается). Это может быть, если у него, скорее всего XP а у меня 7? Вот код: #include <iostream> using namespace std; int main () { int a, b; http://www.cyberforum.ru/cpp-beginners/thread606865.html
Инициализация обьекта внутри другого класса C++
Всем привет. Вообщем проблема такая. Есть несколько классов class WeaponType { }; class Swords : public WeaponType { }; КЛАСС PLAYER class Player {
В каждой строке заданной матрицы вычислить сумму, количество и среднее арифмитическое положительных элементов C++
Задача - в каждой строке заданной матрицы A(N,M) вычислить сумму, количество и среднее арифмитическое положитьных элементов.
C++ Ошибка identifier `pec` cannot have a type qualifier http://www.cyberforum.ru/cpp-beginners/thread606847.html
Всем доброй ночи. Не пойму в чем ошибка, выдает такую ошибку " identifier `pec` cannot have a type qualifier ". И хотелось бы узнать так ли я осуществила удаление объектов из класса? Делала первый раз а как работает не могу проверить из за первой ошибки) Заранее спасибо ^^ #include <iostream.h> #include <conio.h> #include <math.h> #include <string.h> #include <stdio.h> class adres
C++ Поиск наименьшего из значений элементов столбца, который обладает наибольшей суммой модулей элементов Люди может кто-нибудь написать метод решения задач к данной: #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <math.h> #define N 10 int main() подробнее

Показать сообщение отдельно
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 150

Функция очистки экрана приводит к выборочному крешу программы - C++

16.06.2012, 00:57. Просмотров 428. Ответов 4
Метки (Все метки)

Вот программа :
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
#include "classPat.h"
#include <fstream>
#include <stdlib.h>
 
int main ()
{
    setlocale (LC_ALL, "Russian");
    using std::cin;
    using std::cout;
    cout<<"Ââåäèòå ГўГ*ГёГҐ èìÿ : ";
    char ownerName[30];
    cin>>ownerName;
    cout<<"Ââåäèòå êîëè÷åñòâî æèâîòГ*ûõ êîòîðûå êîãäГ* ëèáî æèëè Гі ГўГ*Г± : ";
    int amountPats;
    cin>>amountPats;
    
    Pat *objPat=new Pat[amountPats];
    
    for (int i=1; i<=amountPats; i++)
    {
        cout<<"Ââåäè èìÿ "<<i<<"-ГЈГ® æèâîòГ*îãî : ";
        char patName[30];
        cin>>patName;
        objPat[i].SetName(patName);
        cout<<"Ââåäèòå âîçðГ*Г±ГІ "<<i<<"-ГЈГ® æèâîòГ*îãî : ";
        int patAge;
        cin>>patAge;
        objPat[i].SetAge(patAge);
    }
    system("cls");
    cout<<"\n-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
    cout<<"\nГ‚Г*ГёГҐ èìÿ : "<<ownerName<<"\n";
    cout<<"Êîëè÷åñòâî ГўГ*ГёГЁГµ ïèòîìöåâ : "<<amountPats<<"\n";
    cout<<"-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/";
    for (int i=1; i<=amountPats; i++)
    {
        cout<<"\nГ„Г*Г*Г*ûå "<<i<<"-ГЈГ® ïèòîìöГ* :\n";
        cout<<"Èìÿ : "<<objPat[i].GetName()<<"\n";
        cout<<"ÂîçðГ*Г±ГІ (ïîëГ*ûõ ëåò) : "<<objPat[i].GetAge()<<"\n";
        cout<<"----------------------------------------------";
    }
    cout<<"\n";
    char resp;
    cin>>resp;
    //delete [] objPat;
    return 0;
}
вот ее класс :
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
#include <iostream>
 
class Pat
{
    private :
        int patAge;
        char patName[30];
    public :
        int GetAge () const;
        void SetAge (int age);
        const char *GetName () const;
        void SetName (char *name);
};
 
int Pat::GetAge () const
{
    return patAge;
}
 
void Pat::SetAge (int age)
{
    patAge=age;
}
 
const char *Pat::GetName () const
{
    return patName;
}
 
void Pat::SetName (char *name)
{
    for (int i=0; i<30; i++)
    {
        patName[i]=name[i];
    }
}
Если закоментировать строку 30 в программе, то она работает коректно. Но если оставить очистку экрана, то при создании 1, 3, 4, 5 объектов класа (строка 17), программа крешитса. При создании 2 работает коректно, но последнее значение выводитса на абум (вводишь 34, получаешь 2035824242), а вот если 6 или более то все в порядке. Если кто сталкивался с таким, объясните в чем причина такого абсолютно не адекватного поведения.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru