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

Jak utworzyć komendę, dzięki której będzie się wracało do menu głównego, a także jak zapętlić daną czynność?

VPS Starter Arubacloud
0 głosów
963 wizyt
pytanie zadane 16 lipca 2015 w C i C++ przez Maurycy0621 Bywalec (2,140 p.)

Witam wszystkich bardzo serdecznie.

Pracuję nad chyba moim największym projektem, w jakim dane było mi pracować.laugh Stworzyłem 3 osobne aplikacje, a teraz wszystkie chciałem połączyć w 1 duży program. Sprawa wygląda tak: Na początku program wyświetla nam się informację, że są 3 sekcje, i żeby do danej sekcji przejść, trzeba wpisać odpowiedni numer z klawiatury (tutaj bawiłem się if-ami). I teraz moje pytania są następujące:

1) Jaką komendę trzeba użyć, aby po skończeniu działania danej aplikacji, wracać do menu głównego (tego menu z wyborami)?

2) Jak zrobić pentlę, która będzie informowała użytkownika w nieskończoność, kiedy ten wybierze inny przycisk (numer), niż można?

2 odpowiedzi

0 głosów
odpowiedź 16 lipca 2015 przez Adrian1999 Nałogowiec (34,570 p.)

do pierwszego, stwórz sobie funkcje bool, jak zwróci false wrócisz do głównej pętli i po problemi.

do drugiego, starczy umieścić to w switchu ew w ifie switch

switch(cyfra)
{
case 1: cout<<"dobrze"; break;
case 2: cout<<"dobrze2"; break;
case 3: cout<<"dobrze3"; break;
default: cout<<"Zly wybor, program nie obsluguje takiego wyboru";break;
}
// lub w ifie p.s przed daj ify if(cyfra ==1) itd..
else if( cyfra !=1 || cyfra !=2 || cyfra !=3)
cout<<"Zly wybor, program nie obsluguje takiego wyboru";

jak widać przy ifie dużo zabawy jest więc polecam stworzyć wszystko w switchu

komentarz 16 lipca 2015 przez Maurycy0621 Bywalec (2,140 p.)
A czy do switch-ów trzeba dodawać jakieś dodatkowe biblioteki?
komentarz 16 lipca 2015 przez Adrian1999 Nałogowiec (34,570 p.)
nieee, switch to podstawowa instrukcja. Jest używany jak się niemylę w większości języków programowania
komentarz 16 lipca 2015 przez Maurycy0621 Bywalec (2,140 p.)
Wszystko ok, ale jest jeden problem. Otóż program jest niemalże zakończony, i jest on w całości zrobiony z if-ów. Może 600 linijek kodu to dla niektórych mało, ale nie chce mi się z tym bawić, i wolałbym jakiś spoób, z wykorzystaniem if-ów. Jest takowy?
komentarz 16 lipca 2015 przez Adrian1999 Nałogowiec (34,570 p.)
stwórz po prostu instrukcje else i tyle, jeżeli żaden z ifów się nie spełni spełni się instrukcja else
komentarz 16 lipca 2015 przez Maurycy0621 Bywalec (2,140 p.)
No ok, i tak zrobiłem, ale po wykonaniu instrukcji else, program się wyłącza, a chciałbym, żeby wracał do punktu wyjścia.
komentarz 16 lipca 2015 przez Adrian1999 Nałogowiec (34,570 p.)
Pokaż kod bo tak nic nie powiem ;c
komentarz 16 lipca 2015 przez Maurycy0621 Bywalec (2,140 p.)
Poniżej kawałek kodu menu głównego.

 

#include <iostream>
#include <conio.h>
#include <string>
#include <iomanip>

using namespace std;

std::string PL(std::string Znak)
       {
               switch(Znak[i])
               {
                       case 'ą':
                               Znak[i] = static_cast<char>(165);
                       break;
 
                       case 'ć':
                               Znak[i] = static_cast<char>(134);
                       break;
 
                       case 'ę':
                               Znak[i] = static_cast<char>(169);
                       break;
 
                       case 'ł':
                               Znak[i] = static_cast<char>(136);
                       break;
 
                       case 'ń':
                               Znak[i] = static_cast<char>(228);
                       break;
 
                       case 'ó':
                               Znak[i] = static_cast<char>(162);
                       break;
 
                       case 'ś':
                               Znak[i] = static_cast<char>(152);
                       break;
 
                       case 'ź':
                               Znak[i] = static_cast<char>(171);
                       break;
 
                       case 'ż':
                               Znak[i] = static_cast<char>(190);
                       break;
 
                       case 'Ą':
                               Znak[i] = static_cast<char>(164);
                       break;
 
                       case 'Ć':
                               Znak[i] = static_cast<char>(143);
                       break;
 
                       case 'Ę':
                               Znak[i] = static_cast<char>(168);
                       break;
 
                       case 'Ł':
                               Znak[i] = static_cast<char>(157);
                       break;
 
                       case 'Ń':
                               Znak[i] = static_cast<char>(227);
                       break;
 
                       case 'Ó':
                               Znak[i] = static_cast<char>(224);
                       break;
 
                       case 'Ś':
                               Znak[i] = static_cast<char>(151);
                       break;
 
                       case 'Ź':
                               Znak[i] = static_cast<char>(141);
                       break;
 
                       case 'Ż':
                               Znak[i] = static_cast<char>(189);
                       break;
               }
       }
       return Znak;
}

int inwokacja = 1;
int kot = 2;
int kalklator_sredniej = 3;
int program = 4;
int wybor;
string paski = "                        ------------------------------";

main()
{
      
      cout << paski;
      cout << "\n";
      cout << "                       |Ostateczny program dla V1|";
      cout << "\n";
      cout << paski;
      
      cout << "\n" << "\n" << "\n";
      
      cout << PL("        Aby przejść do danej sekcji, wybierz numer, który mu odpowiada");
      
      cout << "\n";
      
      cout << PL("                         A następnie naciśnij ENTER!");
      
      cout << "\n" << "\n";
      
      cout << "1 - Inwokacja";
      
      cout << "\n";
      
      cout << "2 - Drukowanie kota";
      
      cout << "\n";
      
      cout << PL("3 - Kalkulator Średniej");
      
      cout << "\n";
      
      cout << "4 - O programie";
      
      cout << "\n" << "\n";
      
      cout << PL("Twój wybór:");
      
      cin >> wybor;
      
      if (wybor == inwokacja)
      {
komentarz 16 lipca 2015 przez Maurycy0621 Bywalec (2,140 p.)
Temat do zamknięcia. Sam sobie pomogłem
0 głosów
odpowiedź 16 lipca 2015 przez kotfuterkowy Dyskutant (9,220 p.)
edycja 16 lipca 2015 przez kotfuterkowy

Ja bym użył pętli do while, w której znajdowała by się instrukcja switch. Pisałem z pamięci - to tylko szkielet.

char opcja;
do
{
  wyswietlMenu();
  std:cin >> opcja;
  switch(opcja)
  {
    case '1': program1(); break;
    case '2': program2(); break;
    case '3': program3(); break;
    case 'X': break; // koniec programu
    default: std:cout >> "Nie ma takiej opcji\n"; break;
  }
}
while(opcja!='X');

 

Podobne pytania

0 głosów
1 odpowiedź 573 wizyt
pytanie zadane 24 listopada 2019 w C i C++ przez Hardwell Dyskutant (8,960 p.)
0 głosów
1 odpowiedź 1,172 wizyt
0 głosów
1 odpowiedź 183 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...