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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Skitalets
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 3
#1

Помошьс функциями сравнения времени. - C++

29.05.2009, 07:01. Просмотров 1394. Ответов 3
Метки нет (Все метки)

Доброго времени суток.Курсовая работа по темам:текстовые-бинарные файлы(переброс данных с одного в другой),стэки,структуры,работа с датой и временем.
Задача:
1)Запись в бинарный файл:номер поезда,направление,время отправления,время прибытия,расстояние.
2)Перебросить данныее из бинарного файла в текстовый.
3)Вывод данных из обоих файлов в 2 таблицы.
4)Вывести данные о поездах,которые пребывают в пути боолее суток.

Суть проблемы:
Первые три пункта сделал(вродекак) а с последним траблы ибо пропустил полностью курс по операторам даты времении с чем их едят.
Просьба:исправить,по возможности ошибки в существующем коде и помочь с написанием 4 пункта.
Задание в Borland C++Builder 6

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
99
100
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <stdio.h>
#pragma hdrstop
 
#include "kurs.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
struct poezd
{char nom[20], napr[20], otpr[10], prib[10], rasst[10];};
poezd P;
FILE *pt, *pb;
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
pb=fopen("poezd.dat","ab+");
strcpy(P.nom,Edit1->Text.c_str());
strcpy(P.napr,Edit2->Text.c_str());
strcpy(P.otpr,Edit3->Text.c_str());
strcpy(P.prib,Edit4->Text.c_str());
strcpy(P.rasst,Edit5->Text.c_str());
fwrite(&P,sizeof(P),1,pb);
fclose(pb);
}
//---------------------------------------------------------------------------
 
void Func (FILE *f1,FILE *f2)
{
f1=fopen("poezd.dat","rb+");
f2=fopen("poezd.txt","wt");
while(fread(&P.sizeof(P),1,f1));
fprintf(f2,"%s %s %s %s %s",&P.nom,&P.napr,&P.otpr,&P.prib,&P.rasst);
fclose(f2);
fclose(f1);
}
 
//--------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Func (pb,pt);
}
//---------------------------------------------------------------------------
void shapka(TStringGrid *SG)
{
SG->Cells[0][0]="N";
SG->Cells[1][0]="napravlenie";
SG->Cells[2][0]="vremja otpravlenija";
SG->Cells[3][0]="vremja pribitija;
SG->Cells[4][0]="rasstojanie";
}
 
 void zapoln (TStringGrid *SG,int k)
{
SG->Cells[0][k]=IntToStr(k);
SG->Cells[1][k]=(String)P.napr;
SG->Cells[2][k]=(String)P.otpr;
SG->Cells[3][k]=(String)P.prib;
SG->Cells[4][k]=(String)P.rasst;
k++;
}
 
 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
shapka(SG1)
pb=fopen("poezd.dat","rb"0:
int k=0;
while (fread(&P,sizeof(P),1,pb));
{k++;
zapoln(SG1,k);
}
fclose(pb);
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm1::Button4Click(TObject *Sender)
{
shapka(SG2);
pt=fopen("poezd.txt","rt");
int k=0;
While(fscanf(pt,"%s %s %s %s %s",&P.nom,&P.napr,&P.otpr,&P.prib,&P.rasst)>0);
{k++;
zapoln(SG2);
}
fclose(pt);        
}
//---------------------------------------------------------------------------
Добавлено через 18 минут 42 секунды
Чуток доработал....Кол-во ошибок уменьшилось...но...
с 4 пунктом пока всё также глухо....

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
99
100
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <stdio.h>
#pragma hdrstop
 
#include "kurs.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
struct poezd
{char nom[20], napr[20], otpr[10], prib[10], rasst[10];};
poezd P;
FILE *pt, *pb;
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
pb=fopen("poezd.dat","ab+");
strcpy(P.nom,Edit1->Text.c_str());
strcpy(P.napr,Edit2->Text.c_str());
strcpy(P.otpr,Edit3->Text.c_str());
strcpy(P.prib,Edit4->Text.c_str());
strcpy(P.rasst,Edit5->Text.c_str());
fwrite(&P,sizeof(P),1,pb);
fclose(pb);
}
//---------------------------------------------------------------------------
 
void Func (FILE *f1,FILE *f2)
{
f1=fopen("poezd.dat","rb+");
f2=fopen("poezd.txt","wt");
while(fread(&P,sizeof(P),1,f1));
fprintf(f2,"%s %s %s %s %s",&P.nom,&P.napr,&P.otpr,&P.prib,&P.rasst);
fclose(f2);
fclose(f1);
}
 
//--------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Func (pb,pt);
}
//---------------------------------------------------------------------------
void shapka(TStringGrid *SG)
{
SG->Cells[0][0]="В№";
SG->Cells[1][0]="ГЌГ*ГЇГ°Г*âëåГ*ГЁГҐ";
SG->Cells[2][0]="Âðåìÿ îòïðГ*âëåГ*ГЁГї";
SG->Cells[3][0]="Âðåìÿ ïðèáûòèÿ";
SG->Cells[4][0]="ГђГ*ññòîÿГ*ГЁГҐ";
}
 
 void zapoln (TStringGrid *SG,int k)
{
SG->Cells[0][k]=IntToStr(k);
SG->Cells[1][k]=(String)P.napr;
SG->Cells[2][k]=(String)P.otpr;
SG->Cells[3][k]=(String)P.prib;
SG->Cells[4][k]=(String)P.rasst;
k++;
}
 
 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
shapka(SG1);
pb=fopen("poezd.dat","rb");
int k=0;
while (fread(&P,sizeof(P),1,pb));
{k++;
zapoln(SG1,k);
}
fclose(pb);
}
//---------------------------------------------------------------------------
 
 
 
void __fastcall TForm1::Button4Click(TObject *Sender)
{
shapka(SG2);
pt=fopen("poezd.txt","rt");
int k=0;
While(fscanf(pt,"%s %s %s %s %s",&P.nom,&P.napr,&P.otpr,&P.prib,&P.rasst)>0);
{k++;
zapoln(SG2,k);
}
fclose(pt);        
}
//---------------------------------------------------------------------------
И ошибки которые вылезли на данном этапе..что-то стабличками недосмотрел....

[C++ Error] kurs.cpp(54): E2147 'TStringGrid' cannot start a parameter declaration
[C++ Error] kurs.cpp(56): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] kurs.cpp(57): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] kurs.cpp(58): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] kurs.cpp(59): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] kurs.cpp(60): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] kurs.cpp(63): E2147 'TStringGrid' cannot start a parameter declaration
[C++ Error] kurs.cpp(65): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] kurs.cpp(66): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] kurs.cpp(67): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] kurs.cpp(68): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] kurs.cpp(69): E2288 Pointer to structure required on left side of -> or ->*
[C++ Error] kurs.cpp(76): E2451 Undefined symbol 'SG1'
[C++ Error] kurs.cpp(91): E2451 Undefined symbol 'SG2'
[C++ Error] kurs.cpp(94): E2268 Call to undefined function 'While'
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2009, 07:01     Помошьс функциями сравнения времени.
Посмотрите здесь:

Как называются массивы элементов для сравнения времени работы сортировок? - C++
Гугл молчит. (

Счетчик сравнения - C++
куда его ставить?он ставиться перед if или после if?else и else if тоже ставим счетчик сравнения?while и do while?

сделать сравнения - C++
Вот программа: #include&amp;lt;iostream&amp;gt; #include&amp;lt;conio.h&amp;gt; #include &amp;lt;math.h&amp;gt; using namespace std;class rational { ...

сравнения строк - C++
Всем привет !! столкнулся с проблемой сравнения строки, объясните пожалуйста как правильно сравнить строки на етом примере ...

Функции сравнения - C++
В классе, необходимо определить функции сравнения (аналогичные операторам отношения). Какой вариант более оптимальный: 1. Определить...

сделать сравнения - C++
как сделать сравнение? Не могу понять. Пожалуйста, помогите. Задание: Рациональная (несократимая) дробь представляется парой целых...

Сравнения символа - C++
Как сравнить символ из массива с символом &quot;;&quot; Так не получается: if(buffer==&quot;;&quot;)

Символы сравнения - C++
Приветствую. Пдскажите, пожалуйста, что означают символы сравнения &quot;:&quot; и &quot;?&quot; в контексте: while (x &gt; 0) { x -= div, ...

Массив с функциями - C++
Должна быть хотя бы одна функция, функция организована так чтоб выполняла обработку любой матрицы, никаких глобальных переменых,матрица...

Ошыбка с функциями - C++
Подскажыте в чем ошыбка??? Делаю без функции, все норм!!! #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; void vvod(); ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Skitalets
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 3
07.06.2009, 00:55  [ТС]     Помошьс функциями сравнения времени. #2
Мда...неужеди никто помочь не может?
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
07.06.2009, 01:18     Помошьс функциями сравнения времени. #3
Сейчас прочту, что требуется... Терпение, друг мой ! =)

Добавлено через 16 минут 58 секунд
Я пишу в VS 2005.
Вот наводка, насчет даты, или времени:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* Сейчас распечатаю на экран системно
   время и дату. */
 
#include <stdio.h> /* Для printf */
#include <time.h> /* Для времени */
 
int main(int argc, char * argv [])
{
    time_t current = time(0);
    tm * current_date = localtime(&current);
 
    printf("Date now: %d.%d.%d\n", current_date->tm_mday, current_date->tm_mon+1, current_date->tm_year+1900);
    printf("Time now: %d:%d:%d\n", current_date->tm_hour, current_date->tm_min, current_date->tm_sec);
 
    /* К году прибавляется 1900 потому, что они отсчитуются с 1900-го года.
       Если не прибавил бы, то на экране вместо 2009, было бы - 109.
       Короче почитай time.h - там всё написано... */
 
    return 0;
}
Skitalets
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 3
07.06.2009, 12:11  [ТС]     Помошьс функциями сравнения времени. #4
Ага...уже ближе к телу...Спасибо попытаюсь скомпоновать в что-то целое используя сие)
Yandex
Объявления
07.06.2009, 12:11     Помошьс функциями сравнения времени.
Ответ Создать тему
Опции темы

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