Вы находитесь на странице: 1из 14

PROGRAMACION DIGITAL - CB412

CICLO 2015-1

138

UNIVERSIDADNACIONALDEINGENIERIA
FACULTADDEINGENIERIACIVIL

PROGRAMACIONDIGITAL
LABORATORIO N 11
CICLO 2015-1
WILFREDO CUPE ROMN

PROGRAMACION DIGITAL - CB412

CICLO 2015-1

LaboratorioN11
Objetivo
1. Utilizar cadenas de caracteres.
2. Utilizar funciones de la libreria string.h :

strlen
strcpy
strcat
strcmp

139

PROGRAMACION DIGITAL - CB412

CICLO 2015-1

140

Funciones de Cadenas
Se debe incluir en el programa: #include<string.h>
Funcin

Descripcin

strcpy(cad1,cad2)

Retorna la longitud de cad.


No se cuenta el nulo.
Copia cad2 en cad1.

strcat(cad1, cad2)

Une cad1 con cad2.

strcmp(cad1,cad2)

Compara cad1 con cad2.


<0 si cad1<cad2
Retorna =0 si cad1=cad2
>0 si cad1>cad2

strlen(cad)

PROGRAMACION DIGITAL - CB412

141

CICLO 2015-1

Ejercicio1
Definir una funcin que devuelva la cantidad de
palabras que contiene una cadena.
Cad: CB412 CICLO 20151
Cad: C B 2
0

10

Rpta:3 palabras
Cad[i]==
n=strlen(cad)

11

\0

12

n1

PROGRAMACION DIGITAL - CB412

CICLO 2015-1

142

Ejercicio2
Definir una funcin que muestre en pantalla cada
palabra de una frase seguida del nmero de letras que
la componen. Por ejemplo:
Frase:Estasfiestaspatriastomeconmoderacin

Se mostrara:
Estas
fiestas
pascuas
tome
con
moderacin
20 car.

5
7
7
4
3
10

PROGRAMACION DIGITAL - CB412

CICLO 2015-1

143

Solucin2
Frase: Estas fiestas patrias tome con moderacin
Primero la frase se guarda en un archivo:
Frase.txt
Estasfiestaspascuastomeconmoderacin

Luego se lee del archivo palabra por palabra:

while(!feof(a)){
fscanf(a,"%s", cad);
printf("%20s %d\n",cad, strlen(cad));
}

PROGRAMACION DIGITAL - CB412

144

CICLO 2015-1

Ejercicio3
Definir una funcin que devuelva la cantidad de
dgitos contenidos en una cadena.
Cad: CB412 CICLO 20151
Cad: C B 4 1 2
0

Rpta:8 dgitos
n=strlen(cad)

1 5

n3 n2 n1

\0
n

0<=Cad[i]&&
Cad[i]<=9

PROGRAMACION DIGITAL - CB412

145

CICLO 2015-1

Ejercicio4
Definir una funcin que tenga como parmetro un
cadena y que convierta sus letras minsculas a
maysculas.
Cad: Programacin Digital
Cad: P r o g r
0

g i

Rpta:PROGRAMACIN DIGITAL
n=strlen(cad)

n3 n2 n1

\0
n

a<=Cad[i]&&
Cad[i]<=z

PROGRAMACION DIGITAL - CB412

Tabla de Cdigos ASCII

CICLO 2015-1

146

PROGRAMACION DIGITAL - CB412

CICLO 2015-1

147

Solucin2
Para la Tabla ASCII Extendida: DEV = ASCII - 256
Caracter

ASCII

DEV

Caracter

ASCII

160

-96

181

130

-126

144

161

-95

214

162

-94

224

163

-93

233

164

-92

165

PROGRAMACION DIGITAL - CB412

Codificacin

CICLO 2015-1

148

PROGRAMACION DIGITAL - CB412

CICLO 2015-1

149

Ejercicio4
Un archivo contiene: cdigo, apellidos y nombres, y
promedios de alumnos, por ejemplo:
20111139ADIZATERRONESJUANDEDIOS11.9
20134018FMEZALEONEARNESTRICH14.1
20130051ICHUCOSBASTIDASERICBARONI13.1
20132022FPAUCARDIAZWILFREDO12.5

32 car.

Definir una funcin que devuelva los datos del alumno


que tenga la mayor longitud en sus apellidos y
nombres.
El nombre del archivo ser parmetro de la funcin.

PROGRAMACION DIGITAL - CB412

Codificacin

CICLO 2015-1

150

PROGRAMACION DIGITAL - CB412

CICLO 2015-1

151

Ejercicios Propuestos
Dada una cadena leda por teclado, invertir el orden de
las letras de cada palabra.
Dado un archivo, leer por teclado una cadena y
determinar cuantas veces se repite la cadena en el
archivo.
Dado un archivo, leer por teclado dos cadenas, buscar la
primera cadena en el archivo y reemplazarla por la
segunda cadena.

Вам также может понравиться