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

Program nie losuje drugiej liczby

Ostatnio zmodyfikowano 2024-10-30 12:31
Autor Wiadomość
selene_15
Temat założony przez niniejszego użytkownika
Program nie losuje drugiej liczby
» 2024-10-30 11:29:48
Witam,

Jestem początkująca, piszę program który ma losować kolejno dwie liczby z przedziału od 1 do 1000, a nastepnie obliczyć ich sumę i zakończyć działanie.
Wydaje mi się ze kod jest poprawny, program prawidłowo losuje pierwszą liczbę, ale po tym kończy działanie. Szukam błędu, ale nwm gdzie moze on być.
Proszę pomóżcie.

Tu jest kod:
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
   
srand( time( NULL ) );
   
int a, b, suma;
   
   
cout << "Pierwsza liczba: " <<( std::rand() % 1000 ) + 1;
   
cin >> a;
   
   
cout << "Druga liczba: " <<( std::rand() % 1000 ) + 1;
   
cin >> b;
   
   
suma = a + b;
   
cout << "Suma wynosi: " << suma;
   
return 0;
}

Gdzie jest błąd, co poprawić żeby wylosował kolejną liczbę i obliczył sumę?
P-181789
tBane
» 2024-10-30 12:04:07
Funkcja cin pobiera wartość. Tak więc w twoim przypadku najpierw wyświetlasz napis, potem wyświetlasz losową liczbę a następnie masz
cin >> a;
, który pobiera wartość z klawiatury i przypisuje ją do zmiennej a. Po wpisaniu wartości znowu wyświetlasz napis i losową liczbę.

Rozwiązanie jest następujące:

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
   
srand( time( NULL ) );
   
int a, b, suma;
   
   
   
a = std::rand() % 1000 + 1; // losuj liczbę a
   
cout << "Pierwsza liczba: " << a << endl;
   
   
b = std::rand() % 1000 + 1; // losuj liczbę b
   
cout << "Druga liczba: " << b << endl;
   
   
suma = a + b;
   
cout << "Suma wynosi: " << suma;
   
return 0;
}
P-181790
selene_15
Temat założony przez niniejszego użytkownika
» 2024-10-30 12:31:13
Dziękuję bardzo, zadziałało :)
P-181791
« 1 »
  Strona 1 z 1