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

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

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

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

21.04.2009, 10:39. Просмотров 1539. Ответов 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;
                   }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2009, 10:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос При запуске вылетает,а почему? (C++):

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

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

Вылетает ошибка при запуске программы - C++
Написал несложную программу сложения матриц. Скомпилирывал все нормально, ошибок нема. Начинаюца проблемы когда жму &quot;Выполнить&quot; програма...

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

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

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

16
jds_07
28 / 27 / 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;
}
0
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
21.04.2009, 10:45  [ТС] #3
И при такой программе выводит тока последнего,введенного сотрудника,а не весь список так в чем прикол?
0
Monte-Cristo
2790 / 1376 / 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;
    }
1
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
21.04.2009, 10:48  [ТС] #5
jds_07,
Да ето я знаю,когда первый раз написал ту программу сразу вылетало даже ввести не давало,потом сменил в цикле на просто MAX терь вводишь,а выводится тока последний чел,а не весь массив в чем прикол не знаю

Добавлено через 58 секунд
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
скорей всего необходимо так
Ну так я могуПросто как правильно описать тот блок допустим чтобы выводил список всего введененого массива?
С использованием вот цикла for напримерчтобы при каждой итерации записывать данные,и потом выводить этот блок данных
0
Sergei
1437 / 704 / 41
Регистрация: 22.04.2008
Сообщений: 1,608
21.04.2009, 10:50 #6
Да и это помоему не правильно, Tiami сформулируйте нормально задание. и тогда поможем, вы что хотите хранить в объекте данного класса, не совсем понятно???
0
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
0
Monte-Cristo
2790 / 1376 / 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;
}
1
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 Посмотреть сообщение
скорее всего так
Хитро все так и просто Хм
0
Monte-Cristo
2790 / 1376 / 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;
}
1
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
21.04.2009, 11:07  [ТС] #11
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
скорее всего так
Вот какой крит Вылетел когда я в переменную Number ввел Nero xD,по твоей программе
Это как понять
0
Миниатюры
При запуске вылетает,а почему?   При запуске вылетает,а почему?  
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
21.04.2009, 11:11  [ТС] #12
И потом криты вылетают даже если в number вводишь число тока))
0
Monte-Cristo
2790 / 1376 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
21.04.2009, 11:22 #13
Tiami, ты ввел не в мой код.. мой код - рабочий на все 100%..проверь еще раз свой, может ты мой частично скопировал? а необходимо было полностью..
1
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;
}
0
RazorQ
581 / 348 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
21.04.2009, 11:47 #15
Здесь 100 раз запрашивается имя и 100 раз оно выводится.
1
21.04.2009, 11:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2009, 11:47
Привет! Вот еще темы с ответами:

Почему вылетает программа при 32768, а при 20 все работает нормально? - C++
Помогите исправить, почему программа вылетает при больших числах, а если поставить маленькие то все норм. то есть если 32768 заменить на...

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

Почему программа вылетает при конкатенации строк? - C++
Собственно код #ifndef __STRING #define __STRING #include &lt;ostream&gt; class String { public: String();

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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