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

Tworzę wielofunkcyjny program połączony z wielu lecz nie mam pojęcia co muszę w nim jeszcze zawrzeć żeby zadziałał.

Object Storage Arubacloud
+1 głos
149 wizyt
pytanie zadane 11 lutego 2021 w C i C++ przez Jamkaj27 Nowicjusz (130 p.)

Mam zamiar stworzyć program w którym połączę kalkulator zrobiony przy użyciu switcha oraz parę innych programów jak np. zgadywanie liczby, lecz nie wiem co tu nie gra i czego musiał bym użyć żeby program losowania liczby się restartował albowiem liczba prób

#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <time.h>
#include <windows.h>
#include <stdio.h>
using namespace std;
float x,y;
char wybor,wybor2,wybor3;
int liczba,strzal,ile_prob;


int main()
{

for (;;)
{
    cout <<"MENU GLOWNE" << endl;
    cout << "----------------" << endl;
    cout << "1.Kalkulator" << endl;
    cout << "2.Zgadywanie liczby" << endl;
    wybor=getch();
    system("cls");



    switch (wybor)
    {
        case '1':
        cout<<"Witaj w kalkulatorze, wybierz operacje: "<<endl<<endl;
        cout << "MENU KALKULATORA" << endl;
        cout << "----------------" << endl;
        cout << "1.Dodawanie" << endl;
        cout << "2.Odejmowanie" << endl;
        cout << "3.Mnozenie" << endl;
        cout << "4.Dzielenie" << endl;
        cout<<"---------------"<<endl;
        cout<<"5. wyjscie"<<endl;
        cout << "Enter = Powrot do Menu Glownego" << endl;

         wybor2=getch();
         system ("cls");

            switch (wybor2)
            {
                case '1':
                cout<<"Dodawanie"<<endl<<endl;

                cout<<"Podaj 1 liczbe: ";
                cin>>x;

                cout<<"Podaj 2 liczbe: ";
                cin>>y;

                cout<< "Suma = "<<x+y<<endl;
                break;

                case '2':
                cout<<"Odejmowanie"<<endl<<endl;

                cout<<"Podaj 1 liczbe: ";
                cin>>x;

                cout<<"Podaj 2 liczbe: ";
                cin>>y;

                cout<< "Roznica = "<<x-y<<endl;
                break;

                case '3':
                cout<<"Mnozenie"<<endl<<endl;

                cout<<"Podaj 1 liczbe: ";
                cin>>x;

                cout<<"Podaj 2 liczbe: ";
                cin>>y;

                cout<< "Iloczyn = "<<x*y<<endl;
                break;

                case '4':
                cout<<"Dzielenie"<<endl<<endl;

                cout<<"Podaj 1 liczbe: ";
                cin>>x;

                cout<<"Podaj 2 liczbe: ";
                cin>>y;

                if (y==0) cout <<"Nie dzielimy przez zero!";
                else cout<< "Roznica = "<<x/y<<endl;
                break;

                case '5':
                cout<<"DO ZOBACZENIA (:"<<endl;
                exit(0);
            }

                wybor3=getch();
                system ("cls");
            case '2':
              cout<<"Witaj pomyslalem sobie liczbe od 1...100"<<endl;
              srand(time(NULL));
              liczba = rand()% 100+1;

              while(strzal!=liczba)
             {
            ile_prob++;
            cout<<"Zgadni jaka to liczba(to twoja "<<ile_prob<<" proba:";
            cin>>strzal;

            if(liczba==strzal)
            cout<<endl<<"udalo sie, wygrywasz w "<<ile_prob<<" probie"<<endl;

            else if(liczba>strzal)
            cout<<"za malo"<<endl;

            else if(liczba<strzal)
            cout<<"za duzo"<<endl;

              }



    }
}
    return 0;
}

ciągle się inkrementuje a w programie występuje błąd polegający na tym że po skończeniu obliczania w kalkulatorze nie ukazuje się menu tylko od razu 2 program.

2 odpowiedzi

0 głosów
odpowiedź 11 lutego 2021 przez niezalogowany

W linii 102 brakuje break;. Miejsce przed case 2. 

komentarz 12 lutego 2021 przez Jamkaj27 Nowicjusz (130 p.)
wszystko dobrze chodzi. Tyle jeszcze nie mam pojęcia co bym mógł zrobić żeby zmienna   ile_ prób się restartowała a nie ciągle inkrementowała ?
0 głosów
odpowiedź 12 lutego 2021 przez Psz3mo Mądrala (5,030 p.)

Moim zdaniem niepotrzebnie użyłeś zmiennych globalnych. Najlepiej jakbyś deklarował je przed jakąś funkcja, w której będziesz je używać. np.

liczba = rand()% 100+1;
              int ile_prob = 0;  //o tutaj
              while(strzal!=liczba)
             {
            ile_prob++;

 

Podobne pytania

92,537 zapytań

141,377 odpowiedzi

319,456 komentarzy

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

...