Си++ не внимателен помогите))

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Tofy, 21 Mar 2011.

  1. Tofy

    Tofy New Member

    Joined:
    21 Nov 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    решаю задачу!! не могу почему не вводится название поезда переменная char переходит на следущий вывод и на ввод.))
    #include <iostream>
    #include <string.h>
    #include <windows.h>
    #include <conio.h>
    using namespace std;
    struct Vrem
    {
    int chas;
    int min;
    };
    struct Poest
    {
    int nom;
    char naz[50];
    Vrem Vrotp;
    Vrem Vrprib;
    };
    void Input_Poest(int n,Poest arr[])
    {
    for (int i=0;i<n;i++){
    cout<<"Введите номер поезда "<<endl;
    cin>>arr.nom;
    cout<<"Введите название поезда : "<<endl;
    cin.getline(arr.naz,50);


    cout<<"Введите время отправления : "<<endl;
    cin>>arr.Vrotp.chas>>arr.Vrotp.min;
    cout<<"Введите время прибытия : "<<endl;
    cin>>arr.Vrprib.chas>>arr.Vrprib.min;
    cin.get();
    }
    }
    void Otput_Poest(int n,Poest arr[])
    {
    for (int i=0;i<n;i++){
    cout<<arr.nom<<": "<<arr.naz<<endl;
    cout<<arr.Vrotp.chas<<arr.Vrotp.min<<endl;
    cout<<arr.Vrprib.chas<<arr.Vrprib.min<<endl;
    }}
    void main()
    {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    const int N=2;
    Poest PoesArr[N];
    Input_Poest(N,PoesArr);
    Otput_Poest(N,PoesArr);

    getch();
    }
     
  2. Tofy

    Tofy New Member

    Joined:
    21 Nov 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    Понял в чем проблемма нужно не
    cin.getline(arr.naz,50);
    нужно просто
    cin>>arr.naz;
    но не понял в чем их отличие))