Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2010, 16:51   #1
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию Не компилиться

в общем проблема в следующем, пытаюсь постигнуть ООП, но билдеровский компилятор выдает мне ошибку типа это:
[IMG]
http://rghost.ru/3252431
[/IMG]

не могу понять почему, вот сам код:
Код:
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <string.h>
#include <fstream.h>
class TPerson{
public:
string Name[100];
string Surname[100];
string Otch[100];
int n;
char file[30];
TPerson(int n,char file[30]);//êîñòðóêòîð èíèöèàëèçàöèè äàííûõ èç ôàéëà
void  PersonSurname(int n);
void PersonName(int n);
void PersonOtch(int n);
void GetPerson(int n);
void PrintAllPErsons(int n);
void SaveDate(int n,char file[30]);
};
TPerson::TPerson(int n,char file[30]){
int i=0,f=0;
ifstream ofile;
ifstream mainfile;
ofile.open(file);
mainfile.open("temp.dat");
        if(!ofile){cout<<"\n Error in reading "<<file; f=1;}
        if(!mainfile){cout<<"\n Error in reading temd.dat, program will be close ";system("pause");exit(1);}
if(f==0){
        while(!ofile.eof()){
        for(i=0;i<n;i++){
                ofile>>Name[i];
                ofile>>Surname[i];
                ofile>>Otch[i];
        }
        }
}
if(f==1){
cout<<"\n Readin from main file !!!";
        while(!mainfile.eof()){
        for(i=0;i<n;i++){
                mainfile>>Name[i];
                mainfile>>Surname[i];
                mainfile>>Otch[i];
        }
        }
}
ofile.close();
mainfile.close();
}
void TPerson::PersonSurname(int n){
int i;
string NewSurname;
cout<<"\n Insert seacrh surname: ";cin>>NewSurname;
for(i=0;i<n;i++){
if(NewSurname==Surname[i]){
        cout<<"\n PErson found: ";
        cout<<"\n ANKETA: ";
        cout<<"\n Name: "<<Name[i];
        cout<<"\n Surname: "<<Surname[i];
        cout<<"\n Otch: "<<Otch[i];
        cout<<"\n insert new surname: ";cin>>NewSurname;
        Surname[i]=NewSurname;
}else {cout<<"\n Person nor found: "; break;}
}
}
void TPerson::PersonOtch(int n){
int i;
string NewO;
cout<<"\n Insert seacrh otch: ";cin>>NewO;
for(i=0;i<n;i++){
if(NewO==Surname[i]){
        cout<<"\n PErson found: ";
        cout<<"\n ANKETA: ";
        cout<<"\n Name: "<<Name[i];
        cout<<"\n Surname: "<<Surname[i];
        cout<<"\n Otch: "<<Otch[i];
        cout<<"\n insert new otch: ";cin>>NewO;
        Otch[i]=NewO;
}else {cout<<"\n Person nor found: "; break;}
}
}
void TPerson::PersonName(int n){
int i;
string NewN;
cout<<"\n Insert seacrh Name: ";cin>>NewN;
for(i=0;i<n;i++){
if(NewN==Surname[i]){
        cout<<"\n PErson found: ";
        cout<<"\n ANKETA: ";
        cout<<"\n Name: "<<Name[i];
        cout<<"\n Surname: "<<Surname[i];
        cout<<"\n Otch: "<<Otch[i];
        cout<<"\n insert new name: ";cin>>NewN;
        Name[i]=NewN;
}else {cout<<"\n Person nor found: "; break;}
}
}
void TPerson::GetPerson(int n){
int i=0;
for(i=0;i<n;i++){
if((Name[i]!="")&&(Surname[i]!="")&&(Otch[i]!="")){
cout<<"\n Name: "<<Name[i]<<" Surname: "<<Surname[i]<<" Otch: "<<Otch[i]<<"\n ";
}
}
}
/*void TPesron::PrintAllPErsons(int n){
int i=0;
for(i=0;i<n;i++){
if((Name[i]!="")&&(Surname[i]!="")&&(Otch[i]!="")){
cout<<"\n Name: "<<Name[i]<<" Surname: "<<Surname[i]<<" Otch: "<<Otch[i]<<"\n ";
}
} */
int main(){
TPerson *Man;
int MenuKey=0;

cout<<"\n Insert File Name: ";cin>>Man->file;
//Man->TPerson(Man->n,Man->file);
while(MenuKey!=6){
 cout<<"\n 1:Print all Persons 2: Edit Suname 3: Edit Name 4: Edit Otch 6:exit ";
 cout<<"\n Chosen action[1..6]: ";cin>>MenuKey;
        switch(MenuKey){
        case 1: Man->GetPerson(100);break;
        case 2: Man->PersonSurname(100);break;
        case 3: Man->PersonName(100);break;
        case 4: Man->PersonOtch(100);break;
        }
}
}

Последний раз редактировалось CodeNOT; 14.11.2010 в 17:01. Причина: НЕправильно отправил
CodeNOT вне форума Ответить с цитированием
Старый 14.11.2010, 17:25   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Это не компилятор. Где-то с памятью лажанули, вот он и кричит.
Carbon вне форума Ответить с цитированием
Старый 14.11.2010, 17:29   #3
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

О_о. Чет да, надо сейчас перепроверить!
CodeNOT вне форума Ответить с цитированием
Старый 14.11.2010, 17:32   #4
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Запустите в режиме отладки, он должен показать строку с ошибкой.
Во всяком случаи студия показывает
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 14.11.2010, 17:41   #5
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Код:
int main()
{
      TPerson *Man;
      int MenuKey=0;

      cout<<"\n Insert File Name: ";
      cin>>Man->file;
...}
Во-первых, делайте нормальные отступы, если, конечно, не трудно, а затем объясните:
куда по-вашему запишется результат считывания из входного потока, ведь указатель Man - неинициализирован.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 14.11.2010, 17:52   #6
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

нашел ошибку, я дурак, я же сделал указатель на класс:
char ffile[30];
char nn=100;
cin>>ffile;
Man=new TPerson(nn,ffile);
CodeNOT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не компилиться класс наследник.. coper Общие вопросы .NET 1 30.03.2010 00:39
написал алгоритм перевода чисел из 10 в любую другую систему счисления...компилиться, но не выполняеться STR78 Общие вопросы C/C++ 4 03.11.2008 17:07
Не компилиться adm34 Паскаль, Turbo Pascal, PascalABC.NET 6 10.02.2007 02:11