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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
#1

При запуске вылетает,а почему? - C++

21.04.2009, 10:39. Просмотров 1495. Ответов 16
Метки нет (Все метки)

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
#include <iostream>
using namespace std;
const int MAX=100;  //Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*îå êîëè÷åñòâî ñèìâîëîâ Гў èìåГ*ГЁ
class emloyee
{
      long nomer;
      char name[MAX];
      public:
              void setdata()
              {    
                   for(int j=0;j<name[MAX];j++)
                   {
                   cin>>name;
                   cin>>nomer;
                   }
              }
              void display()
              {
                   cout<<"Name="<<name<<endl;
                   cout<<"Nomer="<<nomer;
              }
};
int main()
{
emloyee s1;
s1.setdata();
s1.display();
}
Если тока так
C++
1
2
3
4
5
 for(int j=0;j<MAX;j++)
                   {
                   cin>>name;
                   cin>>nomer;
                   }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2009, 10:39     При запуске вылетает,а почему?
Посмотрите здесь:

Программа вылетает при запуске - C++
День всем добрый! Я недавно заметил такую особенность. Если размещать файл программы по директории, содержащей русские символы,...

При запуске приложения вылетает сообщение - C++
При запуске приложения вылетает следующее, приложение рабочее, помогите пожалуйста(

При запуске программы вылетает Dev-C++ - C++
Здравствуйте! Хотел я сделать программу которая. Просит на вход несколько данных. А на выходе выдает учеников школы 50 набравших...

При запуске прогаммы из папки Release вылетает - C++
Есть программа написанная мной(500 строк) Если запускаю дебаг, все работает так как надо Если запускаю реалайз, все работает как надо ...

Программа вылетает при запуске из консоли ( утечка) - C++
Добрый день. Столкнулся с интересной проблемой. Написал программу(см.ниже, в ней две небольших утечки - см.ниже). При фиксированных...

Почему при матрице 19х19 считает, а при 20х20 вылетает? - C++
Здравствуйте, искал решение задачи коммивояжера полным перебором нашел тут: ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jds_07
27 / 26 / 1
Регистрация: 12.03.2009
Сообщений: 85
21.04.2009, 10:44     При запуске вылетает,а почему? #2
C++
1
2
3
4
5
6
7
#include <conio.h>
...
int main() {
    ...
    getch();
    return 0;
}
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
21.04.2009, 10:45  [ТС]     При запуске вылетает,а почему? #3
И при такой программе выводит тока последнего,введенного сотрудника,а не весь список так в чем прикол?
Monte-Cristo
2787 / 1373 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.04.2009, 10:46     При запуске вылетает,а почему? #4
Tiami, а что вы хотели сделать? этот блок абсолютно непраивльный в любом случае:

C++
1
2
3
4
5
6
7
8
    void setdata()
    {    
        for(int j=0;j<name[MAX];j++)
        {
            cin>>name;
            cin>>nomer;
        }
    }
Добавлено через 1 минуту 3 секунды
скорей всего необходимо так
C++
1
2
3
4
5
    void setdata()
    {    
            cin>>name;
            cin>>nomer;
    }
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
21.04.2009, 10:48  [ТС]     При запуске вылетает,а почему? #5
jds_07,
Да ето я знаю,когда первый раз написал ту программу сразу вылетало даже ввести не давало,потом сменил в цикле на просто MAX терь вводишь,а выводится тока последний чел,а не весь массив в чем прикол не знаю

Добавлено через 58 секунд
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
скорей всего необходимо так
Ну так я могуПросто как правильно описать тот блок допустим чтобы выводил список всего введененого массива?
С использованием вот цикла for напримерчтобы при каждой итерации записывать данные,и потом выводить этот блок данных
Sergei
1428 / 695 / 40
Регистрация: 22.04.2008
Сообщений: 1,608
21.04.2009, 10:50     При запуске вылетает,а почему? #6
Да и это помоему не правильно, Tiami сформулируйте нормально задание. и тогда поможем, вы что хотите хранить в объекте данного класса, не совсем понятно???
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
21.04.2009, 10:54  [ТС]     При запуске вылетает,а почему? #7
Ну вот допустим мой цикл правильный
C++
1
2
3
4
5
   for(int j=0;j<MAX;j++)
                {
                   cin>>name;
                   cin>>nomer;
                }
Он вводит стока скоко нужно,а вот как вывести этот весь блок данных?
не cout<<name[max]?

Добавлено через 2 минуты 18 секунд
Программа короче,Ввести данные о 100 сотрудниках и персональный номер
Затем вывести все это на экран,но с использованием массива типа char,класса emloyee у меня,и long в private для номера Personal
Monte-Cristo
2787 / 1373 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.04.2009, 10:57     При запуске вылетает,а почему? #8
Цитата Сообщение от Tiami Посмотреть сообщение
char name[MAX];
это строковая переменная, состоящая из MAX символов (последний '\0' )

циклом:

C++
1
2
3
4
5
for(int j=0;j<MAX;j++)
{
   cin>>name;
   cin>>nomer;
}
ты просто в одни и те же переменные вводил данные... т.е. вводил ты их, MAX раз..но в одни и те же.. как слендствие, они перезатереались... пожэтому последний и вы водился

Добавлено через 2 минуты 56 секунд
скорее всего так
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
#include <iostream>
using namespace std;
const int MAX=100;
 
class emloyee
{
  private:  
    long nomer;
    char name[MAX];
    
  public:
    void setdata()
    {    
            cout << "Enter name = "; cin >> name;
            cout << "Enter number = ";cin >> nomer;
    }
    void display()
    {
        cout << "Name = "<< name<<endl;
        cout << "Nomer = " << nomer;
    }
};
 
int main()
{
    emloyee s[MAX];
    for (int i=0; i<MAX; i++)
        s[i].setdata();
 
    for (int i=0; i<MAX; i++)
        s[i].display();
 
    system("pause");
    return 0;
}
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
21.04.2009, 11:00  [ТС]     При запуске вылетает,а почему? #9
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
ты просто в одни и те же переменные вводил данные... т.е. вводил ты их, MAX раз..но в одни и те же.. как слендствие, они перезатереались... пожэтому последний и вы водился
Хм,а как сделать тогда чтобы список выводился
не так ли char name[MAX][N],где N количество сотрудников а MAX количество букв в введенном слове?или как я не понимаю

Добавлено через 1 минуту 0 секунд
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
скорее всего так
Хитро все так и просто Хм
Monte-Cristo
2787 / 1373 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.04.2009, 11:04     При запуске вылетает,а почему? #10
можно сделать динамически: кол-во сотрудников вводит пользователь.

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
#include <iostream>
using namespace std;
const int MAX=100;
 
class emloyee
{
  private:  
    long nomer;
    char name[MAX];
    
  public:
    void setdata()
    {    
            cout << "Enter name = "; cin >> name;
            cout << "Enter number = ";cin >> nomer;
    }
    void display()
    {
        cout << "Name = "<< name<<endl;
        cout << "Nomer = " << nomer;
    }
};
 
int main()
{
    int n;
    cout << "Vvedite kol-vo sotrudnikov = ";
    cin >> n;
    
    emloyee *s = new emloyee[n];
    for (int i=0; i<n; i++)
        s[i].setdata();
 
    for (int i=0; i<n; i++)
        s[i].display();
 
    system("pause");
    delete[] s;
    return 0;
}
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
21.04.2009, 11:07  [ТС]     При запуске вылетает,а почему? #11
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
скорее всего так
Вот какой крит Вылетел когда я в переменную Number ввел Nero xD,по твоей программе
Это как понять
Миниатюры
При запуске вылетает,а почему?   При запуске вылетает,а почему?  
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
21.04.2009, 11:11  [ТС]     При запуске вылетает,а почему? #12
И потом криты вылетают даже если в number вводишь число тока))
Monte-Cristo
2787 / 1373 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.04.2009, 11:22     При запуске вылетает,а почему? #13
Tiami, ты ввел не в мой код.. мой код - рабочий на все 100%..проверь еще раз свой, может ты мой частично скопировал? а необходимо было полностью..
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
21.04.2009, 11:26  [ТС]     При запуске вылетает,а почему? #14
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Tiami, ты ввел не в мой код.. мой код - рабочий на все 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
#include <iostream>
using namespace std;
const int MAX=100;
 
class emloyee
{
  private:      
        long nomer;
        char name[MAX];
        
  public:
        void setdata()
        {    
                        cout << "Enter name = "; cin >> name;
                        cout << "Enter number = ";cin >> nomer;
        }
        void display()
        {
                cout << "Name = "<< name<<endl;
                cout << "Nomer = " << nomer;
        }
};
 
int main()
{
        emloyee s[MAX];
        for (int i=0; i<MAX; i++)
                s[i].setdata();
 
        for (int i=0; i<MAX; i++)
                s[i].display();
 
        system("pause");
        return 0;
}
RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
21.04.2009, 11:47     При запуске вылетает,а почему? #15
Здесь 100 раз запрашивается имя и 100 раз оно выводится.
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
21.04.2009, 12:09  [ТС]     При запуске вылетает,а почему? #16
Цитата Сообщение от RazorQ Посмотреть сообщение
Здесь 100 раз запрашивается имя и 100 раз оно выводится.
Ну у меня по скринам нет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2009, 19:38     При запуске вылетает,а почему?
Еще ссылки по теме:

Почему при вводе данных вылетает ошибка - C++
вот написал программу #include &lt;iostream&gt; using namespace std; #define N 2 struct Spis { char KODp; char Fm; char TARIF; ...

Borland c 5.02 при запуске по шагам (F8) вылетает окошко CPU c кодом АСМ как его убрать? - C++
День добрый. Кто знает подскажите пожалуйста в Borland C++ 5.02 при пошаговом запуске программы выдает окошко CPU с асемблерным кодом как...

При компилировании компилятор вылетает,нет ли ошибок, или почему он так? - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;iomanip&gt; using namespace std; int main; void init (int matrix, int size); ...

Почему не вылетает ошибка при выделении памяти под динамический массив, размером 100 Гб? - C++
Здравствуйте, знатоки! Столкнулся с проблемой выделения памяти под динамические массивы. При создании массива более программа вылетает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Monte-Cristo
2787 / 1373 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.04.2009, 19:38     При запуске вылетает,а почему? #17
попробуй вот это..и скажи что получилось?
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
#include <iostream>
using namespace std;
const int MAX=3;
 
class emloyee
{
  private:      
        long nomer;
        char name[100];
        
  public:
        void setdata()
        {    
                        cout << "Enter name = "; cin >> name;
                        cout << "Enter number = ";cin >> nomer;
        }
        void display()
        {
                cout << " Name = "<< name << endl;
                cout << " Nomer = " << nomer << endl;
        }
};
 
int main()
{
        emloyee s[MAX];
        for (int i=0; i<MAX; i++)
                s[i].setdata();
 
        for (int i=0; i<MAX; i++)
                s[i].display();
 
        system("pause");
        return 0;
}
Yandex
Объявления
21.04.2009, 19:38     При запуске вылетает,а почему?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru