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

[Lekcja 16] Problem z zadaniem domowym.

Ostatnio zmodyfikowano 2011-09-24 00:30
Autor Wiadomość
Oksymar
Temat założony przez niniejszego użytkownika
[Lekcja 16] Problem z zadaniem domowym.
» 2011-09-23 23:21:19
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    srand( time( NULL ) );
    int a;
    int strzaly = 0;
    std::cout << "Wylosowalem liczbe od 1 do 1000 , zgadnij jaka.\n";
    int liczba =( rand() % 1000 ) + 1;
    do
    {
        std::cout << "\nTwoja liczba: ";
        std::cin.clear();
        std::cin.sync();
        std::cin >> a;
        if( std::cin.fail() )
             std::cout << "Sprobuj jeszcze raz.\n";
       
        strzaly++;
        if( a < liczba && a >= 1 && a <= 1000 )
        {
            std::cout << "Liczba " << a << " jest za mala.\n";
            if( a > liczba )
                 std::cout << "Liczba " << a << " jest za duza.\n";
           
        }
        else
             std::cout << "Podana liczba nie miesci sie w zakresie.";
       
    } while( a != liczba );
   
    std::cout << "Zgadles to: \n" << liczba;
    std::cout << "Liczba strzalow: " << strzaly;
    return 0;
}
Dlaczego jak chce wpisać 1000 to pokazuje ze liczba nie mieści się w zakresie?
Z góry dzięki
P-41326
akwes
» 2011-09-23 23:29:23

C/C++
if( a < liczba && a >= 1 && a <= 1000 )

dlatego :P
P-41327
Oksymar
Temat założony przez niniejszego użytkownika
» 2011-09-23 23:43:29
A można dokładniej bo wiem że jest coś źle z tą linijką ale nie wiem co.
P-41329
Dark
» 2011-09-23 23:53:22
czemu zagnieżdzasz if'a z takim warunkiem! jeśli liczba jest większa to nie może być mniejsza zarazem

to zrób inaczej
C/C++
if( a < liczba && a >= 1 && a <= 1000 ) // co to ma być?
{
    std::cout << "Liczba " << a << " jest za mala.\n";
    if( a > liczba ) // kiedy liczba jest większa jak jest mniejsza?
         std::cout << "Liczba " << a << " jest za duza.\n";
   
}

chociaż tak
C/C++
if( a >= 1 && a <= 1000 )
{
    if( a < liczba )
         std::cout << "Liczba " << a << " jest za mala.\n";
   
    if( a > liczba )
         std::cout << "Liczba " << a << " jest za duza.\n";
   
}
P-41330
akwes
» 2011-09-24 00:09:55
Masz w warunku coś takiego
C/C++
a < liczba

Więc jeżeli liczba jest wieksza od "a", to Ci wypisze komunikat z else od tego if-a, czyli u Ciebie jest to
C/C++
std::cout << "Podana liczba nie miesci sie w zakresie.";
P-41331
Oksymar
Temat założony przez niniejszego użytkownika
» 2011-09-24 00:30:06
Ok już działa dzięki za pomoc.
P-41332
« 1 »
  Strona 1 z 1