|
|
|
|
#include <iostream>
using namespace std;
struct TRAIN {
char name[20]; //переменная для имени
char date[50]; //переменная для времени отправления
char A[10]; //переменная для пункта назначений
char B[10]; // переменная для пункта прибытия
int number; // переменная для номера поезда
char cena; //переменная для определения стоимости билета
};
int main(){
TRAIN array[10]; // объявление массива структур array типа CHILD
int k=0,n;
char C[10];
cout << "nazvanie punkta pribytiya="; cin>>C;
cout<<"n=";cin>>n; // ввод количества поездов
for(int i=0;i<n;i++){
cout<<"name: ";cin>>array[i].name;
cout<<"date ";cin>>array[i].date;
cout<<"A: ";cin>>array[i].A;
cout<<"B: ";cin>>array[i].B;
cout<<"number: ";cin>>array[i].number;
cout<<"cena: ";cin>>array[i].cena;
}
for(i=0;i<n;i++){
if (array[i].B==C){
cout<<array[i].name<<" "<<array[i].date<<" "<<array[i].number<<endl,"\n";
}
else
{
cout<<"Takih poezdov net!!!"<<endl;
}
}
return 0;}
|
С клавиатуры вожу данные в массив, состоящий из шести элементов типа TRAIN;
Затем на экран вывод информации о поездах, только тех, которые совпадают с названием маршрута введенного с клавиатуры.
Название пункта прибытия вводится здесь char C[10];
cout << "nazvanie punkta pribytiya="; cin>>C;
|
А затем сравнивается в условии:
if (array[i].B==C){
cout<<array[i].name<<" "<<array[i].date<<" "<<array[i].number<<endl,"\n";
}
else
{
cout<<"Takih poezdov net!!!"<<endl;
|
Только вот это условие не работает. Объясните как следует поступить? | |
|
|
|
|
|
|
|
для: ols
(27.09.2007 в 23:21)
| | Попробуй так
#include <iostream>
using namespace std;
struct TRAIN {
char name[20]; //переменная для имени
char date[50]; //переменная для времени отправления
char A[10]; //переменная для пункта назначений
char B[10]; // переменная для пункта прибытия
int number; // переменная для номера поезда
char cena; //переменная для определения стоимости билета
};
int main(){
TRAIN array[10]; // объявление массива структур array типа CHILD
int k=0,n;
char C[10];
cout<<"n=";cin>>n; // ввод количества поездов
for(int i=0;i<n;i++){
cout<<"name: ";cin>>array[i].name;
cout<<"date ";cin>>array[i].date;
cout<<"A: ";cin>>array[i].A;
cout<<"B: ";cin>>array[i].B;
cout<<"number: ";cin>>array[i].number;
cout<<"cena: ";cin>>array[i].cena;
}
bool s=0;
cout << "nazvanie punkta pribytiya="; cin>>C;
for(i=0;i<n;i++){if (!strcmp(C,array[i].B))
{cout<<array[i].name<<" "<<array[i].date<<" "<<array[i].number<<endl,"\n"; s=1;}}
if (s==0) {cout<<"Таких пунктов нет";}
return 0;}
|
| |
|
|
|
|
|
|
|
для: dima_s_d_s
(29.09.2007 в 11:58)
| | Странно. Когда выбриаю в переменую n больше 1,то когда второй раз(и.т.д) когда, следует в переменуу name ввеси значение, программа сразу перескакивает на date.
Потом еще после ввода всех значений сразу выводит что мол нет таких поездов вместо того чтобы предложить ввести это - cout << "nazvanie punkta pribytiya="; cin>>C;
|
| |
|
|
|
|
|
|
|
для: ols
(01.10.2007 в 19:51)
| | Всё должно работать, я проверял.
А ошибка может вызвана не соответствием типов данных что ты вводишь и что должны приниматься.
Напиши данные что ты ввёл. | |
|
|
|
|
|
|
|
для: dima_s_d_s
(01.10.2007 в 23:04)
| | Все работает. Спасибо!
//Подключаем необходимые библиотеки
#include <iostream>
#include <windows.h>
using namespace std;
// Функция для определения русской кодировки
char strdos[100];
char *dos (char strw[])
{
CharToOem (strw,strdos);
return strdos;
}
//Описываем структуру с именем TRAIN
struct TRAIN {
char name[20]; // переменная для имени
char date[50]; // переменная для времени отправления
char A[10]; // переменная для пункта назначений
char B[10]; // переменная для пункта прибытия
int number; // переменная для номера поезда
int cena; // переменная для определения стоимости билета
};
int main(){
TRAIN array[10]; // объявление массива структур array типа TRAIN
int k=0,n;
char C[10];
cout<<dos("Введите количесво поездов:");cin>>n; // ввод количества поездов
for(int i=0;i<n;i++){
cout<<dos("Название маршрута:");cin>>array[i].name;
cout<<dos("Время отправления поезда:");cin>>array[i].date;
cout<<dos("Место отправления:");cin>>array[i].A;
cout<<dos("Пункт прибытия:");cin>>array[i].B;
cout<<dos("Номер маршрута поезда");cin>>array[i].number;
cout<<dos("Цена билета (в рублях)");cin>>array[i].cena;
}
bool s=0;
cout << dos("Название пункта прибытия="); cin>>C;
for(i=0;i<n;i++){if (!strcmp(C,array[i].B))
{cout<<array[i].name<<" "<<array[i].date<<" "<<array[i].number<<endl,"\n"; s=1;}}
if (s==0) {cout<<dos("Таких пунктов нет")<<endl;}
return 0;}
|
| |
|
|
|