0 / 0 / 0
Регистрация: 05.06.2015
Сообщений: 4
1

Ошибка: "Ваша программа вызвала нарушение доступа (ошибку сегментации)"

05.06.2015, 01:12. Показов 574. Ответов 2
Метки нет (Все метки)

Доброго времени суток.
При выполнении возникает ошибка "Ваша программа вызвала нарушение доступа (ошибку сегментации)", знаний у меня мало, поэтому прошу Вас помочь исправить эту ошибку,
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
#include <cstdlib>
#include <iostream>
#include "conio.h"
 
int ocenka[3][4];
void stroka_ocenki(void);
int vvod_ocenki(int num);
void vivod_ocenok(int vivod[3][4]);
 
using namespace std;
 
 
 
 
int main()
{
    setlocale (LC_ALL, "Russian");
    
    int point;
 
   
  
  for(;;) 
    {
    cout << "Введите число, чтобы показать количество учеников:" << endl;
    cout << "1 - Ввести оценки" << endl;
    cout << "2 - Показать оценки" << endl;
    cout << "1 - Выполнивших первую работу на (5)" << endl;
    cout << "0 - Для выхода из программы" << endl << endl;
    cout << "-> ";
    cin >> point;  
 
      // Menju
      switch (point) 
       {
     case 0:
              getch();
              return 0;
              
         case 1: 
            stroka_ocenki();
            break;  
            
         case 2: 
            vivod_ocenok(ocenka);
            break;  
 
 
 
         default: cout << endl <<"Неправильный ввод! Введите число от 0 до 2: " << endl << endl;
       }
    }
  
 getch();
 return 0;
 
}
 
//присваивание введенных оценок к элементам массива
void stroka_ocenki(void)
{
    setlocale (LC_ALL, "Russian");
    int ocenka[3][4];    
    int i, j;
    
    for(i=0; i<4; i++)
    {
        printf("Студент %i:\n", i+1);
        for(j=0; j<3; j++)
            ocenka[i][j] = vvod_ocenki(j);
    }
}
 
 
// ввод оценки
int vvod_ocenki(int num)
{
    setlocale (LC_ALL, "Russian");
    int s;
    printf("Оценка  %i:\n", num+1);
    cin >> s;
    return s;
}
 
 
 
// вывод оценок
void vivod_ocenok(int vivod[3][4])
{
    setlocale (LC_ALL, "Russian");
    int i, j;
    for(i=0; i<4; i++)
    {
        printf("Класс %d:\n", i+1);
        
        for(j=0; j<3; j++)
            printf("Оценка %d -> %d\n", j+1, vivod[i][j]);
    }
 
}
Добавлено через 9 минут


Ошибка происходит после ввода оценок, т е если постоянно запрашивать вывод оценок то программа булет нормально работать, а если ввести оценки и, например, запросить вывод или запросить ввод еще раз, то программа вдает ошибку
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2015, 01:12
Ответы с готовыми решениями:

Как исправить ошибку "Ваша программа вызвала нарушение доступа (ошибка сегментации)" ?
Программа выдает ошибку на fclose(fil):Ваша программа вызвала нарушение доступа(ошибку...

Ваша программа вызвала нарушение доступа(ошибка сегментации)
Уже видел тему с той же проблемой, но так и не смог интерпретировать то что написано там под...

Что означает "нарушение доступа (ошибка сегментации)"
отладчик выдает : нарушение доступа(ошибка сегментации) что это означает??? в чем суть ошибки???

Ошибка Необработанное исключение в "0x001d18f8" в "lr7v2.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdcdcde9"
class Hdd { public: char Hdd_name; int total_space; int free_space; int speed; ...

2
Don't worry, be happy
17758 / 10526 / 2030
Регистрация: 27.09.2012
Сообщений: 26,502
Записей в блоге: 1
05.06.2015, 01:16 2
C++
1
2
3
4
5
6
7
8
int ocenka[3][4];// 3x4
//...
    for(i=0; i<4; i++)
    {
        printf("Студент %i:\n", i+1);
        for(j=0; j<3; j++)
            ocenka[i][j] = vvod_ocenki(j);//а проходите как по 4x3
    }
1
0 / 0 / 0
Регистрация: 05.06.2015
Сообщений: 4
05.06.2015, 01:26  [ТС] 3
Спасибо Вам большое!
не думал что такая мелочь)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2015, 01:26
Помогаю со студенческими работами здесь

Возникает ошибка "0xC0000005: Нарушение прав доступа при чтении "0xfeeefee2"."
Подскажите, пожалуйста, в чем может быть ошибка и как его исправить? В деструкторе указывает на...

Выходит ошибка Необработанное исключение в "0x0007102f" в "Lab08.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00078000". Как исправить
.586 .model flat, stdcall option casemap :none ; case sensitive ; Раздел подключения библиотек...

"Необработанное исключение в "0x00417c85" в "oui2.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000"."
Пишем программу в VS 2010 на С++ DirectX SDK (June 2010). Доходя до одной строчки появляется...

Программа "Калькулятор", ошибка сегментации
Даны арифметические выражения, составленные из операндов и двоич ных операций: +, –, *, /....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru