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

Задание было, написать БД по билетам вокзала - C++

Восстановить пароль Регистрация
 
azat20
0 / 0 / 0
Регистрация: 19.02.2009
Сообщений: 4
21.02.2009, 16:11     Задание было, написать БД по билетам вокзала #1
Добрый день! Прошу совета! Задание было, написать БД по билетам вокзала. Не работает процедура покупки билета. Т.е. необходимо чтобы значение Freeplace в записи уменьшилось на 1. А потом посмотреть это, через вызов процедуры Output(cfPtr). Посмотрите пожалуйста, код. Сейчас ничего не отображается после покупки билета, такое чувство, что срабатывает
Код
if(Train.Nomer==0) break;
Всем заранее спасибо за ответы!

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
struct Ticket{  
   int Nomer;  
   char Nameoftrain[10];  
   char Endstation[10];  
   int Freeplace;  
   float Price;  
   char Servicetype[10];  
   float Starttime;  
   float Goingtime;  
   };  
  
   int Output(FILE*fPtr)  
  { struct Ticket Train={0,"","",0,0.0,"",0.0,0.0};  
     int i=0;  
     printf("%-6s%-13s%-13s%-10s%-6s%-13s%-10s%-5s\n",  
            "Nomer","Nameoftrain","Endstation","Freeplace","Pr  ice","Servicetype","Starttime","Goingtime");  
     while(Train.Nomer!=-1) {  
         fseek(fPtr,(i++)*sizeof(struct Ticket),SEEK_SET);  
         fread(&Train,sizeof(struct Ticket),1,fPtr);  
         if(Train.Nomer==0) break;  
         if(Train.Nomer!=-1)  
         printf("%-6d%-13s%-13s%-10d%-6.1f%-13s%-10.2f%-5.2f\n", Train.Nomer,  
            Train.Nameoftrain,Train.Endstation,Train.Freeplace  ,Train.Price,  
             Train.Servicetype,Train.Starttime,Train.Goingtime)  ;  
    }  
    return i;  
  }  
 
void Buying(FILE*fPtr)  
{  
 int i=0;  
int j=-1;  
 char Nameoftrain[10];  
 struct Ticket Train={0,"","",0,0.0,"",0.0,0.0};  
 printf("Input Trains Name:");  
 scanf("%s",Nameoftrain);  
 while(Train.Nomer!=-1) {  
     fseek(fPtr,(i)*sizeof(struct Ticket),SEEK_SET);  
      fread(&Train,sizeof(struct Ticket),1,fPtr);  
       if(Train.Nomer!=-1)  
      if(strcmp(Train.Nameoftrain,Nameoftrain)==0)  
      j=i;  
         i++;  
 }  
 if(j!=-1)  
 fseek(fPtr,(j)*sizeof(struct Ticket),SEEK_SET);  
 Train.Freeplace=Train.Freeplace-1;  
 fwrite(&Train,(j)*sizeof(struct Ticket),1,fPtr);  
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2009, 16:11     Задание было, написать БД по билетам вокзала
Посмотрите здесь:

Кто сможет написать два задание C++
Написать функцию. Функция должна выводить сообщение об ошибке, если было введено два слова и более C++
C++ Написать функцию, которая копирует строку на место другого строки и возвращает признак того, что копирование было успешным
C++ Написать пару функций Max, возвращающих то из чисел, которое было передано большее число раз
Как написать программу на С++, чтобы можно было вводить матрицу с клавы и в итоге она появилась на экране? C++
C++ Нужно было написать квадрат Пифагора по дате рождения, как исправить?
C++ Как написать фразу I Love You, что б интересно было её разгадать
C++ Создать класс, содержащий сведения об отправлении поездов дальнего следования с Казанского вокзала
Вывести файл на экран, чтобы в каждой строке было не больше 40 символов, и количество строк было минимальным C++
C++ Реализовать автоматизированную информационную систему железнодорожного вокзала (динамические структуры данных)
Графы, расположить людей по билетам, кратчайший путь C++
задание-написать код со структурой по предложенному рисунку C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sergei
 Аватар для Sergei
1424 / 691 / 40
Регистрация: 22.04.2008
Сообщений: 1,608
21.02.2009, 16:31     Задание было, написать БД по билетам вокзала #2
А вы не пробовали выводить на экран все значения.
azat20
0 / 0 / 0
Регистрация: 19.02.2009
Сообщений: 4
21.02.2009, 17:00  [ТС]     Задание было, написать БД по билетам вокзала #3
ну сперва до уменьшения,нормально все выводит, а потом после этого, только шапка, значений нету
azat20
0 / 0 / 0
Регистрация: 19.02.2009
Сообщений: 4
22.02.2009, 22:02  [ТС]     Задание было, написать БД по билетам вокзала #4
Вопрос закрыт! Надо было добавить еще fseek(fPtr,(j)*sizeof(struct Ticket),SEEK_SET); перед fwrite(&Train,(j)*sizeof(struct Ticket),1,fPtr);
Yandex
Объявления
22.02.2009, 22:02     Задание было, написать БД по билетам вокзала
Ответ Создать тему
Опции темы

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