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 21 years telt el by GFSoldier. 
- 
		SzerzőBejegyzés
- 
		
			
				
2004-04-20-21:56 #1938630Ké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