Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z cin i get.

Ostatnio zmodyfikowano 2009-07-21 15:18
Autor Wiadomość
makciek
Temat założony przez niniejszego użytkownika
Problem z cin i get.
» 2009-07-21 10:56:27
Więc napisałem taki kod:

C/C++
#include <iostream>
#include <conio.h>
int main()
{
    using namespace std;
    char tab[ 5 ][ 50 ];
   
    cout << "Podaj swoje imie i nazwisko: ";
    cin >> tab[ 0 ];
    cin.get();
   
    cout << " Twoje imie i nazwisko to: " << tab[ 0 ];
   
    getch();
    return( 0 );
}

I według tego co pisze w kursie, to wszystko powinno działać, ale pokazuje się tylko jedno słowo, zamiast tych dwóch. :/
P-8626
DeBugger
» 2009-07-21 11:25:27
Tutaj problemem są białe znaki... Hmm... gdzieś można było to jakoś zrobić, ale najlepszy sposobem jest zapisanie osobno imienia i nazwiska.

C/C++
#include <iostream>
int main()
{
    using namespace std;
    char tab[ 2 ][ 50 ];
   
    cout << "Podaj swoje imie: ";
    cin >> tab[ 0 ];
    cout << "Teraz nazwisko: ";
    cin >> tab[ 1 ];
    cin.get();
   
    cout << "Twoje imie i nazwisko to: " << tab[ 0 ] << " " << tab[ 1 ];
   
    getchar();
    return( 0 );
}
P-8627
makciek
Temat założony przez niniejszego użytkownika
» 2009-07-21 11:31:49
wiem ale to jest ćwiczenie w kursie :P
dlatego właśnie tu o tym piszę :P
bo ja na własny rozum też zrobiłbym to osobno :)
P-8628
DeBugger
» 2009-07-21 11:43:32
Nie użyłeś metody getline:
C/C++
#include <iostream>
int main()
{
    using namespace std;
    char tab[ 50 ];
   
    cout << "Podaj swoje imie i nazwisko: ";
    cin.getline( tab, 50 );
    cin.get();
   
    cout << " Twoje imie i nazwisko to: " << tab;
   
    getchar();
    return( 0 );
}
P-8629
makciek
Temat założony przez niniejszego użytkownika
» 2009-07-21 11:48:22
teraz wyrzuca:
"main.cpp|9|error C2664: 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::getline(_Elem *,std::streamsize)' : cannot convert parameter 1 from 'char [5][50]' to 'char *'|"
P-8630
DeBugger
» 2009-07-21 11:50:15
Jeżeli chcesz taką tablicę, to rozwiązanie wygląda tak:
C/C++
#include <iostream>
int main()
{
    using namespace std;
    char tab[ 5 ][ 50 ];
   
    cout << "Podaj swoje imie i nazwisko: ";
    cin.getline( tab[ 0 ], 50 );
    cin.get();
   
    cout << " Twoje imie i nazwisko to: " << tab[ 0 ];
   
    getchar();
    return( 0 );
}
P-8631
makciek
Temat założony przez niniejszego użytkownika
» 2009-07-21 11:58:33
THX :)
P-8632
DeBugger
» 2009-07-21 15:18:55
Zamykam.
P-8639
« 1 »
  Strona 1 z 1