k00sh
1

Нарушение прав доступа при чтении

08.01.2014, 19:48. Показов 367. Ответов 0
Метки нет (Все метки)

Я написал программу, которая сортирует список студентов по имени, году и "очкам". Но при выполнении выдает ошибку.
Первый этап обработки исключения в "0x0fa519bc (msvcp100d.dll)" в "fgf.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdeec65d".
Необработанное исключение в "0x775715ee" в "fgf.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdeec65d".
Заголовочный текст

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <cstring>
#include <iostream>
#include <fstream>
 
using namespace std;
 
struct stud
{
    char *s;
    int n;
    float bl;
};
 
void Sort(stud **, stud**, int, int );
void insertSort(stud**, int, stud*, int);
void insert(stud**, int, stud*, int);
void printStruct(stud** , int, int);

Модуль
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
#include "Head.h"
    
void insert(stud** m, int k, stud* i, int t){
    for (int j=k; j>t; j--){
        m[j] = m[j-1];
    }
    m[t] =i;
}
 
void insertSort(stud ** m, int k, stud* s, int q){
    switch (q){
    case 3 :
        for (int t=0; t<k; t++){
            if ((k>0) && ((s->bl)<(m[t]->bl))){
                    insert(m, k, s, t);
                    return;
              }
    break;
        }
    case 2 :  
        for (int t=0; t<k; t++){
                if ((s->n)<(m[t]->n)){
                    insert(m,k,s,t);
                    return;
                }
                else 
                    for (int t=0; t<k; t++){
                        int i=strcmp(s->s, m[t]->s);
                            if (i<0){
                                insert(m,k,s,t);
                                return;
                            }
                    }
        }
        break;
    }
    insert(m,k,s,k);    
}
 
void Sort(stud **s, stud **m, int k,int q){
    int i=0;
    for (int n=0; n<k; n++){
        insertSort(m, i, s[i], q);
        i++;
    }
}
 
void printStruct(stud** sn,int k,int q){
    switch(q){
        case 1 :
            cout << "otsortirovanno po imeni" << endl;
        break;
        case 2 : 
        if ((q==2) ? "otsortirovanno po godu" : "otsortirovanno po ballu")
            for (int i=0; i<k; i++)
                cout << sn[i]->s << "  " << sn[i]->n << "  " << sn[i]->bl << endl;
    }
}

Основной текст
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
#include "Head.h"
 
int main()
{
    fstream F("struct.txt"); 
    stud* st[100];
    stud* sn[100];
    char* s1 = new char[255];
    int k=0;
    while (!F.eof())
    {   
        st[k] = new stud;
        st[k]->s = new char[strlen(s1)+1];
        F >> st[k]->s;
        F >> st[k]->n;
        F >> st[k]->bl;
        k++;
    }
    F.close();
        for (int i=0; i<k; i++)
            cout << st[i]->s << "  " << st[i]->n << "  " << st[i]->bl << endl;
            cout << endl;
            Sort(st,sn,k,1);
            printStruct(sn,k,1);
            cout << endl;
            Sort(st,sn,k,2);
            printStruct(sn,k,2);
            cout << endl;
            Sort(st,sn,k,3);
            printStruct(sn,k,3);
            getchar();
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.01.2014, 19:48
Ответы с готовыми решениями:

Нарушение прав доступа при чтении
Есть некоторая структура struct Person { char Surname; char Name; sex Sex; int Age;...

Нарушение прав доступа при чтении
Пишу программу для роботы с базами данных. Скомпилирывал ошибок нема, но при запуске выдает вечно...

Нарушение прав доступа при чтении
Приветствую! Есть файл, для которого пишу парсер. Структура файла такова: какое-то количество...

Нарушение прав доступа при чтении в VS10
Доброго времени суток. Наткнулся на проблему, битый час не могу с ней справиться. Имеется файл...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2014, 19:48

Ошибка: нарушение прав доступа при чтении из файла
Реализовал функцию считывания объектов класса из файла. Функция прекрасно считывает из файла, но...

Необработанное исключение, нарушение прав доступа при чтении
Необработанное исключение по адресу 0x0F5E4654 (msvcr120d.dll) в Проект1.exe: 0xC0000005: нарушение...

(C++, asm, winapi) Readfile: Нарушение прав доступа при чтении
Задача: нужно из С++ в ассемблерной вставке обработать текстовый файл, используя функции WinAPI. ...

Необработанное исключение: 0xC0000005: Нарушение прав доступа при чтении
Программа складывает и вычитает матрицы произвольной размерности, читаемые ею с файла. На самом...


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

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

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