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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
F. Alonso
1 / 1 / 0
Регистрация: 06.04.2011
Сообщений: 117
#1

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

29.04.2012, 15:27. Просмотров 1359. Ответов 7

привет! помогите:

1. Описать структуру с именем TRAIN, содержащую следующие поля:

• название пункта назначения;

• номер поезда;

• время отправления.

2. Написать программу, выполняющую следующие действия:

• ввод с клавиатуры данных в массив, состоящий из восьми элементов типа

TRAIN; записи должны быть размещены в алфавитном порядке по названиям пунктов назначения;

• вывод на экран информации о поездах, отправляющихся после введенного с клавиатуры времени;

· если таких поездов нет, выдать на дисплей соответствующее сообщение.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2012, 15:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описать структуру с именем TRAIN (C++):

Описать структуру с именем TRAIN - C++
Описать структуру с именем TRAIN, содержащую следующие поля: - название пункта назначения - номер поезда - время отправления ...

Описать структуру с именем TRAIN - C++
Описать структуру с именем TRAIN,содержащую следующие поля: 1)название пункта назначения 2)номер поезда 3)время отправления ...

Описать структуру с именем TRAIN - C++
Описать структуру с именем TRAIN, содержащую следующие поля: название пункта назначения; номер поезда; время отправления. ...

Описать структуру с именем TRAIN - C++
Описать структуру с именем TRAIN,содержащую следующие поля: -название пункта назначения -номер поезда -время отправления Написать...

Описать структуру с именем TRAIN - C++
Описать структуру с именем TRAIN, содержащую следующие поля:  название пункта назначения;  номер поезда;  время отправления. ...

Описать структуру с именем TRAIN - C++
Нужна срочная помощь в написании программы(( помогите пожалуйстаО_о 1. Описать структуру с именем TRAIN, содержащую следующие поля: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
AAA-
13 / 13 / 1
Регистрация: 14.02.2012
Сообщений: 46
30.04.2012, 17:42 #2
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
#include "stdafx.h"
#include <iostream>
using namespace std;
struct Train
{   
    char station[100];
    int number;
    float time;
};
int main()
{   setlocale(0,"rus");
    const int s=8;
    Train t[s];
    int change;
    int n=0;
    for(int i=0;i<s;i++)
    {
        cout<<"Введите пунк назначения: ";
        cin>>t[i].station;
        cout<<"Введите номер поезда: ";
        cin>>t[i].number;
        cout<<"Введите время отправления: ";
        cin>>t[i].time;
    }
    while(true){
    cout<<"\n1-Вывести весь список"<<endl;
    cout<<"1-Поиск поезда по времени"<<endl;
    cout<<"3-Выход"<<endl;
    cout<<"Выберите действие: ";
    cin>>change;
    switch(change)
    {
    case 1:cout<<"Номер\tВремя\tПункт назначения"<<endl;
           for(int i=0;i<s;i++)
           cout<<t[i].number<<"\t"<<t[i].time<<"\t"<<t[i].station<<endl;break;
    case 2:float time;
        cout<<"Введите время: ";
           cin>>time;
           for(int i=0;i<s;i++)
           {
               if(time==t[i].time){
                   cout<<t[i].station;
                   n++;}}
             if(n==0)
                 cout<<"Поезда на данное время нет!"<<endl;break;
    case 3:exit(0);
    default: cout<<"Выберите снова!";
    }
    }
    return 0;
}
работает,только писал как умею)
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
30.04.2012, 17:59 #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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
 
#define N 8
 
typedef struct Train
{
    char pszDest[256];
    char pszTime[256];
    int nTrain;
} TRAIN;
 
int ConvertTime(char* pszTime)
{
    int nHours = 0, nMinutes = 0;
    char *szHours = NULL, *szMinutes = NULL;
    char pszTemp[256] = "\0"; strcpy(pszTemp,pszTime);
    if ((szMinutes = strrchr(pszTemp,':')) != NULL)
        nMinutes = atoi(szMinutes+1);
    if ((szHours = strstr(pszTemp,szMinutes)) != NULL)
         { *szHours = '\0'; nHours = atoi(pszTemp); }
    return nHours * 60 + nMinutes;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    TRAIN* pTrainList = new TRAIN[N];
    memset((void*)pTrainList, 0x00, sizeof(TRAIN));
 
    for (int iIndex = 0; iIndex < N; iIndex++)
    {
        printf("Train %d number: ",iIndex+1);
        scanf("%d",&pTrainList[iIndex].nTrain);
        printf("Train %d destination: ",iIndex+1);
        scanf("%s",pTrainList[iIndex].pszDest);
        printf("Train %d departure time: ",iIndex+1);
        scanf("%s",pTrainList[iIndex].pszTime);
        printf("\n");
    }
 
    printf("\n");
    
    int nDepTime = 0; static char psz[256] = "\0";
    printf("Departure time: "); scanf("%s",psz); printf("\n");
    
    nDepTime = ConvertTime(psz);
    for (int nIndex = 0; nIndex < N; nIndex++)
        if (ConvertTime(pTrainList[nIndex].pszTime) >= nDepTime)
            printf("%d %s %s\n", pTrainList[nIndex].nTrain, 
                    pTrainList[nIndex].pszDest, pTrainList[nIndex].pszTime);
 
    _getch();
 
    return 0;
}
Train 1 number: 1
Train 1 destination: Moscow
Train 1 departure time: 10:10

Train 2 number: 2
Train 2 destination: SPB
Train 2 departure time: 10:15

Train 3 number: 3
Train 3 destination: Novgorod
Train 3 departure time: 10:18

Train 4 number: 4
Train 4 destination: Kaluga
Train 4 departure time: 10:32

Train 5 number: 5
Train 5 destination: Volgograd
Train 5 departure time: 10:48

Train 6 number: 6
Train 6 destination: London
Train 6 departure time: 10:59

Train 7 number: 7
Train 7 destination: Paris
Train 7 departure time: 11:08

Train 8 number: 8
Train 8 destination: Rome
Train 8 departure time: 11:37


Departure time: 10:18

3 Novgorod 10:18
4 Kaluga 10:32
5 Volgograd 10:48
6 London 10:59
7 Paris 11:08
8 Rome 11:37
F. Alonso
1 / 1 / 0
Регистрация: 06.04.2011
Сообщений: 117
01.05.2012, 09:59  [ТС] #4
всем привет! не подмогнете?

1. Описать структуру с именем TRAIN, содержащую следующие поля:

• название пункта назначения;

• номер поезда;

• время отправления.

2. Написать программу, выполняющую следующие действия:

• ввод с клавиатуры данных в массив, состоящий из шести элементов типа TRAIN; записи должны быть упорядочены по времени отправления поезда;

• вывод на экран информации о поездах, направляющихся в пункт, название которого введено с клавиатуры;

• если таких поездов нет, выдать на дисплей соответствующее сообщение.
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
01.05.2012, 10:32 #5
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
 
#define N 8
 
typedef struct Train
{
    char pszDest[256];
    char pszTime[256];
    int nTrain;
} TRAIN;
 
int main(void)
{
    TRAIN* pTrainList = new TRAIN[N];
    memset((void*)pTrainList, 0x00, sizeof(TRAIN));
 
    for (int iIndex = 0; iIndex < N; iIndex++)
    {
        printf("Train %d number: ",iIndex+1);
        scanf("%d",&pTrainList[iIndex].nTrain);
        printf("Train %d destination: ",iIndex+1);
        scanf("%s",pTrainList[iIndex].pszDest);
        printf("Train %d departure time: ",iIndex+1);
        scanf("%s",pTrainList[iIndex].pszTime);
        printf("\n");
    }
 
    printf("\n");
    
    static char psz[256] = "\0";
    printf("Destination: "); scanf("%s",psz); printf("\n");
    
    bool b_dest = false;
    for (int nIndex = 0; nIndex < N && !b_dest; nIndex++)
        if (!strcmp(pTrainList[nIndex].pszDest,psz))
        {
            printf("%d %s %s\n", pTrainList[nIndex].nTrain, 
                    pTrainList[nIndex].pszDest, pTrainList[nIndex].pszTime);
            b_dest = true;
        }
 
    if (!b_dest) printf("Bad destination\n");
 
    _getch();
 
    return 0;
}
F. Alonso
1 / 1 / 0
Регистрация: 06.04.2011
Сообщений: 117
05.05.2012, 11:22  [ТС] #6
ввожу все 8 поездов, затем требует ввести время, ввожу, но ниче не считает. выдает просто @Bad destinaion".
все времена ввел по порядку, как ты и указал.
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
05.05.2012, 11:34 #7
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
 
#define N 8
 
typedef struct Train
{
    char pszDest[256];
    char pszTime[256];
    int nTrain;
} TRAIN;
 
int ConvertTime(char* pszTime)
{
    int nHours = 0, nMinutes = 0;
    char *szHours = NULL, *szMinutes = NULL;
    char pszTemp[256] = "\0"; strcpy(pszTemp,pszTime);
    if ((szMinutes = strrchr(pszTemp,':')) != NULL)
        nMinutes = atoi(szMinutes+1);
    if ((szHours = strstr(pszTemp,szMinutes)) != NULL)
         { *szHours = '\0'; nHours = atoi(pszTemp); }
    return nHours * 60 + nMinutes;
}
 
int main()
{
    TRAIN* pTrainList = new TRAIN[N];
    memset((void*)pTrainList, 0x00, sizeof(TRAIN));
 
    for (int iIndex = 0; iIndex < N; iIndex++)
    {
        printf("Train %d number: ",iIndex+1);
        scanf("%d",&pTrainList[iIndex].nTrain);
        printf("Train %d destination: ",iIndex+1);
        scanf("%s",pTrainList[iIndex].pszDest);
        printf("Train %d departure time: ",iIndex+1);
        scanf("%s",pTrainList[iIndex].pszTime);
        printf("\n");
    }
 
    printf("\n");
    
    static char pszTime[256] = "\0";
    printf("Departure Time: "); scanf("%s",pszTime); printf("\n");
    
    int nDepTime = ConvertTime(pszTime);
    for (int nIndex = 0; nIndex < N; nIndex++)
        if (ConvertTime(pTrainList[nIndex].pszTime) >= nDepTime)
            printf("%d %s %s\n", pTrainList[nIndex].nTrain, 
                    pTrainList[nIndex].pszDest, pTrainList[nIndex].pszTime);
 
    _getch();
 
    return 0;
}
F. Alonso
1 / 1 / 0
Регистрация: 06.04.2011
Сообщений: 117
05.05.2012, 11:46  [ТС] #8
спасибо большое, все работает!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2012, 11:46
Привет! Вот еще темы с ответами:

Описать структуру с именем TRAIN - C++
Описать структуру с именем TRAIN, содержащую следующие поля: - название пункта назначения - номер поезда - время отправления ...

Описать структуру с именем TRAIN - C++
Описать структуру с именем TRAIN, содержащую следующие поля: название пункта назначения, номер поезда, время отправления. Написать...

Описать структуру с именем Train - C++
Описать структуру с именем TRAIN, содержащую следующие поля: • название пункта назначения; • номер поезда; • время отправления. ...

Описать структуру с именем TRAIN - C++
Описать структуру с именем TRAIN, содержащую поля: название пункта назначения; номер поезда; ...


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

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

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