LAB11 Cadenas

14
PROGRAMACION DIGITAL - CB412 CICLO 2015-1 138 PROGRAMACION DIGITAL LABORATORIO N° 11 WILFREDO CUPE ROMÁN CICLO 2015-1 UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE INGENIERIA CIVIL

description

Laboratorio

Transcript of LAB11 Cadenas

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 138

    PROGRAMACIONDIGITALLABORATORIO N 11

    WILFREDO CUPE ROMN

    CICLO 2015-1

    UNIVERSIDADNACIONALDEINGENIERIAFACULTADDEINGENIERIACIVIL

  • LaboratorioN11

    PROGRAMACION DIGITAL - CB412 CICLO 2015-1 139

    Objetivo1. Utilizar cadenas de caracteres.2. Utilizar funciones de la libreria string.h :

    strlen strcpy strcat strcmp

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 140

    Se debe incluir en el programa: #include

    Funciones de Cadenas

    Funcin Descripcin

    strlen(cad) Retorna la longitud de cad. No se cuenta el nulo.

    strcpy(cad1,cad2) Copia cad2 en cad1.strcat(cad1, cad2) Une cad1 con cad2.strcmp(cad1,cad2) Compara cad1 con cad2.

    cad2

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 141

    Ejercicio1

    Definir una funcin que devuelva la cantidad depalabras que contiene una cadena.

    Cad: CB412 CICLO 20151

    Rpta:3 palabras

    n=strlen(cad)

    Cad: C B 2 C O 2 1 \00 1 4 5 6 10 11 12 n1 n

    Cad[i]==

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 142

    Ejercicio2

    Definir una funcin que muestre en pantalla cadapalabra de una frase seguida del nmero de letras quela componen. Por ejemplo:Frase:Estasfiestaspatriastomeconmoderacin

    Se mostrara:

    Estas 5fiestas 7pascuas 7tome 4con 3moderacin 10

    20 car.

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 143

    Solucin2

    Frase: Estas fiestas patrias tome con moderacinPrimero la frase se guarda en un archivo:

    Frase.txt

    Luego se lee del archivo palabra por palabra:while(!feof(a)){fscanf(a,"%s", cad);printf("%20s %d\n",cad, strlen(cad));

    }

    Estasfiestaspascuastomeconmoderacin

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 144

    Ejercicio3

    Definir una funcin que devuelva la cantidad dedgitos contenidos en una cadena.

    Cad: CB412 CICLO 20151

    Rpta:8 dgitos

    n=strlen(cad)

    Cad: C B 4 1 2 2 0 1 5 1 \00 1 2 3 4 n3 n2 n1 n

    0

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 145

    Ejercicio4

    Definir una funcin que tenga como parmetro uncadena y que convierta sus letras minsculas amaysculas.

    Cad: Programacin Digital

    Rpta:PROGRAMACIN DIGITAL

    n=strlen(cad)

    Cad: P r o g r g i t a l \00 1 2 3 4 n3 n2 n1 n

    a

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 146

    Tabla de Cdigos ASCII

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 147

    Solucin2

    Para la Tabla ASCII Extendida: DEV = ASCII - 256

    Caracter ASCII DEV

    160 -96

    130 -126

    161 -95

    162 -94

    163 -93

    164 -92

    Caracter ASCII

    181

    144

    214

    224

    233

    165

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 148

    Codificacin

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 149

    Ejercicio4

    Un archivo contiene: cdigo, apellidos y nombres, ypromedios de alumnos, por ejemplo:

    Definir una funcin que devuelva los datos del alumnoque tenga la mayor longitud en sus apellidos ynombres.El nombre del archivo ser parmetro de la funcin.

    20111139ADIZATERRONESJUANDEDIOS11.920134018FMEZALEONEARNESTRICH14.120130051ICHUCOSBASTIDASERICBARONI13.120132022FPAUCARDIAZWILFREDO12.5 32 car.

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 150

    Codificacin

  • PROGRAMACION DIGITAL - CB412 CICLO 2015-1 151

    Ejercicios Propuestos

    Dada una cadena leda por teclado, invertir el orden delas letras de cada palabra.

    Dado un archivo, leer por teclado una cadena ydeterminar cuantas veces se repite la cadena en elarchivo.

    Dado un archivo, leer por teclado dos cadenas, buscar laprimera cadena en el archivo y reemplazarla por lasegunda cadena.