Здраствуйте. Мне нужно добавить в программу сравнение: верно ли , что название пунктов назначения совпадают у двух поездов. Я не знаю как это сделать. Можете подсказать?
#include <iostream>
#include <cctype>
#include <cstring>
#include <cstdlib>
using namespace std;
const int SIZE = 100;
struct Train {
char name[40];
int number;
double times;
} train[SIZE];
void enter(),init_list(),display(),input(int i);
int menu();
int main()
{
char choice;
init_list();
while (1) {
choice = menu();
switch(choice) {
case 'e' : enter();
break;
case 'd' : display();
break;
//case 'u': update();
break;
case 'q': return 0;
}
}
return 0;
}
void init_list()
{
int t;
for(t=0; t<SIZE; t++ ) *train[t].name = '\0';
}
int menu()
{
char ch;
cout << '\n';
do {
cout << "(E)nter\n"; // Ввести новый элемент.
cout << "(D)isplay\n"; // Отобразить всю ведомость.
cout << "(Q)uit\n\n"; // Выйти из программы.
cout << "Выберите команду: ";
cin >> ch;
}while(!strchr("eduq", tolower(ch)));
return tolower(ch);
}
void enter()
{
int i;
for(i=0; i<SIZE; i++)
if(!*train[i].name) break;
if(i==SIZE) {
cout << "Список полон.\n";
return;
}
input(i);
}
void input(int i) {
cout <<"Пункт назначения: ";
cin >>train[i].name;
cout <<endl;
cout <<"Номер поезда: ";
cin >>train[i].number;
cout <<"Время отправления: ";
cin >>train[i].times;
}
void display()
{
int t;
for(t=0; t<SIZE; t++) {
if(*train[t].name) {
cout << "Пункт назначения: " << train[t].name <<endl;
cout << "Номер поезда: " << train[t].number <<endl;
cout << "Время отправления: " << train[t].times<<endl;
}
}
}
Если описать как string
string name;
Тогда сравнение корректно с использованием == Также cstring надежнее и получится с++, а не смесь с С. Вы задали длину 40. А если будет введено больше? С string об этом не надо беспокоиться.
Для сравнения С-строк есть функция strcmp.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть конструктор WindowMgmt как присвоить полю window первый аргумент
Я написал этот код, и я не могу понять, почему он удваивает строку, когда я компилирую и запускаю ее