Instrukcja switch case

0

Witam mam problem mianowicie rozwiązuje zadanie które polega na tym że mam przerobić wcześniej napisane przez siebie menu którego struktura była oparta na funkcjach ale tym razem ma działać ono przy pomocy instrukcji switch case. I mój problem polega na tym że nie wiem jak zrobić żeby program najpierw zapisał imię, nazwisko i wiek wprowadzony przez użytkownika bo w momencie kiedy dodałem sobie dodatkową funkcję która miała by być za to odpowiedzialna program ją ignoruje.

#include <iostream>
#include <string>

using namespace std;

string name, surname;
int age;

int przedstawienie ()
{
cout << "Witaj podaj swoje imie: " << endl;
cin >> name;
cout << "Podaj swoje nazwisko: " << endl;
cin >> surname;
cout << "Podaj swoj wiek: " << endl;
cin >>age;
}

void imie ()
{
cout << "Nazywasz sie "<< name << endl;

}
void nazwisko ()
{
cout << "Twoje nazwisko to : " << surname << endl;
}
void wiek ()
{
cout << "Masz " << age << endl;
}
void kalkulator ()
{
string znak;
int pierwsza_liczba;
int druga_liczba;
cout << "Podaj jeden z operatorow arytmetycznych =,-,*,/: ";
cin >> znak;
cout << "Podaj pierwsza liczbe: " << endl;
cin >> pierwsza_liczba;
cout << "Podaj druga liczbe: " << endl;
cin >> druga_liczba;

if (znak == "+")
{
    cout << "Wynik twojego dzialania wynosi: " << pierwsza_liczba + druga_liczba << endl;
}

else if (znak == "-")
{
    cout << "Wynik twojego dzialania wynosi: " << pierwsza_liczba - druga_liczba << endl;
}

else if (znak == "*")
{
    cout << "Wynik twojego dzialania wynosi: " << pierwsza_liczba * druga_liczba << endl;
}

else if (znak == "/")
{
    cout << "Wynik twojego dzialania to: " << pierwsza_liczba / druga_liczba << endl;
}

}
void piosenka()
{
for (int i = 99; i > 0; i--)
{
cout << i << " bottles of beer on the wall " << i << " bottles of beer on the wall" << endl;
cout << " Take one down, pass it around " << i-1 << " bottles of beer on the wall. " <<endl;
}
}

int main ()
{
int wybor;

cout << "[1] Wypisz imie\n ";
cout << "[2] Wypisz nazwisko\n";
cout << "[3] Wypisz wiek\n";
cout << "[4] Kalkulator\n ";
cout << "[5] Piosenka\n ";
cin >> wybor;
switch ( wybor )
{
 case 1:
    imie();
    break;
 case 2:
    nazwisko();
    break;
 case 3:
    wiek();
    break;
 case 4:
    kalkulator();
    break;
 case 5:
     piosenka();
     break;
}

}

0

Po pierwsze, to z tego co widzę funkcja 'przedstawienie()' zbiera dane służące do wyświetlania, problem w tym, że nigdzie jej nie wywołujesz.

Jak wklejasz kod to między znaczniki: ```

bo się czytać później tego nie da.

0

Z tego co zrozumiałem, to zrobiłeś funkcję przedstawienie, która ma na początku pobrać dane od użytkownika, a potem wyświetlić te dane która wybierze (zmienna wybór).

Jeżeli o to chodzi to nie wywołałeś nigdzie funkcji przedstawienie, więc skąd program ma wiedzieć, że chcesz ją wykonać? Wstaw linijkę "przedstawienie();" np gdzieś przed tymi coutami w mainie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.