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

Helppp Wpisuje W Kalkulatorze Litere... zamiast cyfry i konsola szaleje ;/

Ostatnio zmodyfikowano 2011-03-21 17:56
Autor Wiadomość
trufel15
Temat założony przez niniejszego użytkownika
» 2011-03-20 21:52:16
C/C++
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
    int moja;
   
    srand( time( NULL ) );
    cout << "Program Losuje Liczbe z Przedzialu od 1 do 1000" << endl;
    do
    {
        cout << "Losowanie.." << endl;
        ( rand() % 5 ) + 1;
        do
        {
            cout << "Wprowadz Swoja Liczbe.. ";
            cin >> moja;
           
            if( moja > 0 && moja < 6 )
            {
                cout << "Wprowadzono.." << endl;
                break;
            }
            else
            {
                cout << "Podales Zla Liczbe..." << endl;
                break;
               
            }
           
           
           
        } while( true );
       
        int liczba = rand() % 5 + 1;
        if( liczba == moja )
        {
            cout << "Dobrze ! Zgadles... Trafiles Liczbe: " << liczba << "Strzelales: " << " razy :D" << endl;
            break;
        }
    } while( true );
   
    system( "pause" );
    return 0;
}

Tak Wyglada Moj Kod... I Chce, by jak wprowadzam litere "a"... To powiadomilo mnie, ze to jest litera a nie liczba... i zatrzymalo funkcje lub zapetlilo ponownie do losowania... Bo w obecnym kodize wprowadzam "a" to mi rejestruje jako liczbe "2" ...
P-29493
McAffey
» 2011-03-20 22:26:13
No to w linku który Ci podałem masz sposób jak wykryć czy się podało literę czy cyfrę i po prostu skopiuj to do swojego programu. Masz gotowe rozwiązanie po prostu je wykorzystaj.
P-29498
trufel15
Temat założony przez niniejszego użytkownika
» 2011-03-20 22:36:07
McAffey <----

To WKlej Ten Moj Kod Do Swego Kompilatora... I Zobacz Co Sie Dzieje :)
Łatwo Podac Linka I o... Gorzej W Praktyce...
P-29501
McAffey
» 2011-03-20 22:44:39
Zrób tak : wpisuj dane jako char, wtedy wykorzystaj kod z linku który Ci podałem aby sprawdzić czy podano liczbę czy literę i jeśli podano literę to po prostu zapętlaj do wpisywania a jeśli cyfrę to wtedy przepisuj znak do jakiegoś int'a i wtedy porównuj. Trochę wysiłku jak ktoś to za Ciebie napisze to się nie nauczysz.
P-29503
trufel15
Temat założony przez niniejszego użytkownika
» 2011-03-20 23:06:42
McAffey <---- Sprostowuje......
Nie Wytrzymam.........
Co Do TEj Liczby... To Dobrze Pokazuje, ze źla wprowadzilem, ale i tak przypisuje mi do zmienej <--- jezeli wpisze"a" to przypisuje do niej liczbe 55... Co jest
P-29504
McAffey
» 2011-03-20 23:15:56
Zrób tak jak napisałem 2 posty wyżej a będzie Ci działać tak jak chcesz.
P-29505
ison
» 2011-03-20 23:30:37
McAffey Twój program sprawdza tylko 1 znak czy jest cyfrą czy znakiem

problem można rozwiązać na kilka sposobów, ten nie jest najprostszy ale ważne że działa :p
C/C++
//wczytuje ciag znakow, przelatuje zeby sprawdzic czy znajduja sie w nim inne znaki poza cyframi, jesli nie to konwertuje go na inta
char ch[ MAX ];
scanf( "%s", ch );
size_t len = strlen( ch );
bool liczba = true;
for( size_t i = 0; i < len; ++i ) if( ch[ i ] < '0' || ch[ i ] > '9' ) liczba = false;

if( liczba ) {
    int var;
    sscanf( ch, "%d", & var );
    printf( "Podano liczbe %d\n", var );
}
else printf( "Blad\n" );


(nie mam aktualnie pod ręką kompilatora, wygodniej zapewne byłoby zwyczajnie skorzystać z cin.good())

//a, nie doczytałem że liczba nie będzie przekraczać 9 (tak wnioskuję z kodu), rozwiązanie McAffeya też jest dobre
P-29506
trufel15
Temat założony przez niniejszego użytkownika
» 2011-03-20 23:31:52
CIezko zrozumiec... Jestem poczatkujacy...
Mozesz napisac przykład ? Chyba tak, by było najlepiej. Dla mnie i dla tych, ktorzy maja taki sam problem :)
P-29507
1 « 2 » 3 4 5 6
Poprzednia strona Strona 2 z 6 Następna strona