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

chodzi mi oto, ze obojetnie czy wybiore z tych 3 opcji obliczania pol i obwodu 1 czy 2 czy 3, to i tak program zawsze liczy pole kwadratu, zamiast np obwodu dla 2 i pola prostokata dla 3
gieras
Dodano
04.12.2005 18:53:55
gieras:
tak sie teraz bawie, i niestety oba warianty (ze switchem i bez) licza pole kwadratu, obojetnie czy dam 1,2 czy 3 :roll:

tzn jak ?
Jak wpiszesz 1.2 ? Toź zadeklaruj to jako float (lub double).
Lub przez rzutowanie pole_kwadratu = (float)1.2 * 1.2;
Anonymous
Dodano
04.12.2005 18:42:04
tak sie teraz bawie, i niestety oba warianty (ze switchem i bez) licza pole kwadratu, obojetnie czy dam 1,2 czy 3 :roll:
gieras
Dodano
04.12.2005 18:35:08
Powinno dzialać choć nie sprawdzałem:

#include
#include

int main()
{
int pole_kwadratu;
int pole_prostokata;
int obwod_kwadratu;
int znak;
int a;
int b;

clrscr();

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 <<

}
getch();

return 0;
}
Bobi
Dodano
04.12.2005 11:49:01
A tutaj ten sam program tylko przy uźyciu switch–case ( tak jak polecił to Bobi :wink: )


#include
#include

using namespace std;

int main()
{
int a, b, c, d, e, polek, polep, obwod;
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 <<
case 3:
cout <
cin >> e;
obwod = 2*e + 2*e;
cout <<
break;
}


cin.ignore();
getchar();
return 0;
}
adik154
Dodano
04.12.2005 11:38:14
dzieki bardzo.

a co do switcha, to tez probowalem ale wtedy to mi zupelne pierdoly zaczely wychodzic.
#include
#include

using namespace std;

int main()
{
int liczba, a, b, c, d, polek, obwod, polep ;
cout <
switch (liczba)
{
case 1: cout <
cin >> a;
polek = a*a ;
cout <<



case 2:
cout <
cin >> b;
obwod = 4*b ;
cout <<

case 3:
cout <
cin >> c;
cout <
cin >> d;
polep = c*d ;
cout <<
}

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

gieras
Dodano
04.12.2005 11:34:39
Nie lepiej to zrobić switch'em i case'm?
Po co Ci ten else? Wywal go bo przeciez pozniej masz kolejny warunek, a nie w przeciwnym wypadku.
Zawszem mnie uczono, źe instrukcje daje się w klamerkach.
Bobi
Dodano
04.12.2005 11:30:35
i niestety kolejny problem :(

#include
#include

using namespace std;

int main()
{
int a, b, c, d, e, polek, polep, obwod;
cout <
cout <
cin >> a;

if (a=1)

cout <
cin >> b;
polek = b*b;
cout <<

else

if (a=2)

cout <
cin >> c;
cout <
cin >> d;
polep = c*d;
cout <<

else

if (a=3)
cout <
cin >> e;
obwod = 2*e + 2*e;
cout <<




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


nie chce mi sie skompilowac, pokazuje
expected primary–expression before "else"
w linijkach kodu z else

prosze o pomoc, bo sam nie dam rady
gieras
Dodano
04.12.2005 11:24:32
  • marwo12 26.08.2006 12:46:19

    <p>może napisz <font face="Courier New"></font></p> <p><code>else if (a=3)<br /> cout &lt;<br /> cin &gt;&gt; e;<br /> obwod = 2*e + 2*e;<br /> cout &lt;&lt;</code></p>

gieras:
gusioo:
gieras:
gusioo:
gieras:
dzieki, ale ja robie to do szkoly, i narazie uczylismy sie tylko warunku if else

No to masz zadanie rozwiązane na szóstkę.
no tak, tylko ze ja nie bardzo wiem o co i jak :wink: a co jest nie tak z tym co zrobil adik154 ?

Nic – poprostu Adik lubi sie męczyć i duźo pisać.
Ja tam wolę se źycie ułatwiać :lol:
rozumiem ze to ta "optymalizacja" :P

Tak.
Anonymous
Dodano
13.11.2005 15:42:06
gusioo:
gieras:
gusioo:
gieras:
dzieki, ale ja robie to do szkoly, i narazie uczylismy sie tylko warunku if else

No to masz zadanie rozwiązane na szóstkę.
no tak, tylko ze ja nie bardzo wiem o co i jak :wink: a co jest nie tak z tym co zrobil adik154 ?

Nic – poprostu Adik lubi sie męczyć i duźo pisać.
Ja tam wolę se źycie ułatwiać :lol:
rozumiem ze to ta "optymalizacja" :P
gieras
Dodano
13.11.2005 15:41:47
Programowanie to sztuka.
Anonymous
Dodano
13.11.2005 15:41:45
wszystko jest dobrze tyle ze on to krócej i na bardziej zaawansowanym szczeblu rozwiązał :P
adik154
Dodano
13.11.2005 15:40:16
gieras:
gusioo:
gieras:
dzieki, ale ja robie to do szkoly, i narazie uczylismy sie tylko warunku if else

No to masz zadanie rozwiązane na szóstkę.
no tak, tylko ze ja nie bardzo wiem o co i jak :wink: a co jest nie tak z tym co zrobil adik154 ?

Nic – poprostu Adik lubi sie męczyć i duźo pisać.
Ja tam wolę se źycie ułatwiać :lol:
Anonymous
Dodano
13.11.2005 15:39:13
gusioo:
gieras:
dzieki, ale ja robie to do szkoly, i narazie uczylismy sie tylko warunku if else

No to masz zadanie rozwiązane na szóstkę.
no tak, tylko ze ja nie bardzo wiem o co i jak :wink: a co jest nie tak z tym co zrobil adik154 ?
gieras
Dodano
13.11.2005 15:36:10
gieras:
dzieki, ale ja robie to do szkoly, i narazie uczylismy sie tylko warunku if else

No to masz zadanie rozwiązane na szóstkę.
Anonymous
Dodano
13.11.2005 15:32:48
dzieki, ale ja robie to do szkoly, i narazie uczylismy sie tylko warunku if else
gieras
Dodano
13.11.2005 15:31:42
Panowie z całym szacunkiem, ale oba pierdzielicie:

#include
using namespace std ;
main(void)
{
static int zbior = 4 ; //źeby nie została zmieniona
int maks, licz ;
cout <
cin >> licz ;
maks = licz ;
for(int temp = 0; temp
{
cout <
cin >> licz ;
if(licz > maks)
{
maks = licz ;
}
cout <<<
}
cout <<<
return 0 ;
}


P.S: Z zerem sie sami męczcie. Chyba źe zapłacicie :P
Anonymous
Dodano
13.11.2005 15:11:08
deev 4.9.9.2
gieras
Dodano
13.11.2005 14:18:31
pewnie innego programu uźywasz i dlatego sypneło error.
adik154
Dodano
13.11.2005 14:10:47
gieras
Dodano:
13.11.2005 13:32:09
Komentarzy:
20
Strona 2 / 3