Hirdetés
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Minimális változásokat hozhat a Google Pixel 10a
- Milyen okostelefont vegyek?
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy A54 - türelemjáték
- iPhone topik
- Poco F7 – bajnokesélyes
- Magisk
- Samsung Galaxy S23 Ultra - non plus ultra
- Külföldi prepaid SIM-ek itthon
Ú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!
- LEGO klub
- MasterDeeJay: Harc a DDR5 árak ellen
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Forza sorozat (Horizon/Motorsport)
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Xiaomi smart home / Xiaomi okos otthon
- MILC felhasználók szakmai topikja
- Diabetes - Cukorbetegség
- exHWSW - Értünk mindenhez IS
- Minimális változásokat hozhat a Google Pixel 10a
- További aktív témák...
- BESZÁMÍTÁS! Asus H370 i7 8700 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman S2 TG Cooler Master 650W
- BESZÁMÍTÁS! ASUS H510M i5 11400F 16GB DDR4 500GB SSD RTX 2060 6GB Zalman T4 Plus Cooler Master 650W
- BESZÁMÍTÁS! ASUS H510M i5 11400F 32GB DDR4 512GB SSD RX 6750 XT 12GB Zalman T4 Plus GIGABYTE 750W
- BESZÁMÍTÁS! ASUS ROG B760 i9 14900K 32GB DDR5 1TB SSD Asus ROG RTX 3090 24GB Zalman Z1 1000W
- Gyakorlatilag ÚJ Lenovo P15S gen2 (11.gen Core I7 32Gb DDR4 1 Tb SSD 4Gb Nvidia)
- Honor Magic 7 Pro 512 Gb - AI Pro kamera, 6,8 120 Hz LTPO OLED, Snapdragon 8 Elite,3 hó gari!
- Logitech Webkamera MeetUp 120 -os látótér, mikrofon, 4K Ultra HD
- Bomba ár! HP ProBook 450 G6 - i3-8GEN I 8GB I 128SSD I HDMI I 15,6" FHD I Cam I W10 I Gari!
- Apple Imac 21,5 Inch, Late 2015! Intel Core I5 + Intel Iris Pro Graphics. 1TB Háttértár!
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


