- 5.1, 7.1 és gamer fejhallgatók
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- HiFi műszaki szemmel - sztereó hangrendszerek
- Vezetékes FEJhallgatók
- Születésnapos a Noctua
- AMD vs. INTEL vs. NVIDIA
- Hobby elektronika
- A Mátrix Androidot futtat, a Samsung kezében a csatlakozó
- OLED TV topic
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
Új hozzászólás Aktív témák
-
Iolé
csendes tag
Sziasztok!
Szeretném a segítségeteket kérni! Lenne egy program, amit nem egészen értek, főleg utolsó rész nem tiszta. Esetleg valaki tudna egy kis kommentet írni hozzá, hogy hogyan működik, meg mikor mit csinál, nagyon fontos lenne!
Ez volta feladat: A parancs a parancs sorban egy decimális számot (vagy decimális számokszóközökkel elválasztott sorozatát) vár(ja), amely(ek)nek kiírja római
szám megfelelőjét az stdout-ra.
Hibásan megadott parancs esetén a programnak rövid diagnosztikai
üzenetben informálnia kell a felhasználót arról, hogy a parancsot
hogyan kell használni. A diagnosztikai üzenetet az stderr-re kell
küldeni.
És a program:
#include <stdio.h>int main(argc, argv)
int argc;
char *argv[];
{
int i = 0, x=0;
int dec;
char rom[50];
if(argc == 1){
fprintf(stderr, "Hianyzik a parameter!");
exit( 1 );
}for(x=1;x<argc;x++){
if(egesze(argv[x])){
dec = atoi(argv[x]);
}else{
fprintf(stderr, "A parameterlistaban nem megfelelo az egyik ertek!");
exit( 1 );
}while(dec>=1000){
dec -= 1000;
rom[i] = 'M';
i++;
}
if (dec>=900){
dec-=900;
rom[i] = 'C';
i++;
rom[i] = 'M';
i++;
}
if(dec>=500){
dec -= 500;
rom[i] = 'D';
i++;
}
if (dec>=400){
dec -= 400;
rom[i] = 'C';
i++;
rom[i] = 'D';
i++;
}
while(dec>=100){
dec = dec-100;
rom[i] = 'C';
i++;
}
if(dec>=90){
dec -= 90;
rom[i] = 'X';
i++;
rom[i] = 'C';
i++;
}
if(dec>=50){
dec -= 50;
rom[i] = 'L';
i++;
}
if(dec>=40){
dec -= 40;
rom[i] = 'X';
i++;
rom[i] = 'L';
i++;
}
while(dec>=10){
dec -= 10;
rom[i] ='X';
i++;
}
if(dec == 9){
rom[i] = 'I';
i++;
rom[i] = 'X';
i++;
}
else{
if(dec >= 5){
dec -= 5;
rom[i] = 'V';
i++;
}
if(dec == 4){
rom[i] = 'I';
i++;
rom[i] = 'V';
i++;
}
else{
while(dec > 0){
dec -= 1;
rom[i] = 'I';
i++;
}
}
}
rom[i]='\0';
printf(" %s", rom);
}
exit(0);
}int egesze(s)
char *s[];
{
int i=0, kezd;
while (s[i]==' ' || s[i]=='\n' || s[i]=='\t')++i;
if(s[i]=='+' || s[i]=='-')++i;
kezd=i;
while(s[i]>='0' && s[i]<='9')++i;
if(i==kezd || s[i]!=' ' && s[i]!='\t' && s[i]!='\n' && s [i]!=0) return 0;
else return 1;
}int atoi(s)
char s[];
{
int i, n;
n = 0;
for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
n = 10 * n + (s[i] - '0');
return n;
}
Ú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!
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Renault, Dacia topik
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- A fociról könnyedén, egy baráti társaságban
- Battlefield 6
- Kerékpárosok, bringások ide!
- Honor Magic6 Pro - kör közepén számok
- 5.1, 7.1 és gamer fejhallgatók
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- További aktív témák...
- Asus F15 FX506HE 15.6" FHD IPS i5-11400H RTX 3050Ti 16GB 512GB NVMe magyar vbill gar
- Meta quest 2 128GB, KIWI akkumulátoros fejpánttal.
- Asus A15 FA507XU 15.6" FHD IPS Ryzen 9 7940HS RTX 4050 16GB 1TB NVMe magyar vbill gar
- 150 ezerrel ár alatt! bontatlan lenovo loq ! Ajándéknak tökéletes! Rtx 5050
- SAMSUNG LS32BG700EUXEN 32" Q-LED G7 144hz MONITOR ! AKCIÓ!
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3060Ti / 32GB DDR4 / 512 M.2 SSD
- Bomba ár! HP ProBook 450 G5 - i3-7GEN I 8GB I 128GB SSD I 15,6" FHD I HDMI I Cam I W11 I Garancia!
- billentyűzetek - kiárusítás - Logitech, Corsair, ASUS
- LG 27UL550-W - 27" IPS / 3840x2160 4K / 60Hz 5ms / HDR10 / AMD FreeSync
- Apple TV 4K 2.gen (A2169) 32 GB 6 hónap Garancia Beszámítás Házhozszállítás
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest



