Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2012, 21:12   #1
Anderkor
 
Регистрация: 30.11.2012
Сообщений: 5
По умолчанию Описать класс для структуры данных

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

Помогите написать программу с классами для этого задания:

1. Описать структуру с именем TRAIN, содержащую следующие поля:
• название пункта назначения;
• номер поезда;
• время отправления.
2. Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив, состоящий из шести элементов типа TRAIN; записи должны быть упорядочены по времени отправления поезда;
• вывод на экран информации о поездах, направляющихся в пункт, название которого введено с клавиатуры;
• если таких поездов нет, выдать на дисплей соответствующее сообщение

Вот код для этого задания без классов:
Код:
#include <stdio.h>
#include <string.h>
#include <locale.h>
const int n = 6;  //Число элементов массива 
    struct Train  //Структура
{
    char pn [20];
    unsigned int num;
    char time [5];
};  
    int main(void)
{
    setlocale(LC_ALL,"Russian");
    Train a[n];
    int i = 0;
    for (i=0; i<n; i++) //Ввод данных
    {
        printf ("Введите пункт назначения: ");
        scanf("%s", &a[i].pn);
        printf ("Введите номер поезда: ");
        scanf("%d", &a[i].num);
        printf ("Введите время отправления: ");
        scanf("%s", &a[i].time);
    }
    Train buf; //Аргумент buf указывает на область памяти, предназначенную для размещения принимаемых данных
    int k; 
    for (i=0; i < n-1; i++)
        for (k=0; k < n-1; k++)
            if (strcmp (a[k].time, a[k+1].time)>0) //Посимвольное сравнение строк
            {
               buf = a[k];
               a[k] = a[k+1];
               a[k+1] = buf;
            }
    char pp[20]; //Поиск поезда
    printf ("\nПоиск поезда \nВведите пункт: \n"); 
    scanf("%s", pp);    
    bool f = false; 
    for (i=0; i<n; i++)
        if (strcmp (a[i].pn, pp) == 0)  //Вывод информации при совпадениях
        {
            printf ("Поезд \tВремя:\n");
            printf("%u\t", a[i].num);
            printf("%s\t", a[i].time);
            printf("\n");
            f = true;
        }
    if (!f) 
        printf ("Нет таких поездов"); //Сообщение при отсутствии необходимых данных
    getchar();
    return 0;
Anderkor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описать класс, реализующий тип данных "вещественная матрица" PROkaZZZniK Помощь студентам 1 12.04.2012 13:11
Описать класс С# NeoX_2011 Помощь студентам 1 19.03.2012 00:10
С++ Для хранения данных о ноутбуках описать структуру вида: greendoom Помощь студентам 0 02.05.2011 19:05
Описать класс-родитель и класс-потомок. Delphi 7 Andrew_M Помощь студентам 0 15.01.2011 14:42
Описать класс. Telec Общие вопросы C/C++ 1 30.04.2010 18:43