Kezdő ansi c, mi lehet a hiba?
Figyelt kérdés
Rutinos versenyzőktől szeretném megkérdezni, hogy mit szúrtam el, miért írja ki, hogy "hibás", akkor is, ha a>0??? Köszönöm
#include <stdio.h>
int main(void){
double a;
double k, t;
/*scanf("%lf", &a);
if(a<=0){
printf("Hibás!\n");
printf("\n");
return 0;
}*/
do{
scanf("%lf", &a);
printf("Hibás!\n");
printf("\n");
} while(a<=0);
k=4*a;
t=a*a;
printf("kerület: %.1f\n", k);
printf("terület: %.3f\n", t);
return 0;
}
Mégegyszer köszi, ha átbogarászod!
2024. máj. 13. 22:04
1/5 anonim válasza:
Akármit csinálsz, ki fogja írni, hiszen eleve a "do" részbe írtad a hibaüzenetet (ami mindig lefut), meg egyébként a számot is ott kéred be.
2/5 anonim válasza:
Nem szabtál semmilyen feltételt, hogy milyen esetben írja ki a hibaüzenetet, így mindig kiírja. Kéne az a feltétel, ami a kikommentezett részben is látható.
3/5 krwkco válasza:
Ha többször is le akarod futtatni a számítást, akkor a while feltételét meg kell fordítani, a return-t kivenni a while-ból és a hibaüzenetet a while után írni. Akkor meg lesz vizsgálva "a" értéke.
4/5 A kérdező kommentje:
Köszönöm a segítséget!
2024. máj. 14. 19:26
5/5 anonim válasza:
A #3-as elnézte a kódot, mert a return nem a while ciklusban van.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!