Ú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!
- HIBÁTLAN iPhone 12 Pro 512GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3684, 100% Akkumulátor
- Lenovo Legion Go z1 extrem 16/512gb, újszerű,Dobozával,12 hónap garanciával
- GYÖNYÖRŰ iPhone 12 64GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3858, 100% Akkumulátor
- Lenovo ThinkPad T14S Gen1 Intel i5-10310U Refurbished - Garancia
- Gamer egerek és billentyűzetek kitűnő árakon!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

