Cześć,
Na samym początku podkreślę, że dopiero uczę się C++, dlatego też rzeczy, które dla kogoś wydają się banalne, dla mnie mogą być trudne i niezrozumiałe.
Otóż napotkałem kilka problemów na swojej drodze. Muszę zrobić na studia pięć zadań, w jednym programie.
Oto problemy, które napotkałem:
1)
-Gdy wpisuję wartość poniżej 0 lub powyżej 5 w menu wyboru, to zamiast wykonać instrukcję poniżej:
if (zadanie<=0 || zadanie>5)
{
cout << "Nie ma takiego zadania"<<endl;
To po prostu wyświetla się "Wpisz R, aby wrócić do menu"
2) W pierwszym zadaniu po wykonaniu go, nie ma opcji, by wrócić do menu
3) system ("CLS") nie działa przy powrocie do menu, wygląda to tak:
Poniżej wklejam cały kod (nie wiem jak wkleić ponumerowany kod, przepraszam)
#include <iostream>
using namespace std;
void menu()
{
cout<<"MENU - Prosze wybrac zadanie"<<endl;
cout<<"----------------------------"<<endl;
cout<<"Zadanie 1"<<endl;
cout<<"Zadanie 2"<<endl;
cout<<"Zadanie 3"<<endl;
cout<<"Zadanie 4"<<endl;
cout<<"Zadanie 5"<<endl<<endl;
}
int main()
{
int zadanie;
menu();
cin>>zadanie;
system("cls");
if (zadanie<=0 || zadanie>5)
{
cout << "Nie ma takiego zadania"<<endl;
}
else
{
switch (zadanie)
{
case 1:
int liczba;
cout <<"Podaj liczbe z zakresu 0-999" <<endl;
cin>>liczba;
if(liczba<0 || liczba>999)
{
cout<<"Podana liczba nie spelnia wymagan"<<endl;
}
else
{
if(liczba>=100)
{
liczba= liczba - (liczba-(liczba%1000));
cout<<"Liczba setek: "<< (liczba-(liczba%100))/100<<endl;
}
if(liczba>=10)
{
liczba= liczba- (liczba-(liczba%100));
cout<<"Liczba dziesiatek: "<< (liczba-(liczba%10))/10<<endl;
}
if(liczba>=0)
{
liczba = liczba - (liczba-(liczba%10));
cout<<"Liczba jednostek: "<< liczba<<endl;
}
}
return 0;
break;
case 2:
cout << "---------";
break;
case 3:
int r,P,O;
cout<<"Podaj promien"<<endl;;
cin>>r;
P=(r*r)*3,14;
O=2*r*3,14;
if(r<=0)
{
cout<<"Promien nie moze byc rowny 0, ani ujemny."<<endl;
}
else
{
cout<<"Pole kola wynosi "<<P;
cout<<", a obwod kola "<<O<<endl;
}
break;
case 4:
char litera;
cout<<"Wprowadz dane do sprawdzenia"<<endl;
cin>>litera;
if(litera== 'a' || litera== 'e' ||litera== 'y'||litera== 'o'||litera== 'i'||litera== 'u' )
{
cout<<"Ta litera jest samogloska"<<endl;
}
else if(litera== 'b'||litera== 'c'||litera== 'd'||litera== 'f'||litera== 'g'||litera== 'h'||litera== 'j'||litera== 'k'||litera== 'l'||litera== 'm'||litera== 'n'||litera== 'p'||litera=='r'||litera== 's'||litera== 't'||litera== 'w'||litera== 'z')
{
cout<<"Ta litera to spolgloska"<<endl;
}
else
{
cout<<"Wprowadzone dane to inny znak"<<endl;
}
break;
case 5:
int v,vp,l;
cout<<"Podaj kwote:"<<endl;
cin>>l;
cout<<"Podaj stawke VAT"<<endl;
cin>>v;
vp=(l*v)/100;
if(l<0 || v<0)
{
cout<<"Podales zla wartosc"<<endl;
}
else
{
cout<<"Wartosc podatku VAT wynosi "<<vp<<endl;
}
break;
}
system("PAUSE");
}
system ("CLS");
char powrot;
cout << "Wpisz R, aby powrocic do menu"<<endl<<endl;
cin >> powrot;
if((powrot=='r')||(powrot=='R'))
{
main();
}
else
cout << "Dowidzenia!";
}