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

question-closed Proszę o kod do następującego zadania. Z góry dziękuję bardzo.

Object Storage Arubacloud
–8 głosów
385 wizyt
pytanie zadane 20 września 2015 w C i C++ przez maciekh11 Nowicjusz (240 p.)
zamknięte 20 września 2015 przez Eryk Andrzejewski

Proszę o napisanie programu w c++ zliczający punkty w darta. Proszę użyć if 'ów i while 'a gdyż to narazie trochę umiem.

Zasady gry 301 dla jednego gracza:

Zawodnik zaczyna grę od stanu punktowego 301. Na koniec każdej kolejki (po rzuceniu 3 rzutek) odejmuje się sumę zdobytych punktów od poprzedniego stanu punktowego. Zawodnik musi zredukować ilość punktów dokładnie do zera. Gdy zawodnik w jednej kolejce zdobędzie więcej punktów niż jest potrzebne do osiągnięcia zera - oznacza to "BUST" i nie będą one zapisane. Całkowita punktacja powraca do stanu z poprzedniej kolejki.

Treść zadania:

Napisz program, któy zlicza punkty w grę 301 dla jednego gracza, według zasad podanych powyżej. Program może mieć dowolną liczbę rund. W każdej rundzie zawodnik ma do wykorzystania 3 lotki. Każda lotka może punktować od 0 - 60 punktów. Jeśli punktacja podana przez gracza będzie mieściła się w tym zakresie, nie będziemy sprawdzali poprawności punktów (w prawdziwej grze zawodnik nie ma szans zdobyć np. 59 punktów w jednym rzucie, a w naszej grze może). Jeśli jednak wartość jednego rzutu nie mieści się w zakresie 0 - 60, program wyświetli komunikat:

"Niepoprwana ilość punktów".

Gra kończy się, gdy zawodnik osiągnie 0 punktów - nawet, jeśli będzie to po pierwszej lub drugiej lotce, a więc w środku rundy!

W każdej rundzie program wyśfietli następujące komunikaty:

Runda 1, rzut 1: Podaj ilość punktów

Runda 1, rzut 2: Podaj ilość punktów

Runda 1, rzut 3: Podaj ilość punktów

Runda 1, liczba twoich punktów: x

Gzie x jest liczbą punktów posiadanych przez gracza, a nie ilością punktów zdobytych w rundzie. Przykładowo jeżeli w pierwszej rundzie rzuciłem 20 pkt, to x = 301 - 20 = 281. Jeżeli gracz w rundzie rzuci więcej punktó niż mu pozostało, zobaczymy komunikat:

Runda X. BUST!

Liczba Twoich punktów: x

Komunikat BUST! pojawi się bezpośrednio po rzucie, w którym gracz przekroczył punktajcę. Oznacza to, że BUST! może być po 1, 2 lub 3 rzucie. Niezależnie od numeru rzutu, BUST! zawsze kończy bieżącą rundę.

Na zakończenie gry (w momencie, gdy użytkownik uzyska 0 pkt) program wypisze :

Gra zakończona w rundzie X

Dodtakowym wymaganiem jest, aby program zakończył się natychmiest po wprowadzeniu przez użytkownika liczby -1. Liczba ta zostanie wykorzystana przez testy automatyczne do zakończenia działania programu po wykonaniu testu.

komentarz zamknięcia: Forum to ma pomóc w nauce programowania, a nie wyręczać nygusów w pisaniu programów

2 odpowiedzi

+3 głosów
odpowiedź 20 września 2015 przez Radfler VIP (101,030 p.)
Moment to jest praca domowa czy jakiś challenge? Jak praca domowa to polecam stronę http://zadane.pl/ :v
komentarz 20 września 2015 przez Ehlert Ekspert (212,670 p.)

Ja stawiam, że na ściąga.pl jest dużo ekspertów w dziedzinie tego zadania laugh

komentarz 20 września 2015 przez Szahid Pasjonat (20,930 p.)
Niedawno ja zamieściłem podobny komentarz i spotkałem się ze sprzeciwem. Ale w pełni się z Tobą zgadzam.
komentarz 20 września 2015 przez Radfler VIP (101,030 p.)
Dostałem hejta :c
komentarz 21 września 2015 przez Szahid Pasjonat (20,930 p.)
Hehe. Ja kilka :)
–1 głos
odpowiedź 20 września 2015 przez Czort Nałogowiec (32,500 p.)

Wystarczył w google wpisać i znalazł się gotowiec. Nie sprawdzałem czy działa.

#include <iostream>
    using namespace std;
 
    int main()
    {
        int stan = 301;
                int punkty = 1;
                int rzut = 1;
                int runda = 1;
       
    while (stan > 0)
        {
                if (rzut <= 3)
                {
                                cout << "Runda " << runda << ", rzut " << rzut << endl << "Podaj liczbe punktow: (0-60)" << endl;
                                cin >> punkty;
                        stan = stan - punkty;
                        rzut = rzut + 1;       
                        }
                        else
                        {
                                cout << "\nRunda " << runda << ", liczba twoich punktow: " << stan << endl <<endl;
                                runda++;
                                rzut = 1;
                        }
                {
                cout << "Runda " << runda << ", BUST!\n Liczba twoich punktow: " << stan << endl;
                return 0;
                }
                }
                if (punkty == - 1)
                {
                return 0;      
                }              
                else if (punkty <0)
        {
        cout << "Niepoprawna ilosc punktow (0-60)" << endl;
                }
                if (punkty > 60)
                {
                cout << "Niepoprawna ilosc punktow" << endl;
                }
                if (punkty > stan)
       
                cout << "Gra zakonczona w " << runda << " rundzie." << endl;
        return 0;
    }
komentarz 1 lipca 2016 przez Geralto Nowicjusz (160 p.)
Można usprawnić to łącząc dwa warunki w jeden if ( (punkty<0)||(punktu>60) cout<<"Niepoprawna ilość punktów";

Podobne pytania

0 głosów
1 odpowiedź 266 wizyt
0 głosów
3 odpowiedzi 232 wizyt
0 głosów
3 odpowiedzi 549 wizyt

92,580 zapytań

141,433 odpowiedzi

319,665 komentarzy

61,965 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!

...