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

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

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

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

29.05.2009, 07:01. Просмотров 1403. Ответов 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'
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2009, 07:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помошьс функциями сравнения времени. (C++):

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

Проверка на правильность времени, и показ времени - C++
Подскажите, что нужно возвращать в функцию bool is_correct(TIME t); и как эту функцию коректности времени всунуть в функцию void...

.NET 3.x Алгоритм сравнения времени - Visual Basic .NET
всем доброго вечера, у меня небольшая проблема. пытаюсь написать код сравнения реального времени с временем взятым из массива. и не могу...

Алгоритм для сравнения диапазона времени. - Visual Basic
Есть простая задачка, ноя никак не возму в толк, как к ней подступиться. Есть список организаций со временем работы, например с 12:00 до...

В чем различие между функциями VBA и функциями Excel? - VBA
В чем различие между функциями VBA и функциями Excel. Скажите пожалуйста , в гугле не могу найти)

Расчет времени пуска,установившегося времени,времени торможения и паузу для лифта - Механика
t0=(3600/h)*(1-E) - пауза.ЕЕ можно взять произвольно(самим). А остальное надо высчитывать. tуст=(3600/h)*E-tп-tт Для построения...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Skitalets
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 3
07.06.2009, 00:55  [ТС] #2
Мда...неужеди никто помочь не может?
0
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;
}
0
Skitalets
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 3
07.06.2009, 12:11  [ТС] #4
Ага...уже ближе к телу...Спасибо попытаюсь скомпоновать в что-то целое используя сие)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2009, 12:11
Привет! Вот еще темы с ответами:

Написать программу,вычисляющую время,прошедшее от времени Т1 до времени Т2,считая Т2>Т1. - Pascal ABC
Написать программу,вычисляющую время,прошедшее от времени Т1 до времени Т2,считая Т2&gt;Т1. если кому не сложно, напишите плиз!!! ...

Поиск общего времени разговора на основе номера, времени и даты - MS Excel
Здравствуйте, Подскажите как можно подставить формулами время разговора&quot;Итог&quot; на основе телефона, времени, даты. Суть, надо в...

Описать процедуру, которая вычисляет время, прошедшее от времени t1 до времени t2 - Delphi
помогите пожалуйста описать процедуру интервал (d,t12,t1), которая вычисляет время d, прошедшее от времени t1 до времени t2 d=t2-t1(...

Определить, сколько будет времени через заданный интервал времени - C#
Текущее показание электронных часов: m часов, n минут и k секунд. Какое время будут показывать часы через p ч q мин и r c? Помогите,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.06.2009, 12:11
Ответ Создать тему
Опции темы

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