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

Instrukcja switch

Object Storage Arubacloud
0 głosów
177 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,000 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ź 515 wizyt
pytanie zadane 9 lutego 2022 w C i C++ przez Dynamic Bywalec (2,910 p.)
0 głosów
0 odpowiedzi 992 wizyt
pytanie zadane 1 listopada 2019 w C i C++ przez Hubertius Bywalec (2,970 p.)
+3 głosów
1 odpowiedź 366 wizyt
pytanie zadane 22 października 2021 w C i C++ przez CrisGoldmann Nowicjusz (200 p.)

92,563 zapytań

141,413 odpowiedzi

319,590 komentarzy

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

...