Jezyk c
austin: Może ktoś mi pomóc w zaprojektowaniu programu liczacego pole powierzchnii? Figure oraz wymiary
podajemy z linii polececn.
Niestety jestem chory teraz i nie moge chodzic na uczelnie.Oto moj projekt.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, a, b, h, figura, Pkwadrat, Pprostokat, Ptrojkat;
printf("Aby policzyc pole wpisz: 1 − Kwadrat, 2 − Trojkat, 3 − Prostokat");
n=scanf("%d", &figura);
while(n==1)
{
printf("Podaj dlugosc boku kwadratu\n");
scanf("%d", &a);
Pkwadrat=a * a;
printf("Pole kwadratu wynosi: %d \n", Pkwadrat);
}
printf("Aby policzyc pole wpisz: 1 − Kwadrat, 2 − Trojkat, 3 − Prostokat");
n=scanf("%d", &figura);
while(n==2)
{
printf("Podaj dlugosc podstawy trojkata\n");
scanf("%d", &a);
printf("Podaj dlugosc wysokosci trojkata\n");
scanf("%d", &h);
Ptrojkat=(a * h) / 2;
printf("Pole trojkata wynosi: %d \n", Ptrojkat);
}
printf("Aby policzyc pole wpisz: 1 − Kwadrat, 2 − Trojkat, 3 − Prostokat");
n=scanf("%d", &figura);
while(n==3)
{
printf("Podaj dlugosc pierwszego boku prostokata\n");
scanf("%d", &a);
printf("Podaj dlugosc drugiego boku prostokata\n");
scanf("%d", &b);
Pkwadrat=a * b;
printf("Pole kwadratu wynosi: %d \n", Pkwadrat);
}
return 0;
}
10 mar 07:05
Draghan: Próbowałeś to kompilować? Wgl działa Ci to

1) za dużo niepotrzebnych zmiennych zadeklarowanych.
2) nieprawidłowo przechwytujesz zmienną sterującą
3) konstrukcja z trzema while'ami to nieporozumienie.
Spójrz na taki szkielet i spróbuj poprawić swój kod:
int a, b, h, figura, pole;
printf("Aby policzyc pole wpisz: 1 − Kwadrat, 2 − Trojkat, 3 − Prostokat");
scanf("%d", &figura);
if(figura == 1)
{
/* ... pobieram dane, wyliczam, zapisuję do zmiennej "pole" i wypisuje pole kwadratu ...
*/
}
else if(figura == 2)
{
/* ... pobieram dane, wyliczam, zapisuję do zmiennej "pole" i wypisuje pole trójkąta ...
*/
}
else if(figura == 3)
{
/* ... pobieram dane, wyliczam, zapisuję do zmiennej "pole" i wypisuje pole prostokąta ...
*/
}
else if(figura == 4)
{
/* komunikat, że user wybrał złą liczbę */
}
10 mar 10:33
Draghan: w ostatnim ma być samo else, bez "if(figura == 4).
10 mar 10:34
Draghan: ...i jeszcze jedna uwaga: zmienne (wszystkie, oprócz sterującej) powinny być raczej
rzeczywiste.
10 mar 10:49
Dziadek Mróz:
http://ideone.com/HOc3VE
#include <stdio.h>
int main()
{
double a;
double b;
double h;
double pole;
int n;
do
{
printf(
"Aby policzyc pole wpisz: \n\t1 − Kwadrat\n
\t2 − Trojkat\n\t3 − Prostokat\n
\t0 − Koniec\nWybor: ");
fflush(stdout);
scanf(
"%d",
&n);
switch (n)
{
case 1:
{
printf(
"Podaj dlugosc boku kwadratu: ");
fflush(stdout);
scanf(
"%lf",
&a);
pole = a
* a;
printf(
"Pole kwadratu wynosi: %.2lf\n", pole);
}
break;
case 2:
{
printf(
"Podaj dlugosc podstawy trojkata: ");
fflush(stdout);
scanf(
"%lf",
&a);
printf(
"Podaj dlugosc wysokosci trojkata: ");
fflush(stdout);
scanf(
"%lf",
&h);
pole = (a
* h) /
2;
printf(
"Pole trojkata wynosi: %.2lf\n", pole);
}
break;
case 3:
{
printf(
"Podaj dlugosc pierwszego boku prostokata: ");
fflush(stdout);
scanf(
"%lf",
&a);
printf(
"Podaj dlugosc drugiego boku prostokata: ");
fflush(stdout);
scanf(
"%lf",
&b);
pole = a
* b;
printf(
"Pole prostokata wynosi: %.2lf\n", pole);
}
break;
case 0:
{
printf(
"Koniec\n");
}
break;
default:
{
printf(
"Zla opcja!\n");
}
break;
}
}
while (n !=
0);
return 0;
}
10 mar 12:40
Draghan: Dziadku, gotowca...?
10 mar 12:56
Dziadek Mróz:
A co, niech ma. Pewnie i tak nie jest na kierunku informatycznym, więc do niczego mu się to nie
przyda
10 mar 13:04
Draghan: Myślę że umiejętność programowania każdemu się przyda.

Rozwija algorytmiczne myślenie i ten
i w ogóle.
10 mar 13:09