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

C++ - MENU - ułatwienia, powrót do głównego itp

Mały hosting, OGROMNE możliwości
+1 głos
672 wizyt
pytanie zadane 8 kwietnia 2021 w C i C++ przez LapSuSu Nowicjusz (130 p.)
#include <iostream>
#include <cstdlib>
#include <locale.h>
#include <conio.h>
#include <math.h>

using namespace std;
float a,b,c;
float euro0=0.22, euro1=4.59, usd0=0.26, usd1=3.84;
char wybor,wybor1,wybor2,wybor3,wybor4,wybor5,wybor6,wybor7,wybor8,wybor9,wybor10,wybor11,wybor12,wybor13,wybor14,wybor15,wybor16,wybor17,wybor18,wybor19,wybor20,wybor21,wybor22,wybor23,wybor24,wybor25,wybor26,wybor27,wybor28;

int main()
{
 setlocale(LC_CTYPE, "Polish");
 cout<<"  **********MINI POMOCNIK**********"<<endl<<endl;
 cout<<endl<<"1. Kalkulator";
 cout<<endl<<"2. Zamiana walut";
 cout<<endl<<"3. Sprawdź czy podany rok jest przystępny";
 cout<<endl<<"4. Ile dni ma wybrany miesiąc w danym roku";
 cout<<endl<<"5. Zamiana jednostek czasu";
 wybor=getch();
 system("cls");
 
 switch(wybor)
 {
 	case '1':
 	cout<<"  **********MENU KALKULATORA**********"<<endl<<endl;
 	cout<<"1. Dodawanie"<<endl;
 	cout<<"2. Odejmowanie"<<endl;
 	cout<<"3. Dzielenie"<<endl;
 	cout<<"4. Mnożenie"<<endl;
 	cout<<"5. Pierwiastkowanie"<<endl;
 	cout<<"6. Potęgowanie"<<endl;
 	cout<<"7. Powrót"<<endl;
 	
 	wybor1=getch();
 	system("cls");
 	
 	switch (wybor1)
     {
	  case '1':
      cout<<"  **********Dodawanie**********"<<endl<<endl;
      cout<<"Podaj pierwszą liczbę (składnik): ";
      cin>>a;
      cout<<"Podaj drugą liczbę (składnik): ";
      cin>>b;
      cout<<endl<<"Wynikiem dodawania "<<a<<" + "<<b<<" jest suma = "<<a+b;
      break;
    
      case '2':
      cout<<"  **********Odejmowanie**********"<<endl<<endl;
      cout<<"Podaj pierwszą liczbę (odjemna): ";
      cin>>a;
      cout<<"Podaj drugą liczbę (odjemnik): ";
      cin>>b;
      cout<<endl<<"Wynikiem odejmowania "<<a<<" - "<<b<<" jest różnica = "<<a-b;
      break;
    
      case '3':
      cout<<"  **********Dzielenie**********"<<endl<<endl;
      cout<<"Podaj pierwszą liczbę (dzielna): ";
      cin>>a;
      cout<<"Podaj drugą liczbę (dzielnik): ";
      cin>>b;
      if (b==0)
      cout<<endl<<"Nie dzielimy przez zero!";
      else 
      cout<<endl<<"Wynikiem dzielenia "<<a<<" / "<<b<<" jest iloraz = "<<a/b;
      break;
    
      case '4':
      cout<<"  **********Mnożenie**********"<<endl<<endl;
      cout<<"Podaj pierwszą liczbę (czynnik): ";
      cin>>a;
      cout<<"Podaj drugą liczbę (czynnik): ";
      cin>>b;
      cout<<endl<<"Wynikiem mnożenia "<<a<<" * "<<b<<" jest iloczyn = "<<a*b;
      break;
    
      case '5':
      cout<<"  **********Pierwiastkowanie**********"<<endl<<endl;
      cout<<"Wprowadź liczbę do pierwiastkowania: ";
      cin>>a;
      cout<<"Wprowadź stopień pierwiastka: ";
      cin>>b;
      cout<<endl<<"Pierwiastek "<<b<<" stopnia z liczby "<<a<<" = "<<pow(a, 1/b);
      break;
    
      case '6':
      cout<<"  **********Potęgowanie**********"<<endl<<endl;
      cout<<"Wprowadź podstawę: ";
      cin>>a;
      cout<<"Wprowadź wykładnik: ";
      cin>>b;
      cout<<endl<<"Liczba o podstawie "<<a<<" i wykładniku "<<a<<" = "<<pow(a, b);
      break;
     
      case '7':
      exit(0);
     }

    case '2':
	cout<<"  **********ZAMIANA WALUT**********"<<endl<<endl;
 	cout<<"1. Euro (EUR)"<<endl;
 	cout<<"2. Dolar Amerykański (USD)"<<endl;
 	cout<<"3. Frank Szwajcarski (CHF)"<<endl;
 	cout<<"4. Funt Brytyjski  (GBP)"<<endl;
 	cout<<"5. Jen (JPY)"<<endl;
 	cout<<"6. Korona Czeska (CZK) "<<endl;
 	cout<<"7. Lira Turecka (TRY) "<<endl;
 	cout<<"8. Rubel Rosyjski (RUB) "<<endl;
 	cout<<"9. Powrót"<<endl;
 	wybor2=getch();
 	system ("cls");
 	
 	switch (wybor2)
     {
 	  case '1':
 	  cout<<"  **********Euro**********"<<endl<<endl;
	  cout<<"1. PLN na EUR"<<endl;
	  cout<<"2. EUR na PLN"<<endl; 	
	  wybor3=getch();
	  system ("cls");
	  
	  switch (wybor3)
	   {
	  	case '1':
	  	cout<<"  **********PLN -> EURO**********"<<endl<<endl;
	  	cout<<"Wprowadź dowolną kwotę PLN do przekonwertowania na EURO: ";
	  	cin>>a;
	  	cout<<endl<<"Wprowadzona kwota PLN wynosi "<<euro0*a<<" EURO";
	  	break;
	  	
	  	case '2':
	  	cout<<"  **********EUR -> PLN**********"<<endl<<endl;
	  	cout<<"Wprowadź dowolną kwotę EURO do przekonwertowania na PLN: ";
	  	cin>>a;
	  	cout<<endl<<"Wprowadzona kwota EURO wynosi "<<euro1*a<<" PLN";
	  	break;
	    }
 	  	case '2':
 	  	cout<<"  **********Dolar amerykański**********"<<endl<<endl;
	    cout<<"1. PLN na USD"<<endl;
	    cout<<"2. USD na PLN"<<endl; 	
	    wybor4=getch();
	    system ("cls");
	    
	    switch (wybor4)
	   {
	    case '1':
		cout<<"  **********PLN -> USD**********"<<endl<<endl;
	  	cout<<"Wprowadź dowolną kwotę PLN do przekonwertowania na USD: ";
	  	cin>>a;
	  	cout<<endl<<"Wprowadzona kwota PLN wynosi "<<usd0*a<<" USD";
	  	break;
	  	
	  	case '2':
	  	cout<<"  **********USD -> PLN**********"<<endl<<endl;
	  	cout<<"Wprowadź dowolną kwotę USD do przekonwertowania na PLN: ";
	  	cin>>a;
	  	cout<<endl<<"Wprowadzona kwota USD wynosi "<<usd1*a<<" PLN";
	  	break;
	    }
    }
 }

 
 return 0;
}

Witam. Program jest niekompletny. Chodzi mi o to, że próbując włączyć program i przechodząc np do dodawania wyswietla mi sie nastepny switch... chciałbym aby po ukazniu wyniku pojawiła się opcja powrotu do menu głownego... Jest jakiś wgl pomysł aby móc powrócić np gdy wybrałem kalkulator powrót np klawiszem 5 do którego jest przypisany "powrót" do wczesniejszej strony bo mnie wyrzuca i konczy program. Oczekuje jakiś sugestii co do programu... ułatwien/porad jak by mozna prosić

komentarz 8 kwietnia 2021 przez VBService Ekspert (256,580 p.)
edycja 9 kwietnia 2021 przez VBService

Obliczanie ceny walut według Mnie tylko ma sens jak do Twojego programu wprowadzisz pobieranie kursu walut np.: ze strony pobieranie kursów walut oraz cen złota NBP Web API

2 odpowiedzi

+1 głos
odpowiedź 8 kwietnia 2021 przez fsfxvcxv Obywatel (1,160 p.)
Wedlug mnie powinienes te wszystkie switche zapisac w oddzielnych funkcjach ,aby w przyszłości było łatwiej nimi operowac i gdy to jest potrzebne korzystac z if ow
0 głosów
odpowiedź 9 kwietnia 2021 przez VBService Ekspert (256,580 p.)
edycja 9 kwietnia 2021 przez VBService

Propozycja  wink (na jeden "moduł", chyba sobie poradzisz jak dodać kolejne - lub kod naprowadzi Ciebie na inne rozwiązanie)

online

#include <iostream>
#include <locale.h>
#include <vector>
#include <math.h>

using namespace std;

void calculator();

int main()
{
    setlocale(LC_CTYPE, "Polish");
    char menu_choice;
    
    while (true)
    {
        cout << "***********MINI POMOCNIK**********\n\n"
             << "1. Kalkulator\n"
             << "2. Zamiana walut\n"
             << "3. Sprawdź czy podany rok jest przystępny\n"
             << "4. Ile dni ma wybrany miesiąc w danym roku\n"
             << "5. Zamiana jednostek czasu\n"
             
             << "\n0 - koniec programu\n"; 
         cin >> menu_choice;
        
        system("cls"); // system("clear") - no windows
        if (menu_choice == '0') break;

        switch (menu_choice)
        {
            case '1': calculator(); break;
        }
    }

    return EXIT_SUCCESS;
}

void calculator()
{
    vector<string> menu_title = { "", "Dodawanie", "Odejmowanie", "Dzielenie",
                                  "Mnożenie", "Pierwiastkowanie", "Potęgowanie" };
    int menu_choice;
    float a, b, result=0;
    
    while (true)
    {
        cout << "***********MENU KALKULATOR**********\n\n";
        for (int i=1; i<7; ++i) cout << i << ". " << menu_title[i] << "\n";
       
        cout << "\n0 - powrót do menu głównego\n"; 
         cin >> menu_choice;
        
        system("cls");
        if (menu_choice == 0) break;
        
        cout << "**********" << menu_title[menu_choice] << "**********\n\n";
        
        if (menu_choice >= 1 && menu_choice <=4)
        {
            cout << "Podaj pierwszą liczbę: "; cin >> a;
            cout << "   Podaj drugą liczbę: "; cin >> b;
            
            switch (menu_choice)
            {
                case 1: result = a + b; break;
                case 2: result = a - b; break;
                case 3: 
                    if (b == 0) cout << "Nie dzielimy przez zero!\n"; 
                     else result = a / b;
                    break;
                case 4: result = a * b; break;
            }
            
            cout << "Wynik: " << result;
        }
        else if (menu_choice == 5)
        {
            cout << "Wprowadź liczbę do pierwiastkowania: "; cin >> a;
            cout << "       Wprowadź stopień pierwiastka: "; cin >> b;
            cout << "Pierwiastek " << b << " stopnia z liczby " << a << " = " << pow(a, 1/b);
        }
        else if (menu_choice == 6)
        {
            cout << " Wprowadź podstawę: "; cin >> a;
            cout << "Wprowadź wykładnik: "; cin >> b;
            cout << "Liczba o podstawie " << a << " i wykładniku " << b << " = " << pow(a, b);
        }
        
        cout << "\n\n0 - powrót do menu\n";
         cin >> menu_choice;
        system("cls");
    }
}

Podobne pytania

0 głosów
1 odpowiedź 841 wizyt
0 głosów
2 odpowiedzi 262 wizyt
pytanie zadane 10 lutego 2018 w Inne języki przez Salaa1 Początkujący (460 p.)
0 głosów
1 odpowiedź 891 wizyt

93,717 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,261 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...