Hirdetés
- Lalikiraly: Mercis kalandok - Huszonnyolcadik rész - Az újrakezdés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- N€T0X|N: Talaria tuning: meg kéne tudni állni!
- MasterDeeJay: ASRock B250M Pro4 coffeetime mod! (DDR4)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Pengeélen
- MasterDeeJay: Egy nem átlagos Asus videókártya (GTX950M 2GB GDDR3)
- Meggyi001: Áram nélkül....méltóság nélkül.....
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
- Huawei Watch D2 - nyomás utána!
- Kormányok / autós szimulátorok topikja
- A szuperintelligencia még odébb, a szuperapp már közel
- A fociról könnyedén, egy baráti társaságban
- Xbox tulajok OFF topicja
- Vatera, Teszvesz topic
- Fejhallgató erősítő és DAC topik
- Bambu Lab 3D nyomtatók
- Kerékpárosok, bringások ide!
- Robogó, kismotor
- További aktív témák...
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
, void -nál nincs visszatérési érték.

