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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дан двумерный массив размером m*n. Заполнить его с клавиатуры http://www.cyberforum.ru/cpp-beginners/thread760904.html
Дан двумерный массив размером m*n. Заполнить его с клавиатуры. 1. Заменить максимальный элемент каждой строки нулем. 2. Вывести первоначальный массив и массив после изменения.
C++ Двумерный массив. Определить номера строк, содержащих только положительные элементы Дан двумерный массив размером m*n. Заполнить его с клавиатуры. Определить номера строк, содержащих только положительные элементы. http://www.cyberforum.ru/cpp-beginners/thread760903.html
C++ Дан двумерный массив целых чисел (4 строки, 5 столбцов). Заполните его с клавиатуры
Дан двумерный массив целых чисел (4 строки, 5 столбцов). Заполните его с клавиатуры. • подсчитайте количество элементов, кратных 3 или 5; • подсчитайте сумму четных элементов 2-й строки; • все положительные элементы обнулите; • выведите массив на экран до и после изменения.
C++ Как собрать проект
#include <winbgim.h> #include <alloc.h> #include <stdio.h> using namespace std; int COL=15, //основной цвет FCOL=0, //цвет заливки ACTION=0; //номер действия int dx=48,dy=1;
C++ Как лучше выделять память: динамичски или в стэке? http://www.cyberforum.ru/cpp-beginners/thread760856.html
Я раньше всегда думал, что в стеке происходит более быстрое выделение, но сейчас нашел в интернете одну статью, где было написано: Для хранения аргументов и локальных переменных обычно используется специальная область памяти - стек. Так как операции с ней довольно медленные, большие данные лучше передавать через ссылки или указатели, а для локальных переменных использовать динамическую память....
C++ Программа для СИ и СИ++ Привет! Скиньте, пожалуйста, программу для программирования на СИ и СИ++, только чтоб работала хорошо :) подробнее

Показать сообщение отдельно
Serdox
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 32

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

13.01.2013, 22:46. Просмотров 3488. Ответов 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;
}
Буду очень благодарен! Очень надо!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru