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

Найти ошибку - C++

Восстановить пароль Регистрация
 
Basil00
0 / 0 / 0
Регистрация: 02.06.2013
Сообщений: 23
29.09.2013, 19:24     Найти ошибку #1
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
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#pragma hdrstop
 
 
class Human
{
 public:
int id;
char name [250];
char adr [250];
int number;
int age;
};
 
void PrtFile();
void AddHuman();
void DelHuman(int &pnt);
int FndHuman(int nmr);
 
char* Rus(const char* text);
 
#pragma argsused
int main(int argc, char* argv[])
{ FILE *f;
  if ((f=fopen("f.dat", "wb"))==NULL) exit(1);
 
 
 
 
        return 0;
}
//---------------------------------------------------------------------------
 
char bufRus[250];
char* Rus(const char* text){
CharToOem(text, bufRus);
return bufRus;
};
 
void AddHuman(){
Human e;
int s;
int i,j;
char yn;
printf(Rus("Сколько записей хотите ввести?"),"\n"); scanf("%i",&e.name);
 
for(i=0; i<=j;i++){
 
printf(Rus("Введите ID"),"\n"); scanf("%i",e.id);
printf(Rus("Введите Ф.И.О."),"\n"); scanf("%s",&e.name);
printf(Rus("Введите адрес"),"\n"); scanf("%s",&e.adr);
printf(Rus("Введите номер"),"\n"); scanf("%i",e.number);
printf(Rus("Введите возраст"),"\n"); scanf("%i",e.age);
fwrite(&e, sizeof(Human),1,f);
if (ferror(f)==NULL) exit(2);
};
 
printf(Rus("Продолжит ввод Y/N?"),"\n"); scanf("%c",yn);
if( yn=='Y') AddHuman();
else {fclose(f);exit(2);};
};
 
void PrtFile(){
Human mas[10];
if ((f=fopen("f.dat", "rb"))==NULL) exit(3);
int i=0;
while(!feof(f)&&i<=10)
{
 fread(&mas[i], sizeof(Human),1,f);
i++;
}
fclose(f);
 
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2013, 19:24     Найти ошибку
Посмотрите здесь:

найти ошибку... C++
Найти ошибку C++
найти ошибку... C++
Найти ошибку C++
C++ Найти ошибку
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.09.2013, 19:42     Найти ошибку #2
А что пишет? Зачем функции, если нет их вызова? Указатель f не виден в функциях.
Basil00
0 / 0 / 0
Регистрация: 02.06.2013
Сообщений: 23
30.09.2013, 07:40  [ТС]     Найти ошибку #3
При заврешении ввода всех данных, выдаёт ошибку наподобие raised exception: EAcessviolation
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
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
class Human
{ public:
int id;
char name [250];
char adr [250];
int number;
int age;
};
 
void PrtFile();
void AddHuman();
void DelHuman(int &pnt);
int FndHuman(int nmr);
 
char* Rus(const char* text);
 
#pragma argsused
int main(int argc, char* argv[])
{ FILE *f;
  if ((f=fopen("f.dat", "wb"))==NULL) exit(1);
 
 
 
  AddHuman();
 
        return 0;
}
//---------------------------------------------------------------------------
 
char bufRus[250];
char* Rus(const char* text){
CharToOem(text, bufRus);
return bufRus;
};
 
void AddHuman(){
FILE *f;
Human e;
int s ;
int i,j;
char yn;
printf(Rus("Сколько записей хотите ввести?"),"\n"); scanf("%i",&e.name);
 
for(i=0; i<=j;i++)
 
{
printf(Rus("Введите ID"),"\n"); scanf("%i",e.id);
printf(Rus("Введите Ф.И.О."),"\n"); scanf("%s",&e.name);
printf(Rus("Введите адрес"),"\n"); scanf("%s",&e.adr);
printf(Rus("Введите номер"),"\n"); scanf("%i",e.number);
printf(Rus("Введите возраст"),"\n"); scanf("%i",e.age);
//fwrite(&e, sizeof(Human),1,f);
if (ferror(f)==NULL) exit(2);
}
 
printf(Rus("Продолжить ввод Y/N?"),"\n"); scanf("%c",yn);
if( yn=='Y') AddHuman();
else {fclose(f);exit(2);};
};
 
void PrtFile(){
FILE *f;
Human mas[10];
if ((f=fopen("f.dat", "rb"))==NULL) exit(3);
int i=0;
while(!feof(f)&&i<=10)
{
 fread(&mas[i], sizeof(Human),1,f);
i++;
}
fclose(f);
 
};
zer0mail
2185 / 1868 / 187
Регистрация: 03.07.2012
Сообщений: 6,643
Записей в блоге: 1
30.09.2013, 09:30     Найти ошибку #4
ОшибкУ? Да их тут полным-полно
Basil00
0 / 0 / 0
Регистрация: 02.06.2013
Сообщений: 23
30.09.2013, 13:13  [ТС]     Найти ошибку #5
Ну помоги,если не сложно, найди ошибкИ
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
30.09.2013, 13:19     Найти ошибку #6
Цитата Сообщение от Basil00 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
class Human
{
public:
   int id;
   char name [250];
   char adr [250];
   int number;
   int age;
};
можно сказать что это и есть ошибка. классы должны скрывать свои данные
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2013, 18:11     Найти ошибку
Еще ссылки по теме:

найти ошибку C++
Найти ошибку C++
C++ Задача из Златопольского: "Найти числа с известным количеством делителей". Не могу найти ошибку

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 18:11     Найти ошибку #7
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
void AddHuman(){
 FILE *f;
 Human e;
 int s ;
 int i,j;
 char yn;
 printf(Rus("Сколько записей хотите ввести?"),"\n"); scanf("%i",&e.name);
 
 for(i=0; i<=j;i++)
 
 {
 printf(Rus("Введите ID"),"\n"); scanf("%i",e.id);
 printf(Rus("Введите Ф.И.О."),"\n"); scanf("%s",&e.name);
 printf(Rus("Введите адрес"),"\n"); scanf("%s",&e.adr);
 printf(Rus("Введите номер"),"\n"); scanf("%i",e.number);
 printf(Rus("Введите возраст"),"\n"); scanf("%i",e.age);
 //fwrite(&e, sizeof(Human),1,f);
 if (ferror(f)==NULL) exit(2);
 }
 
 printf(Rus("Продолжить ввод Y/N?"),"\n"); scanf("%c",yn);
 if( yn=='Y') AddHuman();
 else {fclose(f);exit(2);};
 };
Указатель на файл объявлен, а где открытие файла?
Yandex
Объявления
30.09.2013, 18:11     Найти ошибку
Ответ Создать тему
Опции темы

Текущее время: 19:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru