- TCL LCD és LED TV-k
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Eljött a vég kezdete? | Sora 2 – beszéljünk róla
- Hobby elektronika
- Milyen TV-t vegyek?
- OLED monitor topic
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen széket vegyek?
- Vezetékes FEJhallgatók
Ú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!
- Napelem
- TCL LCD és LED TV-k
- Samsung Galaxy Felhasználók OFF topicja
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Eljött a vég kezdete? | Sora 2 – beszéljünk róla
- Synology NAS
- Sweet.tv - internetes TV
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Lexus, Toyota topik
- iPhone topik
- 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Ó!
- LicencAruhaz.hu OLCSÓ, LEGÁLIS SZOFTVEREK AZONNAL - Windows - Office - Win Server - ÖRÖK GARANCIÁVAL
- Samsung Galaxy S23 Plus / 8/256GB / Kártyafüggetlen / 12 Hó Garancia
- Újra Akcióban!!! Ducky One 2 Mini és SF billentyűzetek a bolti ár töredékéért! Számla+Gari
- Bomba ár! Dell Latitude E5440 - i5-4GEN I 4GB I 320GB I 14" I HDMI I Cam I W10 I Gari!
- iKing.Hu - Google Pixel 10 Tensor G5, 120 Hz OLED, tripla kamera-128 GB Használt, karcmentes Gari
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



