Új hozzászólás Aktív témák
-
don_peter
senior tag
Kíváncsi vagyok a véleményetekre:
void float_to_str(float szam){
printf("Kezdő szám: %f\n", szam);
unsigned int i = 0, x = 0, tizedes = 0;
static char szamok[8];
long int intszam = 0;
if (szam-(int)szam > 0){ //egész vagy sem
//ha lebegőpontos
while(szam-(int)szam != 0){//amég nem egész
szam = szam * 10;
i++;
tizedes = i;
}
intszam = szam;
printf(" Felszorzott szám: %li\n Hányszor futott le: %i\n Tizedes: %i\n", intszam, i, tizedes);
i = 0;
while(intszam > 0){//addig osztunk amég nagyobb intszam mint nulla
szamok[i] = intszam % 10;
intszam = intszam / 10;
i++;
}
printf(" Szétszedve: ");
x = i; // x változóba töltjuk az i változót, hogy késöbb is felhasználható legyen az i értéke
while(i){
printf("%i,", szamok[i---1]);
}
printf("\n");
printf("Eredmény: ");
while(x){
if(x == tizedes)
printf(".");
printf("%i", szamok[x---1]);
}
printf("\n");
}else{
printf("Ez egy kerek szám, nincs művelet.\n");
}
}
Mai függvényen belül indítjuk:
float_to_str(12.34567);Eredménye:
Kezdő szám: 12.345670
Felszorzott szám: 12345669
Hányszor futott le: 6
Tizedes: 6
Szétszedve: 1,2,3,4,5,6,6,9,
Eredmény: 12.345669Véleményetek szerint jó és hatásos a megoldásom?
Az eredményből látszik mikor mit tesz a program.
Az elmélet az, hogy, ha beadok egy lebegőpontos számot akkor azt valamilyen megoldással string-é alakítsam, és átalakítás után újból kiírassam.
Hogy teljes legyen a kép ez azért szükséges a számomra mert a végeredményt nem kezelhetem "float" lebegőpontos számként mert az eszköz amin kiíratom az eredményt nem hajlandó a float típusokat megjeleníteni.
Nézzétek ezt a kódot úgy, hogy alig 3napja kezdtem el tanulni a C-t szóval nem ismerem behatóan a nyelvet.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Fujitsu LIFEBOOK E449 i5-8130U 12GB 512GB 14" FHD 1 év garancia
- Xiaomi Redmi Note 11 Pro+ 128GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! MSI B365M i5 8600 16GB DDR4 512GB SSD RX 5700XT 8GB CM MASTERBOX Q300L Zalman 600W
- Új FULL HD webkamera + Számla
- GYÖNYÖRŰ iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3141, 95% Akkumulátor
Állásajánlatok
Cég: FOTC
Város: Budapest