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

Создать список, содержащий сведения об отправлении поездов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить программы для пузырьковой сортировки и сортировки посредством выбора с применением оператора while http://www.cyberforum.ru/cpp-beginners/thread897080.html
Доброго времени суток, очень нужна ваша помощь в решении данной проблемы, буду бесконечно благодарен. Составить программы для пузырьковой сортировки и сортировки посредством выбора с применением оператора while
C++ Составить блок – схемы для шейкер- сортировки и сортировки Шелла Доброго времени суток, очень нужна ваша помощь в решении данной проблемы, буду бесконечно благодарен. Составить блок – схемы для шейкер- сортировки и сортировки Шелла. http://www.cyberforum.ru/cpp-beginners/thread897078.html
Даны координаты точек х1, у1, ... х15, у15. Если точка попадает на плоскость, ограниченную кругом x2 + y2 = R2 - вывести ее координаты C++
Лабораторная работа 5. Одномерные массивы * * Для задач этого раздела необходимо составить графический алгоритм, провести идентификацию переменных, составить программу и решить задачу на ЭВМ. Даны координаты точек х1, у1, х2, у2, ... х15, у15. Если точка попадает на плоскость, ограниченную кругом x2 + y2 = R2, то вывести на печать координаты этой точки и сообщение «ТОЧКА В ПЛОСКОСТИ»; если...
Чтение из stdin и запись в stdout бинарной информации C++
Привет. Посмотрите, пожалуйста. Мне нужен т.н. "прозрачный" ехе-шник, чтобы он передавал в StdOut тоже, что и получил из StdIn. Нечто вроде: cpp.exe < test.bin > ret.bin При этом на входе бинарная информация.
C++ Переписать функцию sqrt, чтобы она работала с большими числами http://www.cyberforum.ru/cpp-beginners/thread896921.html
желательно что бы корень извлекался из строки и возвращался результат в виде строки
C++ Пытаюсь рекурсивно сделать задачу. гляньте код плз) КТО-НИБУДЬ, избавьте меня от мучений, гляньте код, посмотрите где я лажанул((( Пытаюсь решить задачу рекурсивно, упражняясь в этом непростом деле.. Я постарался быть няшой и всё подробно комментировал #include <iostream> #include <iomanip> #include <fstream> #include <cmath> //программа читает из файла размерность квадратной матрицы, затем саму матрицу //затем вычисляет её определитель подробнее

Показать сообщение отдельно
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
10.06.2013, 11:16     Создать список, содержащий сведения об отправлении поездов
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
#include <iostream>
#include <iomanip>
#include <string>
 
struct Train {
  int number;
  std::string destination;
  std::string departure;
  std::string time;
  int ticket_count;
  Train *next;
 
  Train() : next(0) { }
  
  Train(const Train &tr) {
    number = tr.number;
    destination = tr.destination;
    departure = tr.departure;
    time = tr.time;
    ticket_count = tr.ticket_count;
  }
 
  ~Train() { }
};
 
class List {
public:
  List() : Head(0), Tail(0) { }
  ~List();
  void addTrain(const Train &);
  void showList() const;
  void find(int) const;
private:
  Train *Head;
  Train *Tail;
};
 
 
List::~List() {
  Train *del = Head;
  while(del) {
    Train *temp = del->next;
    delete del;
    del = temp;
  }
}
 
void List::addTrain(const Train& tr) {
  Train *new_tr = new Train();
 
  new_tr->number = tr.number;
  new_tr->departure = tr.departure;
  new_tr->destination = tr.destination;
  new_tr->ticket_count = tr.ticket_count;
  new_tr->time = tr.time;
  
  if(!Head) {
    Head = Tail = new_tr;
  } else {
    Tail->next = new_tr;
    new_tr->next = 0;
    Tail = new_tr;
  }
}
 
void List::showList() const {
  Train *temp = Head;
  int counter = 1;
  std::cout << std::setw(12) << "Номер поезда" << std::setw(11) << "Назначение" << std::setw(12) << "Отправление"
    << std::setw(13) << "Время в пути" << std::setw(11) << "Билеты шт." << std::endl;
  while(temp) {
    std::cout << std::setw(12) << temp->number << std::setw(11) << temp->destination << std::setw(12) << temp->departure
      << std::setw(13) << temp->time << std::setw(11) << temp->ticket_count << std::endl;
    temp = temp->next;
    counter++;
  }
}
 
void List::find(int num) const {
  Train *temp = Head;
  while(temp) {
    if(num == temp->number) {
      std::cout << "Количество билетов на поезд с номером " << num << " " << temp->ticket_count << " штук." << std::endl;
      break; 
    }
    temp = temp->next;
  }
}
 
int main() {
  setlocale(0, "");
 
  List *list = new List;
 
  int count;
  std::cout << "Введите количество поездов: ";
  std::cin >> count;
 
  std::cout << "Заполните список сведениями о поездах" << std::endl;
  for(int i = 1; i <= count; ++i) {
    Train train;
    std::cout << "Введите номер поезда: ";
    std::cin >> train.number;
    std::cin.get();
 
    std::cout << "Путь назначения: ";
    std::getline(std::cin, train.destination);
    
    std::cout << "Время отбытия: ";
    std::getline(std::cin, train.departure);
    
    std::cout << "Время в пути: ";
    std::getline(std::cin, train.time);
 
    std::cout << "Количество билетов: ";
    std::cin >> train.ticket_count;
 
    list->addTrain(train);
  }
 
  std::cout << std::endl;
  
  list->showList();
 
  std::cout << std::endl;
 
  std::cout << "Введите номер искомого поезда: ";
  int number;
  std::cin >> number;
 
  list->find(number);
 
  delete list;
 
  std::cin.get();
  std::cin.get();
  return 0;
}
 
Текущее время: 10:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru