program c++

Witam.

Potrzebuje napisac program w c++ ktory sprawdzi ktora z podanych liczb jest najmniejsza.
Dane wejsciowe to 4 liczby (bez zera, ulamkow)

zrobilem cos takiego, ale podaje dobry wynik tylko wtedy gdy pierwsza liczba jest najmniejsza, przy 2,3,4 nic nie wyswietla.
Gdzie mam blad ? Czego brakuje ?

#include
#include

using namespace std;

int main()
{
int a,b,c,d;
cout <
cin >> a;
cout <
cin >> b;
cout <
cin >> c;
cout <
cin >> d;

if (a
if (a
if (a

cout <<

else

if (b
if (b
if (b

cout <<

else

if (c

if (c
if (c

cout <<

else

if (d

if (d
if (d

cout <<



cin.ignore();
getchar();
return 0;
}




z gory dzieki za pomoc...

Odpowiedzi: 20

Zainteresuj się ASCII Tables.
Anonymous
Dodano
05.01.2006 12:39:23
Mam taki problem
potrzebuję sprawdzić kiedy z klawiatury są wpisywane litery, cyfry, znaki oraz spacja. Jakiego warunku uźyć w if....do sprawdzenia czy wprowadzony znak to spacja?
jackow
Dodano
05.01.2006 00:59:35
case 4 :
break ;
jeszcze krótszy i ładniejszy.
Anonymous
Dodano
01.01.2006 16:48:49
Nawyk moźe brzydki, ale w tym przypadku sposób ten jest najprostszy, a kod jest krótki więc nie staje się mało czytelny. [/list]
Neo_shadow
Dodano
01.01.2006 16:40:44
Neo_shadow:

goto koniec;
koniec:

Bardzo brzydki nawyk – program staje sie nieczytelny.
Anonymous
Dodano
01.01.2006 11:04:22

#include
#include

using namespace std;

int main()
{
int a, b, c, d, e, polek, polep, obwod;
int i=1;
while(i=1)
{
cout <
cout <
cin >> a;
switch(a){
case 1:
cout <
cin >> b;
polek = b*b;
cout <<<
break;
case 2:
cout <
cin >> c;
cout <
cin >> d;
polep = c*d;
cout <<<
break;
case 3:
cout <
cin >> e;
obwod = 2*e + 2*e;
cout <<<
break;
default:
cout<
goto koniec;
break;
}
koniec:
cout<<
cout<<
cout<
cin>>i;
cout<
if (i!=1)break;
if (i!=1 && i!=0)
i=0;
}
}
Neo_shadow
Dodano
31.12.2005 20:10:56
Dziady oczywiście w cudzysłowie były – podałem za Bobim. Oczywiście źe w celach domowych (nauka). Całą procedurę rejestracji i odebrania kluczy do programu załatwiłem bardzo szybko, ok pół godzinki. Dziwne dlaczego tak długo to trwa w twoim przypadku.
jackow
Dodano
06.12.2005 18:27:59
"Dziady" to ja napisałem pierwszy, wcale nie w odniesieniu do utworu Mickiewicza :wink:
Owszem trzeba się zarejestrować i to zrobiłem, ale jak klucza nie było tak nie ma. Czekam juz chyba z miesiąc albo lepiej.
Co do uźywania za free to chyba tylko dla celów domowych, a nie komercyjnych, zgadza się?
Bobi
Dodano
06.12.2005 17:08:21
jackow:
Przyślą "dziady" klucza do wersji personal, wystarczy się zarejestrować i moźna uźywać za free.

Co do uźywania za free to bym z licencją sie zapoznał.
Aaa i 'dziady' to określenie nie na miejscu. Wiec racz pisać nazwę firmy.
Anonymous
Dodano
06.12.2005 16:11:17
w instrukcji if...else tylko jedna instrukcja jest wykonywana przy warunku prawdziwym i tylko jedna przy warunku nieprawdziwym. Jeśli masz więcej niź jedną instrukcję to w klamry je. co do pierwszego programu zamiast pisać:
if a>b
if a>c
....
to chyba lepiej

if (a>b && a>c && a>d)...

w tym wypadku && – and

Przyślą "dziady" klucza do wersji personal, wystarczy się zarejestrować i moźna uźywać za free.
jackow
Dodano
05.12.2005 22:01:00
Nie spieram się bo masz sporo racji, zawsze to lepiej dać w klamrach choćby ze względu na przejrzystość.
Duźo od kompilatora zaleźy to równieź prawda, niektóre to puszczą, np. staruśki Borland (do nowszego klucza nie chcą przysłac dziady, a DevC++ się cos wykłada)
Nie będę się wymądrzał bo programować dopiero tak naprawdę zaczynam :P
Bobi
Dodano
05.12.2005 20:48:49
MetaVirus:
ale case to nie pętla
:)

Ale wykonywane są instrukcję – lepiej dać klamerki.
Anonymous
Dodano
05.12.2005 18:40:14
gusioo:

Bobi:
P.S. Przeglądam sobie teraz kilka kursów i ani widu ani słychu źeby w trzeba było instrukcje case'ów w klamrach podawać.

No popatrz sie – a jak masz wiecej niź jedną instrukcję w pętli, a nie dasz klamer (nie 'zgrupujesz ich') to kompilator wykona, ale tylko pierwszą instrukcje.


ale case to nie pętla :)
MetaVirus
Dodano
05.12.2005 18:33:57
Bobi:
*** tam gusioo, ja zawsze mam takiego pecha, źe u mnie działa czyli oblicza to co chcę.
Przed chwilą wrzuciłem ten swój program do kompilatora i ruszył bez pierdnięcia.

Wiadać kompilator masz pobłaźliwy. G++ tego nie łykło.

Bobi:
P.S. Przeglądam sobie teraz kilka kursów i ani widu ani słychu źeby w trzeba było instrukcje case'ów w klamrach podawać.

No popatrz sie – a jak masz wiecej niź jedną instrukcję w pętli, a nie dasz klamer (nie 'zgrupujesz ich') to kompilator wykona, ale tylko pierwszą instrukcje.
Anonymous
Dodano
05.12.2005 16:46:46
Bobi:
*** tam gusioo, ja zawsze mam takiego pecha, źe u mnie działa czyli oblicza to co chcę.
Przed chwilą wrzuciłem ten swój program do kompilatora i ruszył bez pierdnięcia.

Wiadać kompilator masz pobłaźliwy. G++ tego nie łykło.

Bobi:
P.S. Przeglądam sobie teraz kilka kursów i ani widu ani słychu źeby w trzeba było instrukcje case'ów w klamrach podawać.

No popatrz sie – a jak masz wiecej niź jedną instrukcję w pętli, a nie dasz klamer (nie 'zgrupujesz ich') to kompilator wykona, ale tylko pierwszą instrukcje.
Anonymous
Dodano
05.12.2005 16:46:46
*** tam gusioo, ja zawsze mam takiego pecha, źe u mnie działa czyli oblicza to co chcę.
Przed chwilą wrzuciłem ten swój program do kompilatora i ruszył bez pierdnięcia.

P.S. Przeglądam sobie teraz kilka kursów i ani widu ani słychu źeby w trzeba było instrukcje case'ów w klamrach podawać.
Bobi
Dodano
04.12.2005 23:31:10
liczylo dobrze ino ze jak okularow nie mialem i jakos zle widzialem :P jescze raz dzieki za pomoc.

Odezwe sie za tydzien w niedziele wieczorem :mrgreen:
gieras
Dodano
04.12.2005 21:06:33
tacy windowsy pisza i duzą kase za to biorą gusioo :wink: :wink:

Mój bład a raczej skleroza i pośpiech ze o klamrach zapomniałem.

Tak nawiasem mówiąc to u mnie wszystko działało jak naleźy gieras. Bo przed daniem ci kodu sprawdziłem jego poprawność, więc niewiem dlaczego u ciebie cały czas liczyło pole kwadratu.
adik154
Dodano
04.12.2005 21:04:15
Bobi ale źes baboli narobił
#include
using namespace std ;
int main()
{
int pole_kwadratu;
int pole_prostokata;
int obwod_kwadratu;
int znak;
int a;
int b;
system("clear") ;
cout <<
cout <<
cout <<
cin >> znak;
switch (znak)
{
case 1 :
{
cout <<
cin >> a;
pole_kwadratu = a*a;
cout <<<
break;
}
case 2 :
{
cout <<
cin >> a;
cout <<
cin >> b;
pole_prostokata = a*b;
cout <<<
break;
}
case 3 :
{
cout <<
cin >> a;
obwod_kwadratu = 4*a;
cout <<<
break;
}
default :
cout <<

}
return 0;
}


Gieras teraz działa.
Kurna teraz zauwaźyłem, źe jakoś po łebkach sie uczyta, bo po case jak jest kilka instrukcji wymagane są klamry {} , a potem tacy Windowsy piszą :lol: ;)
Adik – ciebie teź to sie tyczy ;)
Anonymous
Dodano
04.12.2005 19:22:08
gieras
Dodano:
13.11.2005 13:32:09
Komentarzy:
20
Strona 1 / 3