Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
ighor
14 / 14 / 21
Регистрация: 13.11.2014
Сообщений: 270
1

Структура: Пассажир

24.11.2015, 17:19. Просмотров 953. Ответов 2
Метки нет (Все метки)

Не могу разобраться в структурах . Помогите сделать программу.
Нужно создать структуру "пассажир". в которой будут поля:
-Фамилия пассажира
-количество вещей багажа
-вес багажа
-номер рейса
Написать программу, которая отдельными функциями делает действие:
-введение с клавиатуры данных в массив, состоящий из N переменных типа "пассажир"
-упорядочение записей по убыванию номера рейса
-выведение на экран информацию о пассажире,который имеет вес багажа больше 30 кг.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2015, 17:19
Ответы с готовыми решениями:

Имеется ли пассажир, багаж которого состоит из одной вещи массой менее m кг
Дан файл Bagazh, содержащий сведения о багаже нескольких пассажиров. Сведения о багаже каждого...

Выяснить, иммется ли пассажир, багаж которого состоит из одной вещи весом менее m кг
пожалуууйстааа, помогите найти ошибку в программе!!! никак не могу понять, в чем состоит ошибка:(...

В такси одновременно сели три пассажира. Выяснить, сколько должен заплатить каждый пассажир
В такси одновременно сели три пассажира. Плата за посадку составляет p0 рублей. Коrда вышел nepвый...

Определить, сколько должен заплатить каждый пассажир, если по окончании поездки счетчик показывал р3 рублей
В такси одновременно сели три пассажира. Плата за посадку составляет p0 рублей. Коrда вышел nepвый...

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

2
Pobeda
1 / 1 / 3
Регистрация: 08.10.2015
Сообщений: 34
25.11.2015, 08:36 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
#include <stdio.h>
#include <stdlib.h>
 
typedef struct passenger
{
    char family[255];
    int  caunt;
    double weight;
    int flight;
}pas;
 
void input(pas *a);
void putpas(pas a);
 
int main()
{
   pas air;
   input(&air);
   putpas(air);
    return 0;
}
 
void input(pas *a)
{
 
    pas tmp;
    printf("Input passenger Family: ");
    gets(tmp.family);
    printf("the number of items of luggage: ");
    scanf("%d",&tmp.caunt);
    printf("baggage weight: ");
    scanf("%lf",&tmp.weight);
    printf("flight number: ");
    scanf("%d",&tmp.flight);
    *a=tmp;
 
}
 
void putpas(pas a)
{
    printf("passenger Family: %s\n"
           "the number of items of luggage: %d\n"
           "baggage weight: %.2lf\n"
           "flight number: %d\n",a.family,a.caunt,a.weight,a.flight);
}
1
VasiliyRM
68 / 68 / 55
Регистрация: 17.11.2015
Сообщений: 148
25.11.2015, 14:34 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
#define _CRT_SECURE_NO_WARNINGS
 
#include <stdio.h>
#include <stdlib.h>
 
#define N 10
 
typedef struct passenger
{
    char family[255];
    int  caunt;
    double weight;
    int flight;
}pas;
 
int addpas(pas *a, int k)
{
    printf("Введите фамилию: ");
    scanf("%s", a[k].family);
    ////gets(a[k].family);
    printf("Количество вещей: ");
    scanf("%d", &a[k].caunt);
    printf("Вес багажа: ");
    scanf("%lf", &a[k].weight);
    printf("Номер рейса: ");
    scanf("%d", &a[k].flight);
 
    return k + 1;
}
 
void arrswap(pas *a, pas *b)
{
    pas c;
 
    c.caunt = a->caunt;
    strcpy(c.family, a->family);
    c.flight = a->flight;
    c.weight = a->weight;
 
    a->caunt = b->caunt;
    strcpy(a->family, b->family);
    a->flight = b->flight;
    a->weight = b->weight;
 
    b->caunt = c.caunt;
    strcpy(b->family, c.family);
    b->flight = c.flight;
    b->weight = c.weight;
 
    return;
}
 
void sortpas(pas *a, int k)
{
    int max;
    for (int i = 0; i < k-1; i++) 
    {
        max = i;
        for (int j = i + 1; j < k; j++)
            if (a[j].flight > a[max].flight) max = j;
        arrswap(&a[i], &a[max]);
    }
    printf("Пассажиры отсортированы по убыванию номера рейса\n");
    getch();
    return;
}
 
 
void print_pas(pas a)
{
    printf("\n");
    printf("Фамилия: %s\n", a.family);
    printf("Количество вещей: %d\n", a.caunt);
    printf("Вес вещей: %.2lf\n", a.weight);
    printf("Номер рейса: %d\n", a.flight);
}
 
void print_all(pas *a, int k)
{
    for (int i = 0;i < k;i++)
        print_pas(a[i]);
    getch();
}
 
void pas30(pas *a, int k)
{
 
    for (int i = 0;i < k;i++)
        if (a[i].weight>30.0)
            print_pas(a[i]);
    getch();
    return;
}
 
pas arr[N];
 
int main()
{
    int n,k=0;
 
    system("chcp 1251>NUL");
    while (1)
    {
        system("cls");
        printf("  1-Добавить пассажира\n");
        printf("  2-Сортировать по убыванию номера рейса\n");
        printf("  3-Вес > 30 кг.\n");
        printf("  4-Распечатать список пассажиров\n");
        printf("  0-Выход\n");
        printf("Введите действие: ");
 
        if (scanf("%d", &n) == 1)
        {
            printf("\n");
            switch (n)
            {
            case 1: k = addpas(arr, k); break;
            case 2: sortpas(arr, k); break;
            case 3: pas30(arr, k); break;
            case 4: print_all(arr, k); break;
            case 0: return 0; break;
            }
        }
        scanf("%*[^\n]");
    }
        return 0;
}
размер массива ограничен 10 пассажирами, но если посидеть, подумать, можно сделать динамический массив.

Добавлено через 18 минут
забыл добавить
C
1
#include <string.h>
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2015, 14:34

Счастливый пассажир
Пассажир считается счастливым, если его текущий и предыдущий билеты на поездку в транспорте...

Счастливый пассажир
Пассажир считается счастливым, если его текущий и предыдущий билеты на поездку в транспорте...

Опоздал ли пассажир на поезд?
Помогите, пожалуйста, с экзаменом!!! (((((((((((((((( 16. Поезд прибывает на станцию в a часов...


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

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

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