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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Nfyaka
1 / 1 / 1
Регистрация: 04.05.2010
Сообщений: 28
#1

Dev-C++ и Turbo C++ - C++

04.05.2010, 18:51. Просмотров 628. Ответов 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++ совершенно не то. Я совершенно не могу понять в чем проблема.

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
#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;
  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;
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2010, 18:51     Dev-C++ и Turbo C++
Посмотрите здесь:

Переписать код из dev-C++ в Turbo C - C++
помогите переделать из dev-C++ в Turbo C #include &lt;iostream&gt; #include &lt;windows.h&gt; #include &lt;conio.h&gt; #include &lt;graphics.h&gt; int...

Перевести задачи из Dev C++ на Turbo C++ - C++
Все работает, но массив берет из не пойми откуда, помогите? кто шарит? 1 задача #include &lt;iostream.h&gt; #include &lt;string.h&gt; ...

Библиотеки в Dev-C++ - C++
Добрый день! Может я конечно и слепой и не нашел как установить библиотеку на Dev-C++... Я хотел бы узнать что нужно сделать если у меня...

Апдейт dev C++ - C++
В дейве зашёл в webupdate. нашёл SFML и хотел его скачать, но выдаёт ошибку.

FANN и Dev-C++ - C++
Всем привет! Недавно скачал библиотеку FANN для работы с нейронными сетями в С++. При попытке скомпилировать этот(и другие) код из...

Самоучитель по Dev C++ - C++
Посоветуйте или дайте ссылку на учебник по Dev C++. Поиск ничего не выдаёт...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,276
04.05.2010, 19:13     Dev-C++ и Turbo C++ #2
скиньте архивом три файла с содержимым, ща глянем)
либо попробуйте написать проверку на открытие файла, может просто файл не там поместили и он не открывается или файлы считываются верно?
Nfyaka
1 / 1 / 1
Регистрация: 04.05.2010
Сообщений: 28
04.05.2010, 19:21  [ТС]     Dev-C++ и Turbo C++ #3
BIN.rar
спасибо)
когда использую метод считки структуры напрямую, без посредничества CUser - все нормально и в турбо и в дев.
ах да, в классе CDB одно поле упустила int numrecs..>.<
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2010, 20:06     Dev-C++ и Turbo C++
Еще ссылки по теме:

Dev C++ не компилирует - C++
dev c++ не компилирует Пишет такую ошибку: &quot;CreateProcess(C:\Users\User\AppData\Local\Temp\make214122.bat,...

Builder и Dev C++ - C++
Всем привет!! Есть такой вопросик можноли в билдере програмировать как в Dev C через stdio.h И вобще в чем разница между этими средами...

Dev C++ задачи - C++
Здравствуйте, кому не сложно помогите решить задачи: Язык: C++, Среда разработки: Dev C++. 1) Дан текст из цифр, за который следует...

Шрифт в Dev-C++ - C++
Конечно, вопрос задан не в том разделе, но я не знаю, где его задать:) Как-нибудь в Dev-С++ можно поменять размер шрифта кода. Буду...

WMI и Dev-C++ - C++
Мне нужно узнать объем видеопамяти на эту тему на гуглил что нужно использовать Win32_VideoConfiguration Class, но компилятор ругается на...

Ругается dev c ++ - C++
#include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;string&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; using namespace std; ...


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

Или воспользуйтесь поиском по форуму:
Nfyaka
1 / 1 / 1
Регистрация: 04.05.2010
Сообщений: 28
04.05.2010, 20:06  [ТС]     Dev-C++ и Turbo C++ #4
Нет, с открытием файлов все в порядке.... я уже как могла протестировала. Почему-то именно в Турбо отображает неправильно.
Yandex
Объявления
04.05.2010, 20:06     Dev-C++ и Turbo C++
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru