Kezdőlap › Fórumok › Programozás › prolog progi kéne
- This topic has 5 hozzászólás, 4 résztvevő, and was last updated 20 years, 9 months telt el by
GFSoldier.
-
SzerzőBejegyzés
-
2004-04-20-21:56 #1938630
Két C függvény kell hozzá:
long strtol(const chsr *s, char **e, int radix)
vagyis:
value: maga a szám
e: hibás karakterre mutató
radix: hanyas számrendszer (2-36)
visszatérés: számchar *ltoa(int value, char *string, int radix);
vagyis:
value: maga a szám
string: mutató ahova a string kerül
radix: hanyas számrendszer (2-36)
visszatérés: stringre mutatA programot ezekkel a paraméterekkel futtatva:
(convert yx p1
p2)1. paraméterek beolvasása
2. bd; bh stb. paraméter átkonvertálása 2,10; 2,16 számokká
(mivel összesen 16 db kombináció van egy case utasítással:
case: „bd”
x=2;
y=10;
break;
case: „bh”
…)3. konvertálás
long l=strtol(P1, e, x);
ltoa(l, P2, y);4. kiiratás
A beolvasást, hibaellenõrzést, kiíratást nem írtam le!
2004-04-21-18:34 #1938631/*
Itt a teljes program!
Program hívása: convert xy number
x ill y lehet: b, B, o, O, d, D, h, H
*/#include
#ifdef linux
char *ltoa(long val, char *buf, int base) {
ldiv_t r;if (base > 36 || base 0)
buf = ltoa ( r.quot, buf, base);*buf++ = „0123456789abcdefghijklmnopqrstuvwxyz”[(int)r.rem];
*buf = ”;
return buf;
}
#endifint main(int argc, char *argv[]) {
int iradix, oradix;
long lbuf;
char ip, op;
char **e;
char *sbuf;sbuf = (char *)strdup(argv[2]);
// *** a bemenet bin., okt., de., vagy hex.?
switch (argv[1][0] | 0x20) {
case ‘b’:
iradix = 2;
break;
case ‘o’:
iradix = 8;
break;
case ‘d’:
iradix = 10;
break;
case ‘h’:
iradix = 16;
break;
default:
printf(„Hibás paraméter: %cn”, argv[1][0]);
}// *** a kimenet bin., okt., de., vagy hex.?
switch (argv[1][1] | 0x20) {
case ‘b’:
oradix = 2;
break;
case ‘o’:
oradix = 8;
break;
case ‘d’:
oradix = 10;
break;
case ‘h’:
oradix = 16;
break;
default:
printf(„Hibás paraméter: %cn”, argv[1][1]);
}// *** a bemeneti string átkonvertálása digitálissá számmá (iradixnak megfelelõen)
lbuf = strtol(sbuf, e, iradix);// *** digitális szám átkonvertálása a kimeneti stringgé
ltoa(lbuf, sbuf, oradix);// *** kiíratás
printf(„%sn”, sbuf);return 0;
}/*
További információkat találsz az interneten:
kulcsszavak: c function reference; stdlib.h; case; printf; ltoa; strtol; main; c nyelvHa valamit nem értesz, írj!
*/2004-04-21-18:35 #1938632Miért nem tudja ez a sz*r a tabulátorokat megjeleníteni?
2004-07-16-07:52 #1938633hol ebben a prolog?
2004-10-19-21:38 #1938634Tud valaki valami magyar prolog leírást kezdõknek?
Megköszönném.2009-12-04-19:56 #1873687Sziasztok! egy nagy szivességet kérek, aki tud segítsen nekem megoldani ezt a feladatoit, nagyon nem vágom a prologot Lécci kommentezzétek is, mert anélkül biztos nem fogom érteni.
23] Szamrendszer-konvertalo program =========================================
A 2,8,10,16-os szamrendszerek kozti konverziot valositja meg.input:
– konverzios eloiras, 2 karakter amely megadja, hogy honnan hova valtunk at (bo,
bd, bh, ob, od, oh, db, do, dh, hb, ho, hd)
– atvaltando szampelda1: input: bd 1001 – output: 9
pelda2: input: db 12 – output: 1100Elõre is kösz!!!!!!!! 😥
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz