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

Debug Assertion failed. Line 77. Expression (stream!=0) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Аналог функции из c# в c++ http://www.cyberforum.ru/cpp-beginners/thread1181510.html
Привет, пишу собственный компонент на c++ (написал раньше на c#, щас перевожу) Есть функция, которая отвечает за цвет фона. public Color BACK_COLOR { get { return col; } set {
C++ Сортировка по алфавиту вставками Здравствуйте. У меня имеется алгоритм сортировки вставками, написанный на Паскале, я его вроде перевела в С++, но возникла проблема при переводе одной строки (26), т. к. мне нужно сортировать строки, а не цифры. Помогите, пожалуйста, исправить void alphabet() { seller st; char filename1="seller.dat"; int n,i,j; FILE *f1; clrscr(); f1=fopen(filename1,"rb+"); http://www.cyberforum.ru/cpp-beginners/thread1181509.html
Найти все натуральные числа, меньшие чем N, для которых выполняется соотношение C++
Составьте программу, которая находит все натуральные числа, меньшие чем N, для которых выполняется соотношение a^2 + b^2 = c^2.
C++ Создать шаблонный класс С++
Помогите пожалуйста, нужно на завтра, очень прошу! Во время выполнения работы необходимо на языке C + + создать шаблонный класс, который представляет двумерный массив (матрицу). Класс должен предоставлять несколько конструкторов и деструктор. Необходимо также реализовать обработку исключений, связанных с выходом за пределы допустимых значений индексов, предоставить перегружены операции, в...
C++ не работает matrix[i + 1][j] http://www.cyberforum.ru/cpp-beginners/thread1181501.html
int matrix, i, j; for (i = 0; i < i_max; i++) for (j = 0; j < j_max; j++) if (matrix == 1) { matrix = 0; matrix = 1;//почему это не работает? }
C++ Теряется последняя структура при записи в файл Здравствуйте. Проблема такая: при добавлении в файл еще структур, всегда теряется последняя при выводе на экран, например я хочу добавить данные в файл, ввожу Фамилию1 и цифирки к ней и нажимаю просмотреть данные (функция output) и эта структура не отображается, хотя в файл записывается, потом я опять выбираю пункт в меню добавить данные и ввожу Фамилия2 и цифирки и Фамилия1 появляется, а вот... подробнее

Показать сообщение отдельно
kira_1
0 / 0 / 0
Регистрация: 16.11.2013
Сообщений: 59

Debug Assertion failed. Line 77. Expression (stream!=0) - C++

19.05.2014, 22:35. Просмотров 510. Ответов 7
Метки (Все метки)

Подскажите, пожалуйста, в чем заключается ошибка. Запускается, начинает работать, а потом пишет Debug Assertion failed. Line 77. Expression (stream!=0).




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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <locale.h>
#include <windows.h>
 
void vvod(void);
void create_file(void);
void view_file(void);
void edit_file(void);
bool flag (void);
 
struct biblioteka {
    char imya[20];
    char nazva[20];
    char rik[5];
    char group[2];
    };
 
    FILE *bibliotek;
    FILE *temp;
    int select1;
    int p,n,u,j=0,k,i=0;
    struct biblioteka avtor,temporary;
    char surname[20];
    char surname_del[20];
    char surnomer[1];
 
void main ()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_CTYPE,"Russian");
    int select;
    for (;;) {
        puts("\n\t\t\tМЕНЮ");
        puts("\t\t1 - Создание нового файла");
        puts("\t\t2 – Просмотр файла");
        puts("\t\t3 – Корректировка записей файла");
        puts("\t\t4 – Выход");
        printf("Выберите  действие:  \r\n");
        scanf("%d",&select);
        fflush(stdin);
 
        switch (select) {
        case 1: create_file(); break;
        case 2: view_file(); break;
        case 3: edit_file(); break;
        case 4: exit(0);
        default: puts ( "Неверный выбор, нажмите любую клавишу"); _getch();
        }
    }
}
 
void vvod(void) {
    printf("\nВведите автора книги: "); scanf("%s",&avtor.imya); fflush(stdin);
    printf("Введите название книги: "); scanf("%s",&avtor.nazva); fflush(stdin);
    printf("\nВведите год выпуска: "); scanf("%s",&avtor.rik); fflush(stdin);
    printf("Введите групу книги: "); scanf("%s",&avtor.group); fflush(stdin);
   
   
}
 
void create_file(void) {
 
            do {
                fflush(stdin);
                vvod();
                fflush(stdin);
                fwrite (&avtor,sizeof(avtor),1,bibliotek);
                printf("\t\tПродолжить ( д / н )?");
            }
            while (flag()!=true);
            fclose(bibliotek);
}
 
void view_file(void) {
            while (fread(&avtor,sizeof(avtor),1,bibliotek)) {
                if (feof(bibliotek)) break;
                printf("#%s %s\t%s %s %s %s\n",avtor.imya, avtor.nazva, avtor.rik,avtor.group);
            }
            fclose (bibliotek);
}
 
void edit_file(void) {
    puts("\n\t\t\tВЫБЕРИТЕ КОМАНДУ");
            puts("\t\t1 - Изменить запись");
            puts("\t\t2 – Добавить запись");
            puts("\t\t3 – Удалить запись");
            scanf("%d",&select1); fflush(stdin);
            
            switch (select1) {
            case 1:
                printf("Введите автора для изменения: "); fflush(stdin);
                gets(surname);
                fread(&avtor,sizeof(avtor),1,bibliotek);
                while (!feof(bibliotek)) {
                    if (strcmp(avtor.imya,surname)==0) {
                        printf("#%s %s\t%i %i %i %i\n",avtor.imya,avtor.nazva,avtor.rik,avtor.group);
                        printf("\t\tИзменить? ( д / н )");
                        if (flag()!=true) {
                            fflush(stdin);
                            vvod();
                            fflush(stdin);
                            p=sizeof(avtor);
                            fseek(bibliotek,-p,1); 
                            fwrite(&avtor,sizeof(avtor),1,bibliotek);
                                break;
                        }
                    }
 
                    fread(&avtor,sizeof(avtor),1,bibliotek);
                }
                fclose (bibliotek);
                break;
            case 2:
                do {
                    fflush(stdin);
                    vvod();
                    fflush(stdin);
                    fwrite (&avtor,sizeof(avtor),1,bibliotek);
                    printf("\t\tПродолжить ( д / н )?");
 
                }
                while (flag()!=true);
                fclose (bibliotek);
                break;
            case 3:
                if(!(temp = fopen("temp.bin", "w+b"))) {printf("\t\tНевозможно открыть файл \n"); return; }
                printf("Введите автора для удаления: "); fflush(stdin);
                gets(surname_del);
                fread(&avtor,sizeof(avtor),1,bibliotek);
                while (!feof(bibliotek)) {
                    if (strcmp(avtor.imya,surname_del)!=0) {
                        fwrite(&avtor,sizeof(avtor),1,temp);
                        fread(&avtor,sizeof(avtor),1,bibliotek);
                    }   else fread(&avtor,sizeof(avtor),1,bibliotek);
                }
                fclose (bibliotek);
                remove ("biblioteka.bin");
                fclose (temp);
                rename ("temp.bin","biblioteka.bin");    //Меняем основной файл временным
                //Открываем новый созданный файл
                if(!(temp = fopen("biblioteka.bin", "r+b"))) {printf("\t\tНевозможно открыть файл \n"); return; }
                while (fread(&avtor,sizeof(avtor),1,bibliotek)) {
                    if (feof(temp)) break;
                    printf("#%s %s\t%i %i %i %i\n",avtor.imya, avtor.nazva, avtor.rik,avtor.group);
                }
                break;
            }
}
 
 
bool flag (void)
{
    char flag1;
    bool flag2=true;
    scanf("%c",&flag1);
    fflush(stdin);
    if (flag1!='Н' && flag1!='н') {
        flag2=false;
    }
    else flag2=true;
    return flag2;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru