Professional Documents
Culture Documents
laboratorio
2007-1
Computadora
Disco Flexible o algn otro medio para almacenar sus prcticas
Turbo C (TC)
G ENERALIDADES
CADENAS DE CARACTERES
Una cadena es un conjunto de caracteres, el cual cada caracter se encuentra en una posicin determinada dentro de
la cadena. Se puede utilizar una cadena general o una cadena fija de un nmero determinado de caracteres, estas
se declaran en el siguiente formato:
char* var_cadena;
char cadena[N];
La librera de manejo de cadenas string.h es un conjunto de funciones tiles para manipulacin de datos de
cadenas, entre ellas tenemos:
Func i n
strcpy(cad1,cad2)
strncpy(cad1,cad2,n)
strcat(cad1,cad2)
strncat(cad1,cad2,n)
int strcmp(cad1,cad2)
Desc rip ci n
Sustituye el contenido
de cad1 por el de cad2
Copia n caracteres de
cad2 a cad1
Agrega cad2 al final de
cad1
Agrega como mximo n
caracteres de cad2 a
cad1
Compara cad1 con
cad2
Regresa 0 si son
iguales, regresa > 0 Si
cad1 es mayor que
cad2, regresa < 0 si
cad1 es menor cad2.
La comparacin es
lexicogrfica, es decir,
de manera alfabtica,
de A a Z, y adems las
letras minsculas son
mayores que las
maysculas.
Eje mp lo
strcpy(ciudad,estado);
Sal ida
ciudad=baja california
strncpy(ciudad,estado,3);
strncpy(ciudad,baja calif,3);
ciudad=tijuanabaj
strcat(ciudad,estado);
strcat(ciudad, sonora);
ciudad=tijuanasonora
strncat(ciudad,estado,4);
strncat(ciudad,sinaloa,6);
ciudad=tijuanabaja
ciuda=tijuanasinalo
res=strncat(ciudad,estado);
res=strncat(ciudad,tijuana);
res=strncat(estado,ciudad);
1 de 5
PROGRAMACIN
laboratorio
2007-1
int strcmpi(cad1,cad2)
strncmp(cad1,cad2,n)
strlen( cad )
strlwr( cad )
strupr( cad )
strrev( cad )
strset( cad, caracter)
res=strncat(ciudad,estado);
res=strncat(ciudad,TIJUANA);
res=strncat(estado,ciudad);
res=strncat(ciudad,tij.bc,3);
Determina la longitud
de la cadena.
Convierte la cadena a
minsculas
Convierte cadena1 a
mayusculas
Invierte la cadena
Rellena toda la cadena
con el caracter x
especificado
res=strlen(ciudad);
res=strlen(UABC);
strlwr(ciudad);
strlupr(ciudad);
ciudad=TIJUANA
strrev(ciudad);
ciudad=anaujit
ciudad=xxxxxxx
res=strncat(ciudad,tecate, 5);
strset(ciudad.x);
2 de 5
PROGRAMACIN
laboratorio
2007-1
lo ng Ca d =st rl e n ( c a d ) ;
if ( i sd ig i t ( t e c la ) || t e c la = =- && l o ng Ca d = =0 ) {
c a d [l on g Ca d + + ] =t e c la ;
c a d [l on g Ca d ] = \ x 0 ;
}
if ( t e c la = =B kSp c && l o ng Ca d> 0)
c a d[- - l o ng Ca d ] =\ x 0 ;
} w hil e ( t e c la ! =E N T E R || lo ng Ca d = =0 ) ;
re t u r n a t o i( c a d) ;
}
int c a p t u ra E nt e r oP o sit i vo ( ) {
int x= w he re x( ) , y = wh e r e y ( ) ;
c ha r t e c la , c a d[ 4 0] ;
int l o ng Ca d;
c a d[ 0 ] =\ x 0 ;
do {
g ot o xy ( x,y ) ;
c lre ol ( ) ;
p r int f( % s ,c a d) ;
t e c la =g e t c h( ) ;
lo ng Ca d =st rl e n ( c a d ) ;
if ( i sd ig i t ( t e c la ) ) {
c a d [l on g Ca d + + ] =t e c la ;
c a d [l on g Ca d ] = \ x 0 ;
}
if ( t e c la = =B kSp c && l o ng Ca d> 0)
c a d[- - l o ng Ca d ] =\ x 0 ;
} w hil e ( t e c la ! =E N T E R || lo ng Ca d = =0 ) ;
re t u r n a t o i( c a d) ;
}
floa t c a p t u ra R e a l( ) {
int x= w he re x( ) , y = wh e r e y ( ) ;
c ha r t e c la , c a d[ 4 0] ;
int l o ng Ca d;
do {
g ot o xy ( x,y ) ;
c lre ol ( ) ;
p r int f( % s ,c a d) ;
t e c la =g e t c h( ) ;
lo ng Ca d =st rl e n ( c a d ) ;
if ( i sd ig i t ( t e c la ) || t e c la = =- && l o ng Ca d = =0 ) {
c a d [l on g Ca d + + ] =t e c la ;
c a d [l on g Ca d ] = \ x 0 ;
}
if ( t e c la = = . & & ! p u nt o ) {
p u nt o = 1;
c a d [l on g Ca d + + ] =t e c la ;
c a d [l on g Ca d ] = \ x 0 ;
}
if ( t e c la = = B kS p c & & l o ng Ca d > 0) {
p u nt o =c a d [- - l o ng Ca d ]= = . ? 0: p u nt o;
c a d[l o ng Ca d ]= \ x 0 ;
3 de 5
PROGRAMACIN
laboratorio
2007-1
}
} w hil e ( t e c la ! =E nt e r || l o ng Ca d = =0 ) ;
re t u r n a t o f( c a d ) ;
}
floa t c a p t u ra R e a l( ) {
int x= w he re x( ) , y = wh e r e y ( ) ;
c ha r t e c la , c a d[ 4 0] ;
int l o ng Ca d;
do {
g ot o xy ( x,y ) ;
c lre ol ( ) ;
p r int f( % s ,c a d) ;
t e c la =g e t c h( ) ;
lo ng Ca d =st rl e n ( c a d ) ;
if ( i sd ig i t ( t e c la ) ) {
c a d [l on g Ca d + + ] =t e c la ;
c a d [l on g Ca d ] = \ x 0 ;
}
if ( t e c la = = . & & ! p u nt o ) {
p u nt o = 1;
c a d [l on g Ca d + + ] =t e c la ;
c a d [l on g Ca d ] = \ x 0 ;
}
if ( t e c la = =B kSp c && l o ng Ca d > 0) {
p u nt o =c a d [- - l o ng Ca d ]= = . ? 0: p u nt o;
c a d[l o ng Ca d ]= \ x 0 ;
}
} w hil e ( t e c la ! =E nt e r || l o ng Ca d = =0 ) ;
re t u r n a t o f( c a d ) ;
}
vo id ma y u sc u la s( c ha r c a d) {
int x= w he re x( ) , y = wh e r e y ( ) ;
c ha r t e c la ;
int l o ng Ca d;
( c a d) = ;
do {
g ot o xy ( x,y ) ;
c lre ol ( ) ;
p r int f( % s , c a d) ;
t e c la =g e t c h( ) ;
lo ng Ca d =st rl e n ( c a d) ;
if ( i sa l nu m( t e c la ) ) {
( c a d) [l o ng Ca d+ + ] =t ou p p e r( t e c la ) ;
( c a d) [l o ng Ca d] = NU LL ;
}
if ( t e c la = =B kSp c && l o ng Ca d > 0)
( c a d) [- - lo ng Ca d ] =NU L L;
} w hil e ( t e c la ! =E N T E R || lo ng Ca d = =0 ) ;
}
4 de 5
PROGRAMACIN
laboratorio
2007-1
/ / Fu nc i n P ri nc ip a l
vo id ma i n( v oi d) {
int x;
floa t y ;
c ha r c a d e na ;
c lr sc r( ) ;
p r int f( E nt e r o: ) ;
x =c a p t u ra E nt e r o( ) ;
p r int f( \ nE l nu me r o c a p t u ra d o e s: % d\ n , x) ;
p r int f( E nt e r o P o s it i v o: ) ;
x =c a p t u ra E nt e r oP os ( ) ;
p r int f( \ nE l nu me r o c a p t u ra d o e s: % d\ n , x) ;
p r int f( R e a l: ) ;
y =c a p t u ra R e a l( ) ;
p r int f( \ nE l nu me r o c a p t u ra d o e s: % . 4f\ n ,y ) ;
p r int f( R e a l P o sit i vo: ) ;
y =c a p t u ra R e a lP os ( ) ;
p r int f( \ nE l nu me r o c a p t u ra d o e s: % . 4f\ n ,y ) ;
p r int f( Ca de na Ma y u sc u la s: ) ;
ma y u sc u la s( w he re x( ) ,w he re y ( ) ,& c a de na ) ;
p r int f( \ n La c a d e na c a p t u ra da e s: % s \ n , c a de na ) ;
getch();
}
ACTIVIDAD
1. Realizar un programa que dado un numero entero N entre 2 y 20 tomarlo como una base numrica, y realice lo
siguiente:
a. Conversin de base 10 a base N.
b. Conversin de base N a base 10.
Validar para que no se introduzcan dgitos que no pertenezcan al sistema a utilizar.
Salir del programa al presionar la tecla ESC una vez realizada la conversin, si se presiona la tecla ENTER
continuar realizando conversiones (preguntar si desea capturar otra base N)
Dgitos a utilizar:
0
10
11
12
13
14
15
16
17
18
19
5 de 5