Problem z pętlą.

0

Witam! Zaczynam przygodę z C++ w CodeBlocks i próbuję stworzyć prosty kalkulator. Posiada 7 opcji do wyboru i chciałbym, żeby po wybraniu nieprzypisanego symbolu (liczby czy też znaków) wyświetliła się ponownie możliwość wyboru jednej z 7 opcji. Nie mam pojęcia jak to zapętlić (o ile to będzie nazywać się pętlą, nie znam zbytnio nomenklatury).

#include <math.h>
#include <cstdio>
#include <cstdlib>
#include <windows.h>
#include <conio.h>

using namespace std;

char dzialanie;
float x, y;

int main()
{
    for (;;)
{

    cout << "Witaj w moim kalkulatorze!" << endl << endl;
    cout << "Wybierz jakie dzialanie chcesz przeprowadzic: " << endl;
    cout << "1. Dodawanie" << endl;
    cout << "2. Odejmowanie" << endl;
    cout << "3. Mnozenie" << endl;
    cout << "4. Dzielenie" << endl;
    cout << "5. Potegowanie" << endl;
    cout << "6. Pierwiastkowanie" << endl;
    cout << "7. Opusc program" << endl << endl;
    cin >> dzialanie;
    cout << endl;

            switch(dzialanie)
    {
    case '1':
        cout << "Wybierz dwie liczby, ktore chcesz do siebie dodac: " << endl;
        cin >> x >> y;
        cout << endl;
        cout << "Wynik: " << x+y;
        break;
    case '2':
        cout << "Wybierz odejmna i odejmnik:" << endl;
        cin >> x >> y;
        cout << endl;
        cout << "Wynik: " << x-y;
        break;
    case '3':
        cout << "Wybiez mnozna i mnoznik: " << endl;
        cin >> x >> y;
        cout << endl;
        cout << "Wynik: " << x*y;
        break;
    case '4':
        if(y!=0)
        {
        cout << "Wybierz dzielna i dzielnik: " << endl;
        cin >> x >> y;
        cout << endl;
        cout << "Wynik: " << x/y;
        }
        else
        cout << "Nie dziel przez 0!";
        break;
    case '5':
        cout <<"Wybierz podstawe i stopien potegi: " << endl;
        cin >> x >> y;
        cout << endl;
        cout << "Wynik: " << pow(x,y);
        break;
    case '6':
        cout << "Wybierz liczbe pierwiastkowana i stopien pierwiastka: " << endl;
        cin >> x >> y;
        cout << endl;
        cout << "Wynik: " << pow(x,1/y);
        break;
    case '7':
        cout << "Zamykanie programu ...";
        Sleep(2000);
        exit(0);
        }


    getchar(); getchar();
    system("cls");

    return 0;
}}
```C++
0

W przypadku gdy chcesz obsłużyć coś co nie jest w casie używasz:


switch(cos)
{
    case 1: cout << "Heejaa \n" ;  break;
    default:
        cout << "Tutaj zostanie wykonany kod jeżeli  nie masz odpowiedniego case'a \n";
        cout << "Czyli np. 2, 3, 4, 5 itp \n";
        break;
}

0

Nie chciałbym spamować na forum, czy mógłbyś mi kolego napisać na priv o co konkretnie chodzi? Jak już pisałem, programowanie to dla mnie nowość.

0
bl0chu napisał(a):

Nie mam pojęcia jak to zapętlić (o ile to będzie nazywać się pętlą, nie znam zbytnio nomenklatury).

Nie wychodź z pętli po każdym przebiegu (usuń poniższe linie):

getchar(); getchar();
system("cls");

return 0;
0

Nie jestem dobry w tłumaczeniu, więc po prostu wklejam program który przerobiłem:

#include <math.h>
#include <cstdio>
#include <cstdlib>
#include <windows.h>
#include <conio.h>

#include <iostream> // Dodałem żeby cout/cin działał

char dzialanie;
float x, y;

using namespace std;

int main()
{
    cout << "Witaj w moim kalkulatorze!" << endl;
    cout << "Wybierz jakie dzialanie chcesz przeprowadzic: " << endl;
    cout << "1. Dodawanie" << endl;
    cout << "2. Odejmowanie" << endl;
    cout << "3. Mnozenie" << endl;
    cout << "4. Dzielenie" << endl;
    cout << "5. Potegowanie" << endl;
    cout << "6. Pierwiastkowanie" << endl;
    cout << "7. Opusc program" << endl << endl;

    for (;;)
    {
    cout << "Opcja: ";
    cin >> dzialanie;

    switch (dzialanie)
    {
    case '1':
      cout << "Wybierz dwie liczby, ktore chcesz do siebie dodac: " << endl;
      cin >> x >> y;
      cout << endl;
      cout << "Wynik: " << x + y;
      break;
    case '2':
      cout << "Wybierz odejmna i odejmnik:" << endl;
      cin >> x >> y;
      cout << endl;
      cout << "Wynik: " << x - y;
      break;
    case '3':
      cout << "Wybiez mnozna i mnoznik: " << endl;
      cin >> x >> y;
      cout << endl;
      cout << "Wynik: " << x * y;
      break;
    case '4':
      if (y != 0) {
        cout << "Wybierz dzielna i dzielnik: " << endl;
        cin >> x >> y;
        cout << endl;
        cout << "Wynik: " << x / y;
      } else
        cout << "Nie dziel przez 0!";
      break;
    case '5':
      cout << "Wybierz podstawe i stopien potegi: " << endl;
      cin >> x >> y;
      cout << endl;
      cout << "Wynik: " << pow(x, y);
      break;
    case '6':
      cout << "Wybierz liczbe pierwiastkowana i stopien pierwiastka: " << endl;
      cin >> x >> y;
      cout << endl;
      cout << "Wynik: " << pow(x, 1 / y);
      break;
    case '7':
      cout << "Zamykanie programu ...";
      Sleep(2000);
      exit(0);
    default:
        cout << "Wprowadź numer odpowiadajacy jednej z opcji!" << endl;
        break;
    }

  }
    return 0;
}

Jeżeli coś nie tak to pytaj śmiało i nie bój się zadawać pytań :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1