Hej czy mógłby mi ktoś pomóc w sprawdzeniu kodu? Nie wiem co zrobić żeby ta pętla się "skończyła"? Tutaj jest polecenie do zadania:
Napisz program (przy użyciu pętli), który przedstawi sekwencję talerzy zmytych przez dwóch studentów (Bolka i Lolka). Wczytaj następujące dane od użytkownika:
- dzień tygodnia (poniedziałek – 1, niedziela – 7),
- dodatnią liczbę talerzy do zmycia,
- dodatnią liczbę talerzy zmytych przez pierwszą osobę, nie większą niż liczba talerzy w zlewie.
W przypadku, gdy użytkownik wprowadzi niepoprawne dane wejściowe, należy natychmiast zakończyć działanie programu.
Bolek i Lolek mają następującą umowę: we wtorki, czwartki i soboty jako pierwszy zmywa Bolek. W pozostałe dni jako pierwszy zmywa Lolek. Pierwsza osoba, która zmywa wybiera liczbę talerzy do zmycia w „pierwszej rundzie”, oznaczmy ją przez x. Następnie druga osoba zmienia pierwszą na zmywaku. Liczba talerzy, którą musi ona zmyć jest równa reszcie z dzielenia przez x połowy pozostałych do zmycia talerzy (w przypadku nieparzystej liczby talerzy zaokrąglamy w dół, czyżbyśmy zapomnieli wspomnieć, że Bolek i Lolek studiują matematykę?) plus numer dnia tygodnia. Potem znowu się zmieniają, licząc liczbę talerzy do zmycia tak jak poprzednio, za x przyjmując liczbę talerzy zmytą przez poprzednią osobę itd., aż zostaną zmyte wszystkie talerze. W przypadku, gdy okaże się, że któryś ze studentów ma zmyć więcej talerzy niż pozostało w zlewie, zmywa on wszystkie pozostałe talerze. Program powinien wypisywać, kto zmywa w kolejnych turach, liczbę talerzy zmytych przez tę osobę (w danej turze) oraz wyświetlać informację, ile talerzy pozostaje do zmycia..
a tutaj jest moj kod:
int main()
{
int dzien;
int talerze;
int x; //liczba talerzy zmywanych przez 1 osobe
int kto;
int pozostalo;
int k; // talerze do zmycia
cout<<"Dzien tygodnia:"<< endl;
cin>> dzien;
cout<<"Ilosc talerzy do zmycia:"<< endl;
cin>>talerze;
cout<<"Liczba talerzy zmytych przez pierwsza osobe:"<< endl;
cin>> x;
if ((x<0)||(x>talerze)||(talerze<0)||(dzien<0)||(dzien>7))
{
cout<<"niepoprawne dane wyjsciowe!!!!!!!!!!!!!!!!!!!!"<< endl;
system ("pause");
return 0;
}
if (dzien%2==0)
{
kto=1;
}
if (dzien%2!=0)
{
kto=2;
}
pozostalo=talerze;
while (pozostalo>0)
{
// i to kolejka;
pozostalo=talerze-x;
kto=kto%2 +1;
if (kto==2)
{
cout<<"Teraz zmywa Bolek"<< endl;
}
else if (kto==1)
{
cout<<"Teraz zmywa Lolek"<< endl;
}
cout<<"Zmyto talerzy:"<<x<<endl;
double l;
l=pozostalo/2;
x=((int)l)+dzien;
cout<<"Pozostalo talerzy do umycia:"<< pozostalo<<endl;
}
system ("pause");
return 0;
}
dodanie znaczników <quote> i #
- @furious programming