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

Блуждающая ошибка! F5- без ошибки, Ctrl+F5 - с вылетом! о как! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ветвление http://www.cyberforum.ru/cpp-beginners/thread623577.html
я начал учить с++, уже второй день........... написал алгоритм с ветвлением #include <stdio.h> #include <iostream.h> #include <conio.h> int main(int nNumberofArgs, char*pzArgs) {setlocale(LC_ALL,"Russian"); int num1; cout << "введите первое число: "; cin >> num1;
C++ Узнать запущена ли служба Windows Как узнать запущена ли оперделенная служба Windows, если конкретно служба управления подключениями удаленного доступа. Т.е моей программке находящейся в автозапуске нужно ждать покаместь служба не запустится, а затем затем она должна запустить rasdial.exe для установления соединения. http://www.cyberforum.ru/cpp-beginners/thread623576.html
Вычисление среднего балла C++
Прошу, подскажите как можно реализовать следующее задание: вычислить средний балл по каждому студенту и по каждой дисциплине, количество задолженностей и количество задолженников по группе. Заранее спасибо.
C++ Каков синтаксис оператора <?( меньше )
Надо было написать программу, считывающую количество слов, которые пользователь хочет ввести, затем программа считывает каждое слово и потом выводит 3 наиболее часто встречающихся слов. Я решил немного упростить сортировку, применив алгоритм std::sort(). Вот теперь такая проблема: сортировка почему-то происходит по убыванию. Почему так? Для проверки программы достаточно ввести 5, затем...
C++ случайные числа http://www.cyberforum.ru/cpp-beginners/thread623509.html
rand() в VS имеет диапазон от 0 до 32768? даже изменение RAND_MAX ничего не повысит верхний уровень?
C++ Разный доступ к элементам структуры через указатель Всем добрый вечер! Есть структура и два указателя на структуру. Первый указатель выделяет память для единичного значения а второй для массива. И вот в чем вопрос. Почему для обращения к элементам структуры в первом случае используется операция ->(стрелка) а во втором .(точка)? struct candyBar { char name; double weight; int kaloriya; }; подробнее

Показать сообщение отдельно
tihonya
11 / 7 / 1
Регистрация: 30.05.2012
Сообщений: 107
14.07.2012, 02:20     Блуждающая ошибка! F5- без ошибки, Ctrl+F5 - с вылетом! о как!
Компилятор вижуал студия 2010, Кидаете в компилятор,
Добавляете через меню "Dobaviti studenta" один или два или три студента(столько раз надо запустить),
сохраняем через пункт меню
выходим
А дальше играемся: load, показать на экран, екзит.
И такое F5- без ошибки, Ctrl+F5 - с вылетом! Шо его делать? Что править без понятия!!!!! Жесть а не ошибка.
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
#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;
class Student{
public:
  char *name;
  char *surname;
  int year;
 
    Student(){
    name=new char[1];
    surname=new char[1];
    strcpy(name,"");
    strcpy(surname,"");
    year=1900;
    }
    ~Student(){
 
    }
 
};
 
class Grup_st{
    Student * stud;
    int n;
public:
    Grup_st(){
        n=0;
        stud=new Student[n];
    }
    ~Grup_st(){
    //  delete[]stud;
    }
void addOne(){
    char buffer[28];
    Student *tmp=new Student[n+1];
    for(int i=0;i<n;i++)
        tmp[i]=stud[i];
    delete[]stud;
    stud=tmp;
    cout<<endl<<"Vvedite name of the Student:\n";
    gets(buffer);
//  fgets(buffer,128,stdin);
    delete[] stud[n].name;
    stud[n].name=new char [strlen(buffer)+1];
    strcpy(stud[n].name,buffer);
    cout<<endl<<"Vvedite surname of the Student:\n";
    gets(buffer);
    delete[] stud[n].surname;
    stud[n].surname=new char [strlen(buffer)+1];
    strcpy(stud[n].surname,buffer);
    cout<<endl<<"Vvedite the Students born year:\n";
    cin>>stud[n].year;
    cin.ignore(1,'\n');
    n++;
}
    
void show(){
    system("cls");
    if (n==0){
        printf("Grupp is epmty!!");
        return;
    }
 
    for(int i=0;i<n;i++){
    printf ("Students name is:%s \n",stud[i].name);
    cout<<"Students surname is: "<<stud[i].surname<<endl;
    cout<<"Students year is: "<<stud[i].year<<endl<<endl;
    }
}
void save(){
        FILE *f=fopen("temp.txt","wt");
    for(int i=0;i<n;i++){
    fprintf(f,"%s, %s, %i\n",stud[i].name,stud[i].surname, stud[i].year);   
    cout<<i+1<<")Students name is: "<<stud[i].name<<endl;
    cout<<"Students surname is: "<<stud[i].surname<<endl;
    cout<<"Students year is: "<<stud[i].year<<endl<<endl;
    }
fclose(f);
}
void load(){
    char *buf=new char[38], *t;
    n=0;
    Student *tmp;
    delete[]stud;
    stud=new Student[n];
        FILE *f=fopen("temp.txt","rt");
 
        while(fgets(buf,38,f)!=0){
            tmp=new Student[n+1];
            for(int i=0;i<n;i++)
                tmp[i]=stud[i];
            delete[]stud;
            stud=tmp;
        t=strstr(buf,", ");
        strncpy(stud[n].name,buf,t-buf);
        stud[n].name[t-buf]='\0';
        buf= t+2;
        t=strstr(buf,", ");
        strncpy(stud[n].surname,buf,t-buf);
        stud[n].surname[t-buf]='\0';
        buf= t+2;
        stud[n].year=atoi(buf);
        n++;
        strcpy(buf,"");
        }
        fclose(f);
}
};
 
 
void main(){
        int key =0,index=0, size=5;
        Grup_st Myg;
    char* meny[]={"Dobaviti studenta", "Pokazati gruppu studentov","Sohraniti gruppu studentov",
        "load", "Exit"};
    for(;key!=27;){
        system("cls");
        for(int i=0; i<size; i++)
            if(i==index)
                cout<<(char)26<<meny[i]<<"\n";
            else
                cout<<' '<<meny[i]<<"\n";
        key=getch();
            if ((key==224)||(key==0))
                key=getch();
        switch (key){
        case 72:
            if (index>0)
                index--;
            else
                index=size-1;
                break;
        case 80:
            if (index<size-1)
                index++;
            else
                index=0;
                break;
        case 13:
            switch(index){
            case 0: Myg.addOne();
            break;
            case 1: Myg.show();
            break;
            case 2: Myg.save();
            break;
            case 3: Myg.load();
            break;
            case 4: key=27;
 
            break;
            }
            system("pause");
        }
    }
}
Добавлено через 16 минут
Если Ctrl+F5 то вторая загрузка "load" вылетает(это при трех записях в файле), если просто F5 то хоть постоянно энтр держи, нечего не вылетает! бывает вылетает при выходе.(при тех же условиях)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru