Kezdőoldal » Közoktatás, tanfolyamok » Házifeladat kérdések » Kezdő ansi c, mi lehet a hiba?

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!


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.
máj. 13. 22:16
Hasznos számodra ez a válasz?
 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ó.
máj. 14. 08:42
Hasznos számodra ez a válasz?
 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.
máj. 14. 09:19
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:
Köszönöm a segítséget!
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.
máj. 14. 19:42
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!