Miért ír hibát futás közben? ( C-s program)
Ez lenne a program:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int szam1,szam2;
float eredmeny;
int muvelet;
printf("Adja meg az első számot!Majd a muveletet, s a masodik szamot! ");
scanf("%d",&szam1);
scanf("%d",&muvelet);
if(muvelet!=5 or muvelet!=6)
{ /* több számos kezdet*/
scanf("%d",szam2);
switch(muvelet) { /* muveletek válogatása(többszámoson) kezdet*/
case '1': eredmeny = szam1 + szam2;break;
case '2': eredmeny=szam1-szam2;break;
case '3': eredmeny=szam1*szam2;break;
case '4': eredmeny=szam1/szam2;break;
default : printf("Szerencsementes!!...\n");
system("PAUSE");break;
} /*muveletek válogatása(többszámoson) vég*/
printf("Eredmeny: %d\n",eredmeny);
system("PAUSE");
} /* többszámos vég*/
else { /*1 számos kezdet*/
if(muvelet==5)
{ /* 1 számos négyzet kezdet*/
eredmeny=szam1*szam1;
} /* 1 számos négyzet vég*/
else { /* 1 számos gyök kezdet*/
/* eredmeny=(sqrt(szam1));*/ /* valamiért nem megy a " sqrt() " mint gyökvonás*/
} /* 1 számos gyök vég*/
printf("Eredmeny: %d\n",eredmeny);
system("PAUSE");
} /*1 számos vég*/
}
Ez elvileg, bekér egy számot egy műveletet, s ha a műveletet csak 2 számmal lehet elvégezni akkor bekér még egy számot.(pl. gyökvonás 1 számos)
Miután eldöntötte, hogy melyik műveletet kell végrehajtania akkor azt elvégzi az eredményt berakja az " eredmeny " változóba és azt kiírja.
( a műveleteket 1,2,3,4,5 és 6-os számokra raktam mivel karakterekkel nem bírtam megoldani)
Nos a hibaüzenetet akkor írja miután bekérte a második számot. Miért??
Lehet, hogy azért mert egy float típust két int ként akarok meghatározni??
De akkor nem kéne alapjáraton átírnia a számot??
pl.: int a,b;
float c;
a=2;b=3;
c=a+b;
akkor c=5,000 /* mivel az eredmeny 5 de ez float típusban írja ki)
uhh tényleg...
köszönöm! sohase vettem volna észre!! :)
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!