Форум: Форум C++Разное
Новые темы: 00
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Dev C++ Turbo c++

Сообщения:  [1-2] 

 
 автор: vvmcpp   (20.12.2010 в 10:50)   письмо автору
 
   для: nfyaka   (04.05.2010 в 20:02)
 

Скорее всего в Turbo C++ у тебя подключены не те библиотеки которые подключены в Dev,
хотя они и называются одинаково.
Из-за этого может быть ошибка.
Скорее всего для того чтобы однозначно правильно работало надо указать полный путь к библиотекам или явно сказать компилятору откуда что берется и наверное использовать
namespace

Подключение по новому стилю
#include <iostream>
подключение по устаревшему стилю
#include <iostream.h>
подключение нестандартных
#include "имя_библиотеки" или #include "имя_библиотеки.h" - точно не знаю вернее это может зависит от компилятора который используется
По идее хороший компилятор должен выдать ошибку если директива написанна неправильно

  Ответить  
 
 автор: nfyaka   (04.05.2010 в 20:02)   письмо автору
3 Кб
 
 

Программа выводит строчки правильно в Dev-C++ и совершенно не то в Turbo C++. Мне необходимо, чтобы оно работало в Turbo C++. Пожалуйста, подскажите.

В классе CDВ есть метод Get(int position), который считывает с файла за адресом dbname с позиции position структуру, и возвращает ее. В классе CUser есть три указателя на объекты класса CDB, каждый отвечает за работу с разными файлами. Из ShowRec(int position) идет обращение к Get(int position) каждого указателя и выводится на экран содержимое полученной структуры.
В Dev-C++ выводит правильно, а в Turbo C++ совершенно не то. Я совершенно не могу понять в чем проблема.

#include <stdio.h>
#include <string.h>
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
//----------------------
 
typedef struct
{
char field[7][100];
}record;
 
class CDB
char*dbname;
int numrecs;
  public:
  CDB(char*name);
  ~CDB();
  record Get(int position);
};
 
CDB::~CDB()
{
delete []dbname;
dbname=NULL;
}
 
CDB::CDB(char*name)
{
        numrecs=0;
        dbname=new char[strlen(name)];
        strcpy(dbname,name);
        FILE*f;
        f=fopen(dbname,"rb");
        if(!f)                 
        {       f=fopen(dbname,"wb");
                record rec;
                memset(&rec,0,sizeof(record));
        }
        else
                {
                 fseek(f,0,SEEK_END);
                 numrecs=ftell(f)/sizeof(record);
                 }
        fclose(f);
}
 
record CDB::Get(int position)
{ record rec;
  FILE*f=fopen(dbname,"rb");
  fseek(f,position*sizeof(record),SEEK_SET);
  fread(&rec,sizeof(record),1,f);
  fclose(f);
  return rec;
}
//-----------------
class CUser
{
        protected:
        CDB*dbP;
        CDB*dbC;
        CDB*dbS;
        public:
        CUser(CDB*dbp,CDB*dbc,CDB*dbs);
        void ShowRec(int position);
};
 
 CUser::CUser(CDB*dbp,CDB*dbc,CDB*dbs)
{
  dbP=dbp;
  dbC=dbc;
  dbS=dbs;
}
 
void CUser::ShowRec(int position)
{
  record current=dbP->Get(position);
     for(int i=0;i<7;i++)
       cout<<current.field[i]<<endl;
     cout<<"---"<<endl;
  current=dbC->Get(position);
     for(int j=0;j<7;j++)
       cout<<current.field[j]<<endl;
     cout<<"---"<<endl;
  current=dbS->Get(position);
     for(int k=0;k<7;k++)
       cout<<current.field[k]<<endl;
     cout<<"---"<<endl;
  
 }
 
 int main()
 {
  CDB dbPassw("DBPASSW.dat"),dbCounter("DBCOUNTER.dat"),dbConsum("DBCONSUM.dat");
  CUser obU(&dbPassw,&dbCounter,&dbConsum);
  obU.ShowRec(0);
  getch();
  return 0;
 }


файлы: DBPASSW.dat - 3 структуры, остальные по 6.

  Ответить  

Сообщения:  [1-2] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования