Está en la página 1de 5

SISTEMAS_NUMERACION.

cpp
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:

26/07/2010 05:42:22 p.m.

Page 1 of 5

//--------------------------------------------------------------------------//15 DE JULIO DE 2010
//SISTEMAS DE NUMERACIÓN
//ING. YASMAN MACHACA
#include <iostream.h>
#include <conio.h>
#include <fstream.h>
#include <vcl.h>
#pragma hdrstop
//--------------------------------------------------------------------------#pragma argsused
#define MAX 20
typedef char cad[MAX];
cad FF,II;
int LONGITUD(cad let);
void G_CERO(int CE,cad KI);
void ESPACIO(int EE,cad PA);
void FHEX(int F,cad XC);
void DEC_DEC(int DEC,cad DD);
void DEC_BIN(int BIN,cad BB);
void DEC_OCT(int OCT,cad OO);
void DEC_HEX(int HEX,cad HH);
void ARABIGO_ROMANO(int ARABIGO,cad QQ);
void INVERTIR(cad WW);
void ADD(cad AA,cad VV);
int main(int argc, char* argv[])
{
int numero;
//nombre del archivo
ofstream Fichero("C_SISTEMAS DE NUMERACION.txt");
//salida en pantalla
cout<<" C++_SISTEMAS DE NUMERACION\n\n";
cout<<" Ingrese un numero : ";
cin>>numero;
cout<<"\nDEC
BIN
BIN10
OCT
HEX
//escribiendo al Fichero
Fichero<<" C++_SISTEMAS DE NUMERACION\n\n";
Fichero<<" Ingrese un numero : "<<numero;
//cin>>numero;
Fichero<<"\n\nDEC
BIN
BIN10
OCT
for (int i = 0; i <= numero; i++)
{
//declarando variables
cad V_DEC="",V_BIN="",V_BIN10="";
cad V_OCT="",V_HEX="",V_ROMANO="";
//variables DEC
DEC_DEC(i,V_DEC);
INVERTIR(V_DEC);
ESPACIO(8,V_DEC);
cout<<V_DEC; //salida en pantalla
Fichero<<V_DEC; //escribiendo Fichero
//variables BIN
DEC_BIN(i,V_BIN);
INVERTIR(V_BIN);
ESPACIO(14,V_BIN);
cout<<V_BIN; //salida en pantalla
Fichero<<V_BIN; //escribiendo Fichero
//variables BIN12
DEC_BIN(i,V_BIN10);
INVERTIR(V_BIN10);
G_CERO(10,V_BIN10);
ESPACIO(14,V_BIN10);
cout<<V_BIN10; //salida en pantalla
Fichero<<V_BIN10; //escribiendo Fichero
//variables OCT
DEC_OCT(i,V_OCT);
INVERTIR(V_OCT);
ESPACIO(8,V_OCT);
cout<<V_OCT; //salida en pantalla
Fichero<<V_OCT; //escribiendo Fichero
//variables HEX

ROMANO\n\n";

HEX

ROMANO\n\n";

"C").. break."3"). getch().m. cout<<V_ROMANO<<endl.SISTEMAS_NUMERACION. DEC_HEX(i."F"). case 10: ADD(XC. //salida en pantalla Fichero<<"\nFIN DEL PROGRAMA. case 3: ADD(XC."0"). break.V_ROMANO)."5"). cout<<V_HEX. case 13: ADD(XC.\n"."B"). break. break."4"). break. } } void DEC_DEC(int DEC. //escribiendo Fichero //variable ROMANO ARABIGO_ROMANO(i. case 2: ADD(XC. case 6: ADD(XC."1"). case 7: ADD(XC."8").cad XC) { switch (F) { case 0: ADD(XC. break.V_HEX)."7"). break."9"). break.. case 8: ADD(XC. break. //salida en pantalla Fichero<<V_HEX."D").."6"). return 0. //escribiendo Fichero Fichero. break. case 9: ADD(XC. case 12: ADD(XC. //salida en pantalla Fichero<<V_ROMANO<<endl. break. } void FHEX(int F. ESPACIO(7. break. //escribiendo Fichero } cout<<"\nFIN DEL PROGRAMA. case 4: ADD(XC.V_HEX).close(). break. case 5: ADD(XC.."2").cpp 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 26/07/2010 05:42:22 p. break."E").cad DD) Page 2 of 5 . case 14: ADD(XC. case 15: ADD(XC. break. case 1: ADD(XC. break. case 11: ADD(XC."A").\n". INVERTIR(V_HEX).

MM). if (ARABIGO!=0) { while (H>=1000) { H=H-1000.cad OO) { int R. R=B%2. } } void DEC_BIN(int BIN.m.cpp 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 26/07/2010 05:42:22 p. FHEX(R. ADD(OO. ADD(DD. Page 3 of 5 .MM). H=H/16. D=D/10.MM)."0"). while (H>0) { cad MM="". R=H%16. while (B>0) { cad MM=""."0"). H=ARABIGO. } if (BIN==0) { ADD(BB.MM).B=BIN.MM). } } void DEC_OCT(int OCT.cad QQ) { int H."0").D=DEC. while (D>0) { cad MM="". FHEX(R. R=O%8.cad HH) { int R. R=D%10.H=HEX. FHEX(R.SISTEMAS_NUMERACION.MM). { int R. O=O/8.cad BB) { int R. } } void ARABIGO_ROMANO(int ARABIGO. ADD(BB. ADD(HH. while (O>0) { cad MM="". FHEX(R.O=OCT.MM). } if (DEC==0) { ADD(DD. } } void DEC_HEX(int HEX. } if (OCT==0) { ADD(OO."0"). } if (HEX==0) { ADD(HH. B=B/2.MM).

248: } 249: while (H>=40) 250: { 251: H=H-40. 277: ADD(QQ. 233: } 234: while (H>=100) 235: { 236: H=H-100. 247: ADD(QQ.m. 228: } 229: while (H>=400) 230: { 231: H=H-400. 262: ADD(QQ.SISTEMAS_NUMERACION. 227: ADD(QQ."IV")."XL"). 273: } 274: while (H>=1) 275: { 276: H=H-1."C").cpp 26/07/2010 05:42:22 p. 278: } 279: } 280: else 281: { 282: ADD(QQ."XC")."L")."X"). 253: } 254: while (H>=10) 255: { 256: H=H-10. 237: ADD(QQ. 238: } 239: while (H>=90) 240: { 241: H=H-90. 222: ADD(QQ." "). 268: } 269: while (H>=4) 270: { 271: H=H-4. 242: ADD(QQ. 252: ADD(QQ. 243: } 244: while (H>=50) 245: { 246: H=H-50."CM"). 272: ADD(QQ. 223: } 224: while (H>=500) 225: { 226: H=H-500. 288: La=LONGITUD(AA). 217: ADD(QQ. 283: } 284: } 285: void ADD(cad AA.Lv."V")."M")."CD"). 267: ADD(QQ. Page 4 of 5 ."D"). 263: } 264: while (H>=5) 265: { 266: H=H-5. 257: ADD(QQ.cad VV) 286: { 287: int La. 232: ADD(QQ. 258: } 259: while (H>=9) 260: { 261: H=H-9."IX"). 218: } 219: while (H>=900) 220: { 221: H=H-900."I").

i++) { KI[i]='0'. } for (int i = 0.j++) { JJ[j]=WW[i]. while ((let[i]!='\0')&&(let[i]!=' ')) { i++. N=19-Lpa. } else { Lpa=LONGITUD(PA). Lw=LONGITUD(WW). i++) { WW[i]=JJ[i]. if (EE<MAX) { Lpa=LONGITUD(PA).SISTEMAS_NUMERACION. ADD(CC. Lv=LONGITUD(VV). i--. N=CE-Lki. for (int i = Lw-1. for (int i = 0. } for (int i = 0. cad CC="".cad KI) { int Lki.N.KI). i < N. Lki=LONGITUD(KI). } } //--------------------------------------------------------------------------- Page 5 of 5 . } } int LONGITUD(cad let) { int i=0. cad JJ="". i++) { KI[i+N]=CC[i]. i < Lv. for (int i = 0. i < Lki. } return i. i < Lw.cad PA) { int N. } } void ESPACIO(int EE.j=0.m. i++) { PA[i+Lpa]=' '. } } void G_CERO(int CE. i < N. i >=0. i++) { AA[i+La]=VV[i]. N=EE-Lpa.Lpa. } void INVERTIR(cad WW) { int Lw.cpp 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340: 341: 342: 343: 344: 345: 346: 347: 348: 349: 350: 351: 352: 353: 26/07/2010 05:42:22 p. } for (int i = 0.