Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
C++

[ROZWIĄZANE] Switch...case...DEFAULTproblemos

c++

  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 02.03.2014 13:58

Siemanko, mam problem z kodem c++. A mianowicie mam w jednym programie trzy funkcje switch...case. Default z drugiego switchu pojawia się w switchu trzecim.

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

using namespace std;

//deklaracja zmiennych
int wybor1, wyrobpole, wyborobw; //zmienne do wyboru co chce uzytkownik robic
int bok1, bok2,bok3; //na pole i obwod prostokata, kwadratu, trojkata
int wysokosc; //do obliczenia pola trojkata

int main(){
cout<<"Co chcesz wykonac?"<<endl;
cout<<"1. Obliczyc obwod"<<endl;
cout<<"2. Obliczyc pole"<<endl;
cin>>wybor1;

switch(wybor1){
case 1:{
cout<<"Na jakiej figurze?"<<endl;
cout<<"1. Kwadrat"<<endl;
cout<<"2. Prostokat"<<endl;
cout<<"3. Trojkat"<<endl;
cin>>wyborobw;
break;
}
case 2:{
cout<<"Na jakiej figurze?"<<endl;
cout<<"1. Kwadrat"<<endl;
cout<<"2. Prostokat"<<endl;
cout<<"3. Trojkat"<<endl;
cin>>wyrobpole;
break;
}
default: {
cout<<"Sa tylko dwie opcje, 1 albo 2!"<<endl;
return 0;
break;
}
}

switch(wyborobw){
case 1: {
cout<<"Podaj bok: ";
cin>>bok1;
cout<<"Obwod twojego kwadratu to: "<<4*bok1 <<endl;
break;
}
case 2: {
cout<<"Podaj dluzszy bok: ";
cin>>bok1;
cout<<"Podaj krotszy bok: ";
cin>>bok2;
cout<<"Obwod twojego prostokatu to: "<<2*bok1+2*bok2 <<endl;
break;
}
case 3: {
cout<<"Podaj pierwszy bok: ";
cin>>bok1;
cout<<"Podaj drugi bok: ";
cin>>bok2;
cout<<"Podaj trzeci bok: ";
cin>>bok3;
cout<<"Obwod twojego trojkata to: "<<bok1+bok2+bok3 <<endl;
break;
}
default: {
cout<<"Sa tylko trzy opcje, 1, 2 lub 3! obw"<<endl;
return 0;
break;
}
}

switch(wyrobpole){
case 1: {
cout<<"Podaj bok: ";
cin>>bok1;
cout<<"Pole twojego kwadratu to: "<<bok1*bok1 <<endl;
break;
}
case 2: {
cout<<"Podaj dluzszy bok: ";
cin>>bok1;
cout<<"Podaj krotszy bok: ";
cin>>bok2;
cout<<"Pole twojego prostokatu to: "<<bok1*bok2 <<endl;
break;
}
case 3: {
cout<<"Podaj bok: ";
cin>>bok1;
cout<<"Podaj wysokosc: ";
cin>>wysokosc;
cout<<"Pole twojego trojkata to: "<<(bok1+wysokosc)/2 <<endl;
break;
}
default:{
cout<<"Sa tylko trzy opcje, 1, 2 lub 3! pole"<<endl;
return 0;
break;
}
return 0;
}

getch();
}

  • +
  • -
  • 0

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 02.03.2014 14:16

Zauważ, że gdy wybierzesz opcję pierwszą - kwadrat, wartość zmiennej wyrobpole będzie równa 0, a więc default. ;)

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

using namespace std;

//deklaracja zmiennych
int wybor1, wyrobpole, wyborobw; //zmienne do wyboru co chce uzytkownik robic
int bok1, bok2,bok3; //na pole i obwod prostokata, kwadratu, trojkata
int wysokosc; //do obliczenia pola trojkata

int main(){
	cout<<"Co chcesz wykonac?"<<endl;
	cout<<"1. Obliczyc obwod"<<endl;
	cout<<"2. Obliczyc pole"<<endl;
	cin>>wybor1;
	
	switch(wybor1){
		case 1:{
			cout<<"Na jakiej figurze?"<<endl;
			cout<<"1. Kwadrat"<<endl;
			cout<<"2. Prostokat"<<endl;
			cout<<"3. Trojkat"<<endl;
			cin>>wyborobw;
			break;
		}
		case 2:{
			cout<<"Na jakiej figurze?"<<endl;
			cout<<"1. Kwadrat"<<endl;
			cout<<"2. Prostokat"<<endl;
			cout<<"3. Trojkat"<<endl;
			cin>>wyrobpole;
			break;
		}
		default: {
			cout<<"Sa tylko dwie opcje, 1 albo 2!"<<endl;
			break;
		}
	}
	
	if(wyborobw){
		switch(wyborobw){
			case 1: {
				cout<<"Podaj bok: ";
				cin>>bok1;
				cout<<"Obwod twojego kwadratu to: "<<4*bok1 <<endl;
				break;
			}
			case 2: {
				cout<<"Podaj dluzszy bok: ";
				cin>>bok1;
				cout<<"Podaj krotszy bok: ";
				cin>>bok2;
				cout<<"Obwod twojego prostokatu to: "<<2*bok1+2*bok2 <<endl;
				break;
			}
			case 3: {
				cout<<"Podaj pierwszy bok: ";
				cin>>bok1;
				cout<<"Podaj drugi bok: ";
				cin>>bok2;
				cout<<"Podaj trzeci bok: ";
				cin>>bok3;
				cout<<"Obwod twojego trojkata to: "<<bok1+bok2+bok3 <<endl;
				break;
			}
			default: {
				cout<<"Sa tylko trzy opcje, 1, 2 lub 3! obw"<<endl;
				break;
			}
		}
	}
	
	if(wyrobpole){
		switch(wyrobpole){
			case 1: {
				cout<<"Podaj bok: ";
				cin>>bok1;
				cout<<"Pole twojego kwadratu to: "<<bok1*bok1 <<endl;
				break;
			}
			case 2: {
				cout<<"Podaj dluzszy bok: ";
				cin>>bok1;
				cout<<"Podaj krotszy bok: ";
				cin>>bok2;
				cout<<"Pole twojego prostokatu to: "<<bok1*bok2 <<endl;
				break;
			}
			case 3: {
				cout<<"Podaj bok: ";
				cin>>bok1;
				cout<<"Podaj wysokosc: ";
				cin>>wysokosc;
				cout<<"Pole twojego trojkata to: "<<(bok1+wysokosc)/2 <<endl;
				break;
			}
			default:{
				cout<<"Sa tylko trzy opcje, 1, 2 lub 3! pole"<<endl;
				break;
			}
		}
		return 0;
	}
	
	getch();
}

  • +
  • -
  • 1

If you can dream it, you can do it.


#3 Kusek

    z Wikipedii

  • Autor tematu
  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 02.03.2014 14:18

od razu możesz mi powiedzieć czym zrobiłeś że kod jest taki przejrzysty, szukałem w opcjach C++ i nie zobaczyłem nic takiego ^^

 

zaraz sprawdzę czy działa :P

 

 

 

 

@DOWN

oki dzięki

można zamknąć <3 ^^


speedkill (02.03.2014 14:19):
AMXX-Studio xD

  • +
  • -
  • 0

#4 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 02.03.2014 14:24

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

If you can dream it, you can do it.






Również z jednym lub większą ilością słów kluczowych: c++

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych