Sunteți pe pagina 1din 8

1.

Escribir un programa que acepta un texto de nmero de 0-999 y a continuacin lo


visualice como un valor tipo entero. Por ejemplo:
Ingreso de datos:

doscientos veinticinco

Producir la salida:

225
INICIO
Leer:
palabra Char
long=strlen(palabra)
i=0;i<longitud;i++
m[k][d]=palabra[i]
d=d+1

pal[i+1]==32
k++
i++

i
i=0;i<=k;i++

strcmp(m[i],n0..)=0

z++
C=0&&D=0&&U=0

Imprimir:
Dato no valido

.
.
.
Imprimir:
N
FIN

N=N+0...
C++
D++
U=U+2

PROGRAMACION EN C:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
main()
{
int i,k,d, longitud,z=0,C=0,D=0,U=0,N,x=0;
char palabra[100], m[210][220];
char retorna();
char
n0[15]="cero",n10[15]="diez",n11[15]="once",n12[15]="
doce",n13[15]="trece",n14[18]="catorce",n15[18]="quin
ce",n16[18]="dieciseis",n17[18]="diecisiete",n18[18]="di
esiocho",n19[18]="diesinueve",n20[18]="veinte",n21[18]
="veintiuno",n22[18]="veintidos",n23[18]="veintitres",n2
4[18]="veinticuatro",n25[18]="veinticinco",n26[18]="vei
ntiseis",n27[18]="veintisiete",n28[18]="veintiocho",n29[
18]="veintinueve",n100[15]="cien",n1[15]="uno",n2[15]
="dos",n3[15]="tres",n4[15]="cuatro",n5[15]="cinco",n6[
15]="seis",n7[15]="siete",n8[15]="ocho",n9[15]="nueve"
,n30[15]="treinta",n40[15]="cuarenta",n50[15]="cincuen
ta",n60[15]="sesenta",n70[15]="setenta",n80[15]="oche
nta",n90[15]="noventa",n100to[15]="ciento",n200[15]="
doscientos",n300[15]="trescientos",n400[15]="cuatrocie
ntos",n500[15]="quinientos",n600[15]="seiscientos",n70
0[15]="setecientos",n800[15]="ochocientos",n900[15]="
novecientos",y[15]="y";
printf("\n\t\tCONVERSION DE UN NUMERO ENTERO
DE LITERAL A NUMERAL\n");
printf("\t\t--------------------------------------------------\n\n");
printf ("Introduzca la cadena: ");
gets (palabra);
longitud=strlen(palabra);
k=0;
d=0;
for(i=0;i<longitud;i++)
{
m[k][d]=palabra[i];
d=d+1;
if(palabra[i+1]==32)
{
if(!isalpha(palabra[i+2])&&!isdigit(palabra[i+2]))//
limita el "_!alpha or !number"
{
retorna();
}
k++;
d=0;
i++;
}

}
N=0;
for(i=0;i<=k;i++)
{
//0
if(strcmp(m[i],n0)==0){z++;
if(C==0&&D==0&&U==0){N=N+0;C++;D++;U=U+2;}else{re
torna();}}
//100 cien
if(strcmp(m[i],n100)==0){z++;
if(C==0&&D==0&&U==0){N=N+100;C++;D++;U=U+2;}else
{retorna();}}
//100 ciento -900
if(strcmp(m[i],n100to)==0){z++;
if(C==0&&D==0&&U==0){N=N+100;C++;}else{retorna();}}
if(strcmp(m[i],n200)==0){z++;
if(C==0&&D==0&&U==0){N=N+200;C++;}else{retorna();}}
if(strcmp(m[i],n300)==0){z++;
if(C==0&&D==0&&U==0){N=N+300;C++;}else{retorna();}}
if(strcmp(m[i],n400)==0){z++;
if(C==0&&D==0&&U==0){N=N+400;C++;}else{retorna();}}
if(strcmp(m[i],n500)==0){z++;
if(C==0&&D==0&&U==0){N=N+500;C++;}else{retorna();}}
if(strcmp(m[i],n600)==0){z++;
if(C==0&&D==0&&U==0){N=N+600;C++;}else{retorna();}}
if(strcmp(m[i],n700)==0){z++;
if(C==0&&D==0&&U==0){N=N+700;C++;}else{retorna();}}
if(strcmp(m[i],n800)==0){z++;
if(C==0&&D==0&&U==0){N=N+800;C++;}else{retorna();}}
if(strcmp(m[i],n900)==0){z++;
if(C==0&&D==0&&U==0){N=N+900;C++;}else{retorna();}}
//30-90
if(strcmp(m[i],n30)==0){z++;
if(C<=1&&D==0&&U==0){N=N+30;D++;}else{retorna();}}
if(strcmp(m[i],n40)==0){z++;
if(C<=1&&D==0&&U==0){N=N+40;D++;}else{retorna();}}
if(strcmp(m[i],n50)==0){z++;
if(C<=1&&D==0&&U==0){N=N+50;D++;}else{retorna();}}
if(strcmp(m[i],n60)==0){z++;
if(C<=1&&D==0&&U==0){N=N+60;D++;}else{retorna();}}
if(strcmp(m[i],n70)==0){z++;
if(C<=1&&D==0&&U==0){N=N+70;D++;}else{retorna();}}
if(strcmp(m[i],n80)==0){z++;
if(C<=1&&D==0&&U==0){N=N+80;D++;}else{retorna();}}
if(strcmp(m[i],n90)==0){z++;
if(C<=1&&D==0&&U==0){N=N+90;D++;}else{retorna();}}
//10-29
if(strcmp(m[i],n10)==0){z++;
if(C<=1&&D==0&&U==0){N=N+10;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n11)==0){z++;

if(C<=1&&D==0&&U==0){N=N+11;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n12)==0){z++;
if(C<=1&&D==0&&U==0){N=N+12;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n13)==0){z++;
if(C<=1&&D==0&&U==0){N=N+13;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n14)==0){z++;
if(C<=1&&D==0&&U==0){N=N+14;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n15)==0){z++;
if(C<=1&&D==0&&U==0){N=N+15;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n16)==0){z++;
if(C<=1&&D==0&&U==0){N=N+16;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n17)==0){z++;
if(C<=1&&D==0&&U==0){N=N+17;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n18)==0){z++;
if(C<=1&&D==0&&U==0){N=N+18;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n19)==0){z++;
if(C<=1&&D==0&&U==0){N=N+19;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n20)==0){z++;
if(C<=1&&D==0&&U==0){N=N+20;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n21)==0){z++;
if(C<=1&&D==0&&U==0){N=N+21;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n22)==0){z++;
if(C<=1&&D==0&&U==0){N=N+22;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n23)==0){z++;
if(C<=1&&D==0&&U==0){N=N+23;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n24)==0){z++;
if(C<=1&&D==0&&U==0){N=N+24;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n25)==0){z++;
if(C<=1&&D==0&&U==0){N=N+25;D++;U=U+2;}else{retor
na();}}

if(strcmp(m[i],n26)==0){z++;
if(C<=1&&D==0&&U==0){N=N+26;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n27)==0){z++;
if(C<=1&&D==0&&U==0){N=N+27;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n28)==0){z++;
if(C<=1&&D==0&&U==0){N=N+28;D++;U=U+2;}else{retor
na();}}
if(strcmp(m[i],n29)==0){z++;
if(C<=1&&D==0&&U==0){N=N+29;D++;U=U+2;}else{retor
na();}}
//1-9
if(strcmp(m[i],n1)==0){z++;
if(C<=1&&D<=1&&U==0){N=N+1;U++;}else{retorna();}}
if(strcmp(m[i],n2)==0){z++;
if(C<=1&&D<=1&&U==0){N=N+2;U++;}else{retorna();}}
if(strcmp(m[i],n3)==0){z++;
if(C<=1&&D<=1&&U==0){N=N+3;U++;}else{retorna();}}
if(strcmp(m[i],n4)==0){z++;
if(C<=1&&D<=1&&U==0){N=N+4;U++;}else{retorna();}}
if(strcmp(m[i],n5)==0){z++;
if(C<=1&&D<=1&&U==0){N=N+5;U++;}else{retorna();}}
if(strcmp(m[i],n6)==0){z++;
if(C<=1&&D<=1&&U==0){N=N+6;U++;}else{retorna();}}
if(strcmp(m[i],n7)==0){z++;
if(C<=1&&D<=1&&U==0){N=N+7;U++;}else{retorna();}}
if(strcmp(m[i],n8)==0){z++;
if(C<=1&&D<=1&&U==0){N=N+8;U++;}else{retorna();}}
if(strcmp(m[i],n9)==0){z++;
if(C<=1&&D<=1&&U==0){N=N+9;U++;}else{retorna();}}
//y
if(strcmp(m[i],y)==0){x++;z++;if(D==0){retorna();}}//x=#
de 'y' ; z=contador q suma si alguna(s) palabras coinciden
if(z==0||x>1) {retorna();}else z=0;
}
if(x==0&&U==1&&D==1)//ej: treinta cinco
{retorna();}
printf("\n\n %s\t->\t%d",palabra,N);
getch();
}
char retorna()
{char Nv[15]="Dato no valido";
printf("\n\n ->%s\n\n",Nv);system("PAUSE");exit (0);}

2. Escribir un programa que introducido un texto que visualice cada una de las letras con asterisco:
INICIO
Leer:
letra Char
long=strlen(letra)
l=0
c=1
z=0;z<longitud;z++,l++

letra[z]


ast("0000","0000"
,"0000","0000","0
000",l,c);

defaut

ast("11111","00001
","11111","10001","
11111",l,c);

ast("11111","10001
","11111","10001","
10001",l,c)

Imprimir:
No valido

...

FIN
Ast(fila1,fila2,fil
a3,fila4,l,c)
i=1;i<=Y;i++
v=0
gotoxy(1+(6*l),(5*c)+i)

j=1;j<=X;j++,v++

fila1[v]=1

Imp.

Imp. *

fila1[v]=1

Imp.

Imp. *
j

i
FIN

....

fila1[v]=1

Imp.

Imp. *

PROGRAMACION EN C:
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
using namespace std;
const int X=5;
const int Y=5;
void construc(string fila1, string fila2, string fila3, string fila4, string fila5,int f,int c);
int main()
{
char n[20];
int longitud,z,l,c,i;
cout << "\n\t\t\tLETRAS CONSTRUIDAS CON ASTERISCOS\n";
cout << "\t\t\t----------------------------------\n\n";
cout << "Ingrese una palabra: ";
gets(n);longitud=strlen(n);
for(i=0;i<longitud;i++)
{
if(!(isalpha(n[i])||n[i]==-92||n[i]==-91||n[i]==-23||n[i]==-32||
n[i]==-42||n[i]==-112||n[i]==-75||n[i]==-93||
n[i]==-94||n[i]==-95||n[i]==-126||n[i]==-96||n[i]==' '))
{cout << endl<< "Solo se permiten letras."<<endl<<endl;
system("pause");return 0;}}
l=0;
c=1;
for(z=0;z<longitud;z++,l++)
{
if(z==13){l=0;c=3;}
switch(n[z])
{
case ' ':
construc("0000","0000","0000","0000","0000",l,c);
break;
case 'a':
construc("11111","00001","11111","10001","11111",l,c);
break;
case 'A':
construc("11111","10001","11111","10001","10001",l,c) ;
break;
case 'b':
construc("10000","10000","1111","1001","1111",l,c) ;
break;
case 'B':
construc("1110","1001","1110","1001","1110",l,c) ;
break;
case 'c':
case 'C':
construc("1111","1000","1000","1000","1111",l,c) ;
break;
case 'e':

case 'E':
construc("1111","1000","1111","1000","1111",l,c) ;
break;
case 'f':
case 'F':
construc("1111","1000","1111","1000","1000",l,c) ;
break;
case 'g':
case 'G':
construc("1111","1000","1011","1001","1111",l,c) ;
break;
case 'h':
case 'H':
construc("1001","1001","1111","1001","1001",l,c) ;
break;
case 'i':
case 'I':
construc("1111","0110","0110","0110","1111",l,c) ;
break;
case 'j':
case 'J':
construc("1111","0010","0010","1010","1110",l,c) ;
break;
case 'k':
case 'K':
construc("1001","1100","1100","1010","1001",l,c) ;
break;
case 'l':
case 'L':
construc("1000","1000","1000","1001","1111",l,c) ;
break;
case 'n':
case 'N':
construc("1111","1001","1001","1001","1001",l,c) ;
break;
case 'o':
case 'O':
construc("1111","1001","1001","1001","1111",l,c) ;
break;
case 'p':
case 'P':
construc("1111","1001","1111","1000","1000",l,c) ;
break;
case 'r':
case 'R':
construc("11111","10001","11111","10100","10010",l,c) ;
break;
case 't':
case 'T':
construc("1111","0010","0010","0010","0010",l,c) ;
break;
case 's':
case 'S':
construc("1111","1000","1111","0001","1111",l,c) ;
break;

default:
cout << endl<< "el codigo grafico del caracter no esta disponible."<< endl;
break;
}}
system("pause");
}
void construc(string fila1, string fila2, string fila3, string fila4, string fila5, int l,int c)
{
int v,k;
for(int i=1;i<=Y;i++)//eje Y
{v=0;
gotoxy(2+(6*l),3+(4*c)+i);
for(int j=1;j<=X;j++)// eje X
{
switch(i)
{case 1:
if(fila1[v]=='1') cout << "*";
else cout << " ";break;
case 2:
if(fila2[v]=='1') cout << "*";
else cout << " ";break;
case 3:
if(fila3[v]=='1') cout << "*";
else cout << " ";break;
case 4:
if(fila4[v]=='1') cout << "*";
else cout << " ";break;
case 5:
if(fila5[v]=='1') cout << "*";
else cout << " ";break; } v++;
}
cout << endl;
}}

3. CONCLUSIONES:

(PARA EL INFORME)

Se logro aprender nuevos operadores como asignar un valor a una variable al principio del programa
como la que se uso para mover el cursor, que era gotoxy, adems que se logro delimitar el resultado
con funciones repetitivas como for.
En el laboratorio se logro aprender ms sobre el uso del comando % para hallar el residuo de una
divisin, algo muy importante en los problemas, tanto en el de las monedas como en la
determinacin del ao bisiesto.

PROGRAMACION EN C:
#include<stdio.h>
#include<conio.h>
int main()
{
int i,j,N=10;
//E
for(j=0;j<10;j=j+4)
{
for(i=1;i<N;i++)
{
gotoxy(i+10,8+j);printf("*");
gotoxy(i+10,9+j);printf("*");
}}
for(j=0;j<5;j=j+4)
{for(i=1; i<N; i++)
{
if(i==1||i==2)
{gotoxy(i+10,10+j);printf("*");
gotoxy(i+10,11+j);printf("*");}
}}
//T
for(i=1;i<=N;i++)
{
gotoxy(i+22,8);printf("*");
gotoxy(i+22,9);printf("*");
}

for(j=0;j<8.;j++)
{for(i=1; i<N; i++)
{
if(i==5||i==6)
{gotoxy(i+22,10+j);printf("*");
}
}}
//I
for(j=0;j<10;j=j+8)
{
for(i=1;i<=N;i++)
{
gotoxy(i+35,8+j);printf("*");
gotoxy(i+35,9+j);printf("*");
}}
for(j=0;j<8.;j++)
{for(i=1; i<N; i++)
{
if(i==5||i==6)
{gotoxy(i+35,10+j);printf("*");
}
}}
//C
for(j=0;j<10;j=j+8)
{
for(i=1;i<N;i++)
{
gotoxy(i+48,8+j);printf("*");
gotoxy(i+48,9+j);printf("*");
}}

for(j=0;j<8.;j++)
{for(i=1; i<N; i++)
{
if(i==1||i==2)
{gotoxy(i+48,10+j);printf("*");
}
}}
//A
for(j=0;j<5;j=j+4)
{
for(i=1;i<N;i++)
{
gotoxy(i+60,8+j);printf("*");
gotoxy(i+60,9+j);printf("*");
}}
for(j=0;j<8.;j++)
{for(i=1; i<N; i++)
{
if(i==1||i==2||i==8||i==9)
{gotoxy(i+60,10+j);printf("*");
}
}}
getch();
}

S-ar putea să vă placă și