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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2012, 18:25   #1
Xelo
Новичок
Джуниор
 
Регистрация: 21.05.2012
Сообщений: 2
По умолчанию (С++)(Базы данных)Открытие файла работает не коректно.

Вот часть кода, она должна открывать сохраненную базу данных, но каждый раз открываются нули и совершенно лишние числа.
Может кто нибудь знает что неправильно?

Код:
void bank::inputfile()  //ввод БД из файла
{ifstream fin;
int i;      //рабочая переменная для подсчёта
 osn t;  //рабочая переменная для подсчёта записей в файле
 char file[20]; //переменная для названия файла
 if(px!=NULL){delete[]px;n=0;px=NULL;}  //очистка рабочей области(массива)
 cout<<"Ima otkrivaemogo faila: ";cin>>file;
 fin.open(file);
 if(fin==NULL){cout<<file<<" ne otkrit\n";getch();return;}
 n=0;
 //подсчёт записей в файле
 do{fin>>t.nomer>>t.ima>>t.data>>t.ls>>t.dengi;
  n++;
  for(n=0;n<10;n++);
   } while(fin.good()); //пока файл не закончился
n++;
 fin.close();
 px=new osn[n]; //выделение динамической памяти
 if(px==NULL){cout<<"net pamjati\n";n=0;getch();return;}
 fin.open(file);
 if(fin==NULL){cout<<file<<" ne otkrit\n";getch();return;}
  //ввод массива задолжников из файла
for(i=0;i<n;i++)
 {fin>>px[i].nomer>>px[i].ima>>px[i].data>>px[i].ls>>px[i].dengi;
 }
 fin.close();
}
Xelo вне форума Ответить с цитированием
Старый 22.05.2012, 07:14   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,821
По умолчанию

Код:
fin.open(file);
 if(fin==NULL){cout<<file<<" ne otkrit\n";getch();return;}
Бред. Если выполнилась первая строка, то фин уже явно не НУЛЛ. Есть метода is_open.
p51x вне форума Ответить с цитированием
Старый 22.05.2012, 19:17   #3
Xelo
Новичок
Джуниор
 
Регистрация: 21.05.2012
Сообщений: 2
По умолчанию

p51x, спасибо, дописал пару строк, все работает.
Xelo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
if условие работает не коректно jasul PHP 2 27.04.2012 16:14
форма заказа работает не коректно Dacent89 PHP 1 26.05.2011 14:03
Открытие файла MS Word из базы данных Access. v_skull БД в Delphi 0 17.05.2009 17:08
Замена файла базы данных Gladiator БД в Delphi 8 28.05.2008 21:30
Открытие(подключение) уже существующей базы данных MS Access через ADO Moel БД в Delphi 7 24.10.2007 16:57