Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
Serdox
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 32
1

Составить программу, которая содержит текущую информацию о заявках на авиабилеты

13.01.2013, 22:46. Просмотров 4719. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста! Пишу программу и столкнулся с проблемой!
Вот задание:Составить программу, которая содержит текущую информацию о заявках на авиабилеты. Каждая заявка включает:
· пункт назначения;
· номер рейса;
· фамилию и инициалы пассажира;
· желаемую дату вылета.
Программа должна обеспечивать:
· хранение всех заявок в виде списка;
· добавление заявок в список;
· вывод заявок по заданному номеру рейса и дате вылета;
· вывод всех заявок.
Всё сделал, а как сделать Вывод заявок по заданному рейсу и дате вылета
Помогите кто знает!
Вот код самой програмы:
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#include "stdafx.h"
#include <cstdio>
#include <conio.h>
#include <clocale>
#include <windows.h>
struct Bilet {
    int num;//Номер заявки
    char pn[30];// Пункт назначения
    int rei; // Номер рейса
    char name[40]; // ФИО пассажира
    int day;// День вылета
    int monat;//Месяц вылета
    int year;//Год вылета
    
    Bilet *next;
};
Bilet* first(int , char* , int , char* , int, int, int );
void add(Bilet**, int, char*, int, char*, int, int, int);
Bilet* search(Bilet* const, int);
void viewList(Bilet*);
void viewHead();
 
Bilet* first(int num, char *pn, int rei, char *name, int day, int monat, int year){
    Bilet *enew = new Bilet;
    enew->num = num;
    strcpy(enew->pn, pn);
    strcpy(enew->name, name);
    enew->day = day;
    enew->monat=monat;
    enew->year = year;
    enew->rei = rei;
    enew->next = 0;
    return enew;
}
void add(Bilet **eend, int num, char *pn, int rei, char *name, int day, int monat, int year)
{
    Bilet *enew = new Bilet;
    enew->num = num;
    strcpy(enew->pn, pn);
    strcpy(enew->name, name);
    enew->rei = rei;
    enew->day = day;
    enew->monat=monat;
    enew->year = year;
    enew->next = 0;
    (*eend)->next = enew;
    *eend = enew;
    return;
}
Bilet* search(Bilet * const ebeg, int num) {
    Bilet *enew = ebeg;
    while(enew) {
        if(enew->num == num)
            break;
        enew = enew->next;
    }
    return enew;
}
  void viewAvialableList(Bilet *ebeg) {
  }
    
void viewList(Bilet *ebeg) {
    Bilet *enew = ebeg;
    while(enew) {
        printf(" Заявка номер %d\n", enew->num);
        printf(" Пункт назначения: %s\n", enew->pn);
        printf(" ФИО пассажжира: %s\n", enew->name);
        printf(" Номер рейса: %d\n", enew->rei);
        printf(" Дата вылета: %d/%d/%d\n\n",enew->day,enew->monat,enew->year);
        if(enew->next) printf("\n");
        enew = enew->next;
    }
    return;
}
void viewHead() {
    system("cls");
    printf("1. Добавить заявку.\n");
    printf("2. Вывод всех заявок.\n");
    printf("3. Запрос заявки по номеру рейса.\n");
    printf("4. Запрос заявки по дате.\n\n");
    
    printf("0. Выход.\n");
    return;
}
 
int main()  
{ 
    {SetConsoleCP(1251);
 SetConsoleOutputCP(1251);}
    setlocale(0, "Russian");
    bool exit = false;
    char c=0;
    Bilet *ebeg=0, *eend=0;
    int day=0, monat=0, year=0, num=0, rei=0;
    char pn[30] = {0},
        name[40] = {0};
    while(!exit) {
        viewHead();
        c = _getch();
        system("cls");
        switch(c) {
            case '1': // Добавить заявку
                if(!eend) num = 1;
                else num = eend->num + 1;
                printf("Номер заявки: %d\n", num);
                printf("Пункт назначения: ");
                scanf("%s",pn);
                printf("Номер рейса: ");
                scanf("%d",&rei);
                printf("ФИО пассажира(ИвановИА): ");
                scanf("%s", name);
                printf("Дата вылета(день/месяц/год): ");
                scanf("%d/%d/%d", &day, &monat, &year);
                if(!ebeg) {
                    ebeg = first(num, pn, rei, name, day, monat, year);
                    eend = ebeg;
                } else
                    add(&eend, num, pn, rei, name, day, monat, year);
                printf("Заявка добавлена!");
                fflush(stdin);
                _getch();
                break;
 
            case '2': // Вывод всего списка заявок
                if(ebeg)
                    viewList(ebeg);
                else
                    printf("Заявок нет!.\n");
                _getch();
                break;
 
                case '3'://Запрос заявки по номеру рейса
                if(ebeg)
                    viewAvialableList(ebeg);
                else
                    printf("Такой заявки не существует.\n");
                _getch();
                break;
            case '0':
                exit = true;
                break;
            default:
                break;
        }
    }
    return 0;
}
Буду очень благодарен! Очень надо!!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2013, 22:46
Ответы с готовыми решениями:

Составить программу, которая содержит текущую информацию о заявках на авиабилеты
Выполняю задание. Условие следующее: Составить программу, которая содержит...

Составить программу, которая содержит текущую информацию о заявках на авиабилеты
Составить программу, которая содержит текущую информацию о заявках на...

Составить программу, которая содержит текущую информацию о заявках на авиабилеты
уважаемые программисты помогите пожалуйста.. составить программу, которая...

Составить программу, которая содержит текущую динамическую информацию о заявках на авиабилеты
Составить программу, которая содержит текущую динамическую информацию о заявках...

Составить программу, которая содержит текущую информацию о книгах в библиотеке
1.Составить программу, которая содержит текущую информацию о книгах в...

3
avg93
61 / 61 / 12
Регистрация: 11.12.2009
Сообщений: 248
Завершенные тесты: 3
13.01.2013, 23:36 2
Это уже список получается...


Цитата Сообщение от Serdox Посмотреть сообщение
Вывод заявок по заданному рейсу и дате вылета
Проходим по всем элементам списка, проверяя в каждом дату или номер рейса. Либо совпадение их. Я бы сделал 2 отдельных метода, один для даты другой для номера.
0
vua72
418 / 417 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
13.01.2013, 23:37 3
наверное, правильней разделить структуры и выделить рейс, пункт назначения, дату в отдельную структуру, плюс туда же можно указать количество доступных мест и класс места.
1
Tetraider
15 / 15 / 0
Регистрация: 06.06.2012
Сообщений: 58
28.12.2013, 22:59 4
Кто может сделать? Готов немного заплатить...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2013, 22:59

Составить программу, которая содержит текущую информацию о книгах в библиотеке
Уважаемые форумчане, нужна ваша помощь. нужно составить программу, которая...

Составить программу, которая содержит текущую информацию о книгах в библиотеке
Всем добрый вечер, прошу помощи с программой! Не работают функции взятия и...

Динамические структуры данных. Составить программу, которая содержит текущую информацию о книгах в библиотеке
не могу решить Составить программу, которая содержит текущую информацию о...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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