Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Tiami
Яростный кот
43 / 1 / 7
Регистрация: 10.03.2009
Сообщений: 220
#1

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

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


http://www.cyberforum.ru/cpp-beginners/thread2028763.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2009, 10:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос При запуске вылетает,а почему? (C++):

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

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

Вылетает ошибка при запуске программы
Написал несложную программу сложения матриц. Скомпилирывал все нормально,...

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

При запуске программы консоль сразу вылетает
После обновления visual studio в консоле перестала появляться надпись (для...

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

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

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

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

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

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


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

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

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