- Viszonylag olcsó, 26,5 hüvelykes QD-OLED monitor bukkant fel az MSI kínálatában
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen egeret válasszak?
- Asztrofotózás
- Androidos tablet topic
- Hisense LCD és LED TV-k
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Autóhifi
- Canon MILC: EOS R és M topik
- AMD Navi Radeon™ RX 9xxx sorozat
Ú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!
- Uplay
- Viszonylag olcsó, 26,5 hüvelykes QD-OLED monitor bukkant fel az MSI kínálatában
- Samsung Galaxy S23 Ultra - non plus ultra
- Mibe tegyem a megtakarításaimat?
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- iPhone topik
- Kerékpárosok, bringások ide!
- Álláskeresés, interjú, önéletrajz
- Gyúrósok ide!
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- Apple MacBook Pro 14 ,2024, M4 Pro, 24GB RAM, 512GB SSD
- Gamer PC-Számíógép! Csere-Beszámítás! I7 13700F / RTX 4070Ti Super 16GB OC / 32GB DDR5 / 1TB SSD
- Szimulátor index kar (Logitech, Fanatec, Moza, Thrustmaster, Simagic bázisok mellé) - MT Simtech
- Nitro AN515-58 15.6" FHD IPS i9-12900H RTX 4060 16GB 512GB NVMe gar
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3549,100% Akkumulátor
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3317
- Xiaomi 14T 512GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- Gamer PC-Számítógép! Csere-Beszámítás! Mini PC! I5 10600KF / RTX 3060 12GB/ 16GB DDR4 / 1TB SSD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest