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

Instrukcja switch

0 głosów
355 wizyt
pytanie zadane 13 grudnia 2019 w C i C++ przez amtrax Dyskutant (9,630 p.)

Cześć, 

Użytkownik ma do wyboru opcje od 1-4, jeśli wybór będzie inny, program ma poprosić o podanie poprawnej wartości tak długo, dopóki użytkownik jej nie wpisze.

Jak poprzez instrukcję Switch rozwiązać taki problem? 

#include <iostream>

using namespace std;

int main()
{
    int choice, wybor=0;



    cout<<"a)Oferta "<<endl;
    cout<<"b)O nas"<<endl;
    cout<<"c)Galeria"<<endl;
    cout<<"d)Kontakt "<<endl;
    cout<<"-------------"<<endl;
    cout<<": ";cin>>choice;


while(choice!=10)  
{


    switch(choice)
    {
        case 1: cout<<"Nasza oferta: "<<endl;break;
        case 2: cout<<"Jestesmy firma: "<<endl;break;
        case 3: cout<<"galeria galeria"<<endl;break;
        case 4: cout<<"656 452 878"<<endl;break;
        default:break;  


    }
    

    cout<<endl;
    cout<<"Podaj litere: "<<endl;
    cout<<"a)Oferta "<<endl;
    cout<<"b)O nas"<<endl;
    cout<<"c)Galeria"<<endl;
    cout<<"d)Kontakt "<<endl;
    cout<<"-------------"<<endl;
    cout<<": ";cin>>choice;


        }

    return 0;
}

 

3 odpowiedzi

0 głosów
odpowiedź 13 grudnia 2019 przez tkz Nałogowiec (42,040 p.)
wybrane 13 grudnia 2019 przez amtrax
 
Najlepsza
#include <iostream>
 
using namespace std;
 
int main()
{
    int choice;
    cout<<"a)Oferta "<<endl;
    cout<<"b)O nas"<<endl;
    cout<<"c)Galeria"<<endl;
    cout<<"d)Kontakt "<<endl;
    cout<<"-------------"<<endl;
    while(std::cin>>choice)  
    {
        switch(choice)
        {
            case 1: cout<<"Nasza oferta: "<<endl;break;
            case 2: cout<<"Jestesmy firma: "<<endl;break;
            case 3: cout<<"galeria galeria"<<endl;break;
            case 4: cout<<"656 452 878"<<endl;break;
            default: ;  
        }
    }
    return 0;
}

 

+1 głos
odpowiedź 13 grudnia 2019 przez k222 Nałogowiec (30,150 p.)

bool again;

do {
    again = false;

    switch(choice)
    {
        case 1: cout<<"Nasza oferta: "<<endl;break;
        case 2: cout<<"Jestesmy firma: "<<endl;break;
        case 3: cout<<"galeria galeria"<<endl;break;
        case 4: cout<<"656 452 878"<<endl;break;
        default: again = true;   
    }
} while(again);

może coś takiego? - prosty do - while z flagą again

komentarz 13 grudnia 2019 przez amtrax Dyskutant (9,630 p.)
Dziękuje za odpowiedź, jednak autorowi zadania nie do końca  o to chodziło.

Jeśli użytkownik wpisze liczbę np. 5, program ma wyświetlić komunikat proszący o podanie wartości ponownie i tak do skutku. Gdy użytkownik poda dobrą wartość, odpowiedni jej przypadek ma się wyświetlić; tak w pętli cykl ponownie ma się wykonac.
komentarz 13 grudnia 2019 przez k222 Nałogowiec (30,150 p.)

no i?

przecież się powtarza, wystarczy cina dodać 


bool again;
 
do {
    again = false;
 
    switch(choice)
    {
        case 1: cout<<"Nasza oferta: "<<endl;break;
        case 2: cout<<"Jestesmy firma: "<<endl;break;
        case 3: cout<<"galeria galeria"<<endl;break;
        case 4: cout<<"656 452 878"<<endl;break;
        default: 
               cout<<"Wpisałeś "<<choice<<" tak nie wolno, spróbuj ponownie"<<endl;
               cin>> choice;
               again = true;   
    }
} while(again);

 

0 głosów
odpowiedź 13 grudnia 2019 przez Gildin1_2 Gaduła (3,060 p.)
Użyj pętli DoWhile i jeśli liczba jest poprawna po prostu zakończ pętle i tyle w temacie

Podobne pytania

+1 głos
1 odpowiedź 936 wizyt
pytanie zadane 9 lutego 2022 w C i C++ przez Dynamic Bywalec (2,910 p.)
0 głosów
0 odpowiedzi 1,271 wizyt
pytanie zadane 1 listopada 2019 w C i C++ przez Hubertius Bywalec (2,970 p.)
+3 głosów
1 odpowiedź 1,063 wizyt
pytanie zadane 22 października 2021 w C i C++ przez CrisGoldmann Nowicjusz (200 p.)

93,691 zapytań

142,610 odpowiedzi

323,216 komentarzy

63,218 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.

...