• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Skopiowany program C++ nie działa w nowym programie

Object Storage Arubacloud
0 głosów
277 wizyt
pytanie zadane 10 grudnia 2022 w Systemy operacyjne, programy przez Lucifiery Nowicjusz (120 p.)
edycja 10 grudnia 2022 przez Lucifiery

Witam,

Moim zadaniem jest napisać program, który ma imitować 6 rzutów kostką sześcienną. Będzie on losował liczby od przedziału 1-6 a na koniec podsumowywał ilość punktów. 

Zrobiłam to zadanie poprawnie na moim komputerze. Jednakże gdy próbowałam przesłać program na mojego maila, cały czas wyskakiwało mi zero. Nie wiem, jak sobie z tym poradzić.

Tutaj zamieszczam, jak wygląda program.

#include <iostream>
#include <windows.h>
#include <time.h>


using namespace std;

#include <cstdio>

int liczba,a,b,c,d,e,f, suma;
int main()
{
   
    cout<<"Za chwile nastapi 6 rzutow kostka!";
    Sleep(3000);
    cout<<endl;
   
    srand(time(NULL));
   
   for(int i = 1; liczba==6; i++)
         
    
   
	cout<<a<<"\a"<<endl;
	 		
   	cout<<b<<"\a"<<endl;
   
	cout<<c<<"\a"<<endl;
	 	
	cout<<d<<"\a"<<endl;
    
	cout<<e<<"\a"<<endl;
	
	cout<<f<<"\a"<<endl;
	
	liczba=a+b+c+d+e+f;
	;suma=liczba
;cout<<"Wylosowales w sumie "<<suma<<" punktow";

    getchar();
    return 0;
}

 

Tutaj zamieszczam też filmik z wizualizacją problemu dla lepszego zrozumienia https://youtu.be/q_Hf2XvazC8

Z góry czekam na Wasze sugestie dot. rozwiązania problemu.

Pozdrawiam,

Lucifiery

 

komentarz 10 grudnia 2022 przez ScriptyChris Mędrzec (190,190 p.)

Proszę umieścić kod w odpowiednim bloczku.

 

2 odpowiedzi

+1 głos
odpowiedź 10 grudnia 2022 przez Oscar Nałogowiec (29,320 p.)

Prawie wszystko źle.

Po co tyle zmiennych - masz gdzieś pamiętać te wynik? Nie wystaczy wpisywać bezpośrednio po wylosowaniu i tylko uaktualniać sumę?

Pętla for (linia 20) nie wykona się ani razu. Nie powinno tam być < albo <=? Poza tym pętla (brak {}) obejmuje tylko wypisanie zmiennej a.

I jak już autorzy poprzednich postów zauważyli brakuje samego losowania. Funkcja srand inicjuje generator liczb losowych, ale właściwego losowania brakuje. Wypisujesz po prostu wartości zmiennych z którymi wcześniej nic nie robisz.

0 głosów
odpowiedź 10 grudnia 2022 przez Great Stary wyjadacz (12,360 p.)
edycja 10 grudnia 2022 przez Great

Twój program odczytuje losowe dane z pamięci (niezainicjalizowane zmienne). Użyj funkcji rand do losowania liczb.

1
komentarz 10 grudnia 2022 przez Oscar Nałogowiec (29,320 p.)
Zmienne globalne standardowo są zerowane przed uruchomieniem main().

Podobne pytania

0 głosów
1 odpowiedź 155 wizyt
pytanie zadane 21 grudnia 2020 w C i C++ przez repcaq Nowicjusz (120 p.)
0 głosów
1 odpowiedź 411 wizyt
0 głosów
2 odpowiedzi 123 wizyt
pytanie zadane 13 kwietnia 2018 w Systemy operacyjne, programy przez Mefixos Nowicjusz (190 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...