Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- Gurulunk, WAZE?!
- Hieronymus: Pihole + Unbound
- hcl: Olympus E-PL1 nyomozás
- Elektromos rásegítésű kerékpárok
- Hieronymus: A jövő számítógépei (Reloaded)
Aktív témák
-
Jester01
veterán
Ha már ellenőrzés van benne, akkor beker == 0 helyett <= kellene. Másrészt ha a be.txt-ben nem szám van, akkor a beker változó értéke inicializálatlan lesz és így valami véletlenszerű számot fog kiadni. Szóval még a fscanf visszatérési értékét is ellenőrizni kellene. És akkor még nem is beszéltünk az olyan bemenetről, ami ugyan számmal kezdődik, de az egész nem értelmezhető számként (pl. ''1alma'').
Mondjuk a feladatkiírás szerint ezek az ellenőrzések nem szükségesek. -
Jester01
veterán
Ahogy Brain mondta, azzal az fprintf sorral van a baj. A \n egyszerűen nem kell bele, így egy sorba írja majd a jeleket. Ellenben a ciklus után, de a fájl lezárása előtt, írj ki egy csupasz soremelést ha ez a feladatkiírás szerint szükséges (nem tudom, nem néztem meg)
A bufferes dolog még mindig nem jó, miért nem írod át?
A visszatérési értékről röviden: a main függvénynek a prototípusa int main(int argc, char* argv[]). Minden más csak véletlenül, kompatibilitás és a C calling convention (hogy is van ez magyarul?) jellegzetessége miatt működik. Tessék ezt a formát használni és ennek megfelelően visszatérési értéket is megadni. (Persze a pointer-tömb ekvivalencia miatt az argv lehet char** is) -
Forest_roby
őstag
Jahhh, ph motor.... :|
#include <stdio.h>
#include <stdlib.h>
void main(){
printf(''Írj be egy max. négyjegyű számot!\n\n'');
int be;
char c[4] = { 0 };
scanf(''%[0123456789]'', c);
be=atoi(c);
int i;
int szamok[]={1000,900,500,400,100,90,50,40,10,9,5,4,1};
char* jelek[]={''M'',''CM'',''D'',''CD'',''C'',''XC'',''L'',''XL'',''X'',''IX'',''V'',''IV'',''I''};
for (i=0;i<(sizeof(szamok)/sizeof(int));i++){
while (be>=szamok[i]){
printf(''%s'',jelek[i]);
be=be-szamok[i];
}
}
}
kijejlol, ctrl + c, ctrl + v, idézo jelek javítása, aztán fordítás.
Nekem műxik.....
[Szerkesztve] -
Forest_roby
őstag
kb:
#include <stdio.h>
#include <stdlib.h>
void main(){
printf(''irj be egy max. negyjegyu számot!\n\n'');
int be;
char c[4] = { 0 };
scanf(''%[0123456789]'', c);
be=atoi(c);
int i;
int szamok[]={1000,900,500,400,100,90,50,40,10,9,5,4,1};
char* jelek[]={''M'',''CM'',''D'',''CD'',''C'',''XC'',''L'',''XL'',''X'',''IX'',''V'',''IV'',''I''};
for (i=0;i<(sizeof(szamok)/sizeof(int));i++){
while (be>=szamok){
printf(''%s'',jelek);
be=be-szamok;
}
}
}
//nem is tudtam, hogy van ilyen topic : )
[Szerkesztve]
Aktív témák
Hirdetés
- BESZÁMÍTÁS! ASUS B450M R7 5700 32GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Cooler Master 650W
- iKing.hu Realme 14 Pro+ Pearl White 512GB használt karcmentes 6 hónap garancia
- LG UltraGear 32GS95UX-B OLED Monitor! 32" 3840x2160 / 480Hz / 0.03ms / FreeSync / G-Sync! BeszámítOK
- iKing.Hu - Apple MacBook Air 13 M2 (2022) 8GB/256GB szép állapot 88% akku 273 ciklus
- MacBook, Apple M1 / M2 kompatibilis dokkolók, DisplayLink 4K, USB-C, Type-C
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
, void -nál nincs visszatérési érték.

