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

Описать структуру с именем TRAIN - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Switch двойное условие http://www.cyberforum.ru/cpp-beginners/thread548081.html
Как сделать двойное условие для оператора switch? Аналогия в if: "if (a>b & b>c)" .
C++ Составление алгоритмов и написание программ обработки строк Молю о помощи. С этими строками у меня просто беда... Функция int isLatin (TCHAR s) получает символ и определяет, является ли он символом латиницы (строчной или прописной буквы латинского алфавита) Функция TCHAR* isStrLatinBukv (TCHAR* str, int& n) получает исходную строку str и ищет в ней первую подстроку, содержащую только символы латиницы (строчные или прописные буквы латинского ... http://www.cyberforum.ru/cpp-beginners/thread548075.html
C++ В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца.
В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца.
Вычислить дробную часть среднего геометрического трех заданных положительных чисел. C++
Вычислить дробную часть среднего геометрического трех заданных положительных чисел. Предусмотреть проверку вводимых данных на отрицательность.
C++ В каждой строке заданной матрицы A(N, M) вычислить сумму, количество... http://www.cyberforum.ru/cpp-beginners/thread548064.html
В каждой строке заданной матрицы A(N, M) вычислить сумму, количество и средне арифметическое положительных элементов.
C++ Для заданного числа x вычислить первое из чисел последовательности sinx, sinsinx, sinsinsinx, ... Для заданного числа x вычислить первое из чисел последовательности sinx, sinsinx, sinsinsinx, ..., меньшее по модулю 10-N. Значение N задавать с клавиатуры. подробнее

Показать сообщение отдельно
Bender123456
7 / 7 / 4
Регистрация: 01.07.2010
Сообщений: 56
14.04.2012, 17:55     Описать структуру с именем TRAIN
Вот условие:
Описать структуру с именем TRAIN, содержащую следующие поля:
-название пункта назначения;
-номер поезда;
-время отправления.
Написать программу, выполняющую следующие действия:
-ввод с клавиатуры данных в массив, состоящий из 6 элементов типа TRAIN;
-записи должны быть упорядочены по времени отправления поездов;
-вывод на экран информации о поездах, направляющихся в пункт, название которого введено с клавиатуры, если таких поездов нет, вывести соответствующее сообщение.

у меня почему то не работает поиск (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
#include<iostream>
#include<iomanip>
#include<cstring>
using namespace std;
int menu();
struct Train
{
    char punkt[20];
    int nomer;
    int time;
};
 
int main()
{
    int n=0,l,i;
    char temp_punkt[20], number[20];
    int temp_nomer, temp_time;
 
    Train mas[6];
 
    bool quit=false;
    int var;
    cout.setf(ios::left);
    while(!quit)
    {
        var=menu();
        switch(var)
        {
        case 1:
            cout<<"\nVvedite nazvanie punkta naznacheniya: ";
            cin>>mas[n].punkt;
            cout<<"Vvedite nomer poezda: ";
            cin>>mas[n].nomer;
            cout<<"Vvedite vremya otpravleniya: ";
            cin>>mas[n].time;
            n++;
            break;
        case 2:
            for(l=n;l>1;l--)
            {
                for(i=0;i<n-1;i++)
                {
                    if(mas[i].time>mas[i+1].time)
                    {
                        strcpy(temp_punkt, mas[i].punkt);
                        strcpy(mas[i].punkt, mas[i+1].punkt);
                        strcpy(mas[i+1].punkt, temp_punkt);
 
                        temp_nomer=mas[i].nomer;
                        mas[i].nomer=mas[i+1].nomer;
                        mas[i+1].nomer=temp_nomer;
 
                        temp_time=mas[i].time;
                        mas[i].time=mas[i+1].time;
                        mas[i+1].time=temp_time;
 
                    }
                }
            }
            for (i=0;i<n;i++)
            {
                cout<<setw(12)<<mas[i].punkt<<" "<<setw(19)<<mas[i].nomer<<setw(24)<<mas[i].time<<endl;
            }
            break;
        case 3:
            l=0;
            cout<<"Vvedite nazvanie punkta: ";
            cin>>number;\
                for(i=0;i<n;i++)
                {
                    if(mas[i].punkt[20]==number[20])
                    {
                        cout<<mas[i].nomer<<" "<<mas[i].time<<endl;
                        l++;
                    }
                }
                if(l==0)
                    cout<<"Takix poezdov net!!"<<endl;
                break;
        case 4:
            quit=true;
            cout<<"Vihod..."<<endl;
            break;
        }
    }
    return 0;
}
int menu()
{
    int var;
    cout<<"\n-----Menu-----"<<endl;
    cout<<"(1)-Vvod dannih"<<endl;
    cout<<"(2)-Uporiadochivanie"<<endl;
    cout<<"(3)-Poisk po punktu"<<endl;
    cout<<"(4)-Vihod iz programmi"<<endl;
        cin>>var;
    return var;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru