Sie sind auf Seite 1von 0

1/19

Prof.: Ing. Felix Huari E. Algoritmos y Programacin


GUIA DE LABORATORIO N4

CADENAS/PUNTEROS/ESTRUCTURAS
OBJETIVOS

Al finalizar esta prctica el usuario estar capacitado en realizar lo siguiente:

1. Reconocer y usar las funciones de cadena predefinidas del C/C++.
2. Crear funciones de cadena definidas por el usuario.
3. Crear datos tipo puntero y desarrollar aplicaciones.

PARTE I: CADENAS
Ejem 1.
/*el identificador cin tambin lee cadenas pero termina o trunca la cadena al
encontrar el primer espacio en blanco */
#include<iostream>
using namespace std;
int main()
{
char nombre[35]; cout<<"Ingrese su nombre completo ";
cin>>nombre; cout<<"Hola, "<<nombre<<endl; system("PAUSE");
}

Ejem 2.
/*uso de funciones para leer caracteres y cadenas en c++ se utiliza cin.get y
cin.getline respectivamente */
#include<iostream>
using namespace std;

int main()
{
char cadena[25]; cout<<"Ingrese una cadena ";
cin.getline(cadena,25);
cout<<"La cadena leida es "<<cadena<<endl; system("PAUSE");
}

Ejem 3.
/* En C++ se utiliza cin.get para leer un caracter */
#include<iostream>
using namespace std;
int main()
{
char c; cout<<"Ingrese un caracter ";
cin.get(c);
cout<<"El caracter es "<<c<<endl; system("PAUSE");
}
2/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin

Ejem 4.
/* Las cadenas tambien se pueden leer y escribir haciendo uso de las funciones
gets() y puts() ambas de la libreria stdio */
#include<iostream>
#include <stdio.h>
using namespace std;

int main()
{
char c[30]; cout<<"Ingrese sus nombres y apellidos: ";
gets(c);
cout<<"Hola, ";
puts(c);
cout<<endl; system("PAUSE");
}

Ejem 5.
/* muestra como una cadena de caracteres es tratada como un array
unidimensional */
#include<iostream>
using namespace std;
int main()
{
char caden[]="ALGORITMOS";
int i; //imprimiendo cadena como un array de caracteres
cout<<"La cadena con un espacio entre caracteres:\n";
for(i=0; caden[i]!='\0'; i++)
cout<<caden[i]<<"Hola, ";
cout<<endl; system("PAUSE");
}

Ejem 6.
//uso de las funciones strcpy y strncpy
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char x[]="Universidad Nacional Mayor de San Marcos";
char y[40],z[40];
cout<<"El string en el array x es -> "<<x;
cout<<"\nEl string en el array x copiado hacia el array y es ->\n"<<strcpy(y,x);
strncpy(z,x,8);
z[8]='\0'; //marca de fin de cadena
cout<<"\nParte del string en el array x copiado al array z es ->\n"<<z<<endl;
cout<<z<<endl;
3/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin
system("PAUSE");
}
Ejem 7.
//uso de las funciones strcat y strncat
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char s1[100]="Con todo lo bueno que";
char s2[]=" significa heredar una biblioteca,";
char s3[]=" mejor aun es reunirla - Agustine Birrel";
strcat(s1,s2); cout<<"Concatenar s2 en s1: ";
cout<<endl<<s1;
cout<<endl; cout<<"\nConcatenar s3 en s1: "; strcat(s1,s3);
cout<<endl<<s1;
cout<<endl; cout<<"Parte de la s3 concatenada en s2: "; strncat(s2,s3,10);
cout<<endl<<s2<<endl; system("PAUSE");
}

Ejem 8.
#include <iostream>
#include <string.h>
using namespace std;
/* editor de texto sencillo que lee una cadena y
cuenta el numero de palabras en ella */
int main()
{
char linea[80], c, sig, blanco;
int i=0, numpal;
//lectura de la linea de texto
cout<<"Ingrese linea de texto> ";
while((c=cin.get())!='\n')
{
linea[i++] = c;
}
linea[i++]='\0';
// conteo de palabras
numpal=i=0; blanco=' ';
c=linea[i]; //comienzo de la cadena
//recorrido de la cadena
while (c)
{ if (c!=blanco)
{ sig=linea[i+1];
if ((sig==blanco) || (sig=='\0'))
++numpal;
}
4/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin
c=linea[++i];
}
cout<<"Texto->"<<linea<<"\nLa linea de texto tiene "<<numpal<<" palabras"<<endl;
system("PAUSE");
}

Ejem 9.
#include <iostream>
#include <string.h>
using namespace std;
/* uso de strcmp()*/
int main()
{
char cade1[]="lenguaje C++";
char cade2[]="LENGUAJE C++";
char cade3[]="lenguaje C++";
char cade4[]="LENGuaje c++";
int result; //almacena resultado de la comparacion
//comparar cadena 1 con cadena 2
result = strcmp(cade1,cade2);
if (result<0)
cout<<cade1<<" es menor que "<<cade2<<endl;
else if (result==0)
cout<<cade1<<" es igual que "<<cade2<<endl;
else
cout<<cade1<<" es mayor que "<<cade2<<endl;
cout<<result<<endl;
//comparar cadena 1 con cadena 3
result = strcmp(cade1,cade3);
if (result<0)
cout<<cade1<<" es menor que "<<cade3<<endl;
else if (result==0)
cout<<cade1<<" es igual que "<<cade3<<endl;
else
cout<<cade1<<" es mayor que "<<cade3<<endl;
cout<<result<<endl<<endl;
//comparar cadena 1 con cadena 4
result = strcmp(cade4,cade1);
if (result<0)
cout<<cade4<<" es menor que "<<cade1<<endl;
else if (result==0)
cout<<cade4<<" es igual que "<<cade1<<endl;
else
cout<<cade4<<" es mayor que "<<cade1<<endl;
cout<<result<<endl;
system("PAUSE");
}
5/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin


Ejem 10.
#include <iostream>
using namespace std;
int main()
{
char s[]="Estructura de Datos";
int i; cout<<"Cadena impresa con espacios en blanco entre caracteres: "<<endl;
for (i=0; i<sizeof(s)/sizeof(char); i++)
cout<<s[i]<<" "; cout<<'\0'<<endl;
system("PAUSE");
}

Ejem 11.
#include <iostream>
using namespace std;
#include <string.h> // para strupr() y strlwr()
#include <stdio.h>
int main()
{
char cade1[40], cade2[40];
cout<<"Ingrese Cadena en minusculas: ";
gets(cade1); strupr(cade1); cout<<"A mayusculas ";
puts(cade1); cout<<endl; cout<<"Ingrese Cadena en Mayusculas ";
gets(cade2); strlwr(cade2); cout<<"A minusculas: ";
puts(cade2);
cout<<endl; system("PAUSE");
}

PARTE II: PUNTEROS

Ejem 12.
#include<iostream>
using namespace std;
//muestra el uso de variables y punteros
int main()
{
int i; // i variable entera
int *pi; // pi variable puntero a entero
i=100;
pi=&i; cout<<"i: "<<i<<endl; //valor almacenado en i
cout<<"pi: "<<pi<<endl;//pi guarda la direccion de i
cout<<"*pi: "<<*pi<<endl;//valor al que apunta pi
cout<<"&pi: "<<&pi<<endl;//direccion de pi
*pi=500; //cambiando el valor apuntado por pi
6/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin
cout<<"*pi: "<<*pi<<endl;//nuevo valor apuntado por pi
cout<<"i: "<<i<<endl; //nuevo valor en i
system(pause);
}


Ejem 13.
#include <iostream>
using namespace std;
//punteros y sentencias de asignacion
int main()
{
int i, j; // variables enteras
int *pi, *pj; //variables puntero a entero
// parte 1
i=100;
pi=&i; //asignar la direccion de i a pj
pj=pi; //asignar pi a pj
cout<<"Parte 1"<<endl;
cout<<"Valor en i: "<<i<<"\t\t\tDireccion de i: "<<pi<<endl;
cout<<"Valor apuntado por pj: "<<*pj<<endl<<endl;
//parte 2
j=500;
pj=&j; cout<<"Parte 2"<<endl;
cout<<"Valor en j: "<<j<<"\tDireccion de j: "<<pj<<endl;
pj=pi; cout<<"Valor apuntado por pi: "<<*pi<<"\tValor apuntado por pj:"
<<*pj<<endl<<endl;
//parte 3
*pi=*pj; cout<<"Parte 3"<<endl;
cout<<"Direccion almacenada en pi: "<<pi
<<"\tDireccion almacenada en pj: "<<pj<<endl;
cout<<"Valor apuntado por pi: "<<*pi<<"\tValor apuntado por pj: "
<<*pj<<endl;
cout<<"Valor en i: "<<i<<"\t\t\tValor en j: "<<j<<endl;
cout<<"Direccion de pi: "<<&pi<<"\tDireccion de pj: "<<&pj<<endl;
system(Pause);
}


Ejem 14.
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
char string[15];
char *ptr, c = 'z';
7/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin
strcpy(string, "Esto es una cadena");
ptr = strchr(string, c);
if (ptr)
cout<<"El caracter "<<c<<" se encuentra en la posicion "<<ptr-string<<endl;
else
cout<<"El caracter "<<c<<" no se encuentra\n";
system("PAUSE");
}



Ejem 15.
#include <iostream>
#include <string.h> // uso de strlen()
using namespace std;
int main()
{
char *cade1;
int longitud;
cade1 = "LABORATORIO"; longitud = strlen(cade1);
cout<<"La cadena "<<cade1<<" tiene: "<<longitud<<" caracteres\n";
system("PAUSE");
}

El usuario tambin puede definir sus propias funciones de manejo de cadenas

Ejem 16.
#include <iostream>
using namespace std;
const int MAX=80;
// funciones prototipo
int longcad(char s[]);
int comparacad(char s1[], char s2[]);
void copiacad(char dest[], char orig[]);
int main()
{
char buffer[MAX]; buffer[0]='\0';
cout<<"<1> longcad(buffer)= "<<longcad(buffer)<<endl;
copiacad(buffer,"Algoritmos y Programacion");
cout<<"<2> buffer: "<<buffer<<endl;
cout<<"<3> longcad(buffer) = "<<longcad(buffer)<<endl;
cout<<"<4> comparacad(buffer,Algoritmos y Programacion) = ";
cout<<comparacad(buffer,"Algoritmos y Programacion")<<endl;
cout<<"<5> comparacad(buffer,Programacion) = ";
cout<<comparacad(buffer,"Programacion")<<endl;
system("PAUSE");
}
8/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin

//Definiendo las funciones de usuario
int longcad(char s[])
{
int i=0;
while (s[i] != 0)
++i;
return i;
}



int comparacad(char s1[], char s2[])
{
int i=0;
for ( ; s1[i]!=0 && s1[i]==s2[i]; i++)
return (int)(s1[i]-s2[i]);
}

void copiacad(char dest[], char orig[])
{
int i=0;
for ( ; orig[i]!=0; i++)
dest[i] = orig[i];
dest[i]=0;
}

Ejem 17.
#include <iostream>
using namespace std;
// usa punteros a array de cadenas
const int MAX=80;
// funciones prototipo
int longcad(char *s);
int comparacad(char *s1, char *s2);
void copiacad(char *dest, char *orig);
int main()
{
char buffer[MAX]; buffer[0]='\0';
cout<<"<1>longcad(buffer)="<<longcad(buffer)<<endl;
copiacad(buffer,"Algoritmos y Programacion");
cout<<"<2> buffer: "<<buffer<<endl;
cout<<"<3> longcad(buffer) = "<<longcad(buffer)<<endl;
cout<<"<4> comparacad(buffer,Algoritmos y Programacion) = ";
cout<<comparacad(buffer,"Algoritmos y Programacion")<<endl;
cout<<"<5> comparacad(buffer,Aloritmos) = ";
cout<<comparacad(buffer,"Aloritmos")<<endl; system("PAUSE");
9/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin
}

//Definiendo las funciones
int longcad(char *s)
{
int i=0;
while (s[i]!=0)
++i;
return i;
}


int comparacad(char *s1, char *s2)
{
int i=0;
for ( ; s1[i]!=0 && s1[i]==s2[i]; i++)
return (int)(s1[i]-s2[i]);
}

void copiacad(char *dest, char *orig)
{
int i=0;
for ( ; orig[i]!=0; i++)
dest[i]=orig[i];
dest[i]=0;
}

Ejem 18.
#include <iostream>
using namespace std;
const int MAX=80;
// funciones prototipo
int longcad(char *s);
int comparacad(char *s1, char *s2);
void copiacad(char *dest, char *orig);
int main()
{
char buffer[MAX]; buffer[0]='\0';
cout<<"<1> longcad(buffer)= "<<longcad(buffer)<<endl;
copiacad(buffer,"Algoritmos y Programacion");
cout<<"<2> buffer: "<<buffer<<endl;
cout<<"<3> longcad(buffer) = "<<longcad(buffer)<<endl;
cout<<"<4> comparacad(buffer,Algoritmos y Programacion) = ";
cout<<comparacad(buffer,"Algoritmos y Programacion")<<endl;
cout<<"<5> comparacad(buffer,Aloritmos) = ";
cout<<comparacad(buffer,"Aloritmos")<<endl; system("PAUSE");
}
10/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin

int longcad(char *s)
{
int i=0;
while (*s++)
++i;
return i;
}




int comparacad(char *s1, char *s2)
{
while ( *s1 && *s1 == *s2)
{ s1++;
s2++;
}
return (int)(*s1 - *s2);
}

void copiacad(char *dest, char *orig)
{
while( *dest++ = *orig++)
}

Ejem 19.
#include <iostream>
using namespace std;
const int N = 10;
int main()
{
int *px, i;
int x[N];
// cargando el array
for (i=0; i<N; i++)
x[i]=2*i;
// recorrer y mostrar el array
for (i=0;i<N;i++)
{ px=&x[i];
cout<<"Elemento "<<i<<" valor "<<x[i]<<" direccion "<<px<<endl;
}
system(pause);
}



11/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin

PARTE III: ESTRUCTURAS

Ejem 20.
#include <iostream>
using namespace std;
struct complejo
{
float real;
float imag;
};
//funcion prototipo
complejo suma(complejo x,complejo y);
void main()
{
complejo x,y,z;
cout << "Ingrese parte real y parte imaginaria de x > ";
cin >> x.real >> x.imag;
cout << "Ingrese parte real y parte imaginaria de y > ";
cin >> y.real >> y.imag;
z=suma(x,y);
cout << "La suma es : " << z.real << " + "
<< z.imag <<" i"<< endl; system("PAUSE");
}

//Definiendo las funciones
complejo suma(complejo x, complejo y)
{
complejo z;
z.real=x.real+y.real;
z.imag=x.imag+y.imag;
return z;
}
Ejem 21.
#include <iostream>
using namespace std;
struct complejo
{
float real;
float imag;
};
complejo suma(complejo x,complejo y);
int main()
{ //inicializando los complejos x, y
complejo x={1,2},y={2,3},z;
z=suma(x,y);
12/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin
cout << "La suma es : " << z.real << " + " << z.imag <<"i"<< endl;
system("PAUSE");
}

//Definiendo las funciones
complejo suma(complejo x,complejo y)
{
complejo z;
z.real=x.real+y.real;
z.imag=x.imag+y.imag;
return z;
}

Ejem 22.
#include <iostream>
#include <iomanip.h>
#include <math.h>
using namespace std;
struct punto {
float x;
float y;
};

double modulo(punto p1,punto p2);
int main()
{
punto p1={1,1},p2={2,2};
double distancia;
distancia=modulo(p1,p2);
cout << "La distancia es : " << setprecision(5) << setw(8) << distancia <<
endl; system("PAUSE");
}

//Definiendo las funciones
double modulo(punto p1,punto p2)
{
return sqrt(pow(p1.x-p2.x,2)+pow(p1.y-p2.y,2));
}

Ejem 23.
#include <iostream>
#include <stdio.h> //para gets()
using namespace std;
int main()
{
struct{ //es local
char fabricante[20];
13/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin
int cantidad;
float precio_unitario;
} resistencias; //nombre de la estructura

float valor_total; //valor total de las piezas
//leer el nombre del fabricante
cout<<"Nombre del Fabricante -> ";
gets(resistencias.fabricante);
//leer el numero de piezas
cout<<"Numero de piezas -> ";
cin>>resistencias.cantidad;
//leer el precio unitario cout<<"Precio de cada pieza -> ";
cin>>resistencias.precio_unitario;
//calcular el valor total
valor_total=resistencias.cantidad*resistencias.precio_unitario;
cout<<"\nArticulo Resistencias\n";
cout<<"\nFabricante "<<resistencias.fabricante<<endl;
cout<<"\nPrecio unitario "<<resistencias.precio_unitario<<endl;
cout<<"\nCantidad "<<resistencias.cantidad<<endl;
cout<<"\nValor total "<<valor_total<<endl;
system("PAUSE");
}

Ejem 24.
#include <iostream>
#include <stdio.h> //para gets()
using namespace std;
struct registro_piezas //es global
{
char fabricante[20];
int cantidad;
float precio_unitario;
};

int main()
{
struct registro_piezas resistencias;
float valor_total; //valor total de las piezas
//leer el nombre del fabricante
cout<<"Nombre del Fabricante -> ";
gets(resistencias.fabricante);
//leer el numero de piezas
cout<<"Numero de piezas -> ";
cin>>resistencias.cantidad;
//leer el precio unitario
cout<<"Precio de cada pieza -> ";
cin>>resistencias.precio_unitario;
14/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin
//calcular el valor total
valor_total=resistencias.cantidad*resistencias.precio_unitario;
cout<<"\nArticulo Resistencias\n";
cout<<"\nFabricante "<<resistencias.fabricante<<endl;
cout<<"\nPrecio unitario "<<resistencias.precio_unitario<<endl;
cout<<"\nCantidad "<<resistencias.cantidad<<endl;
cout<<"\nValor total "<<valor_total<<endl;
system("PAUSE");
}

Ejem 25
#include <iostream>
using namespace std;
struct fing
{
int dd,mm,aa;
};
struct reg
{

char codigo[8],nombre[25],cargo[15];
float sueldo;
fing fecha;
};
// Declarando las funciones
void Leer(reg &);
void Ver(reg &);
int main()
{
reg Ficha;
Leer(Ficha);
Ver(Ficha);
system("PAUSE");
}

void Leer(reg &T)
{ cout<<"Codigo:";
cin.getline(T.codigo,8);
cout<<"Nombres:";
cin.getline(T.nombre,25); cout<<"Cargo:"; cin.getline(T.cargo,15);
cout<<"Sueldo:";cin>>T.sueldo;
cout<<"Fecha Ingreso\n";
cout<<"Dia:";cin>>(T.fecha.dd); cout<<"Mes:";cin>>T.fecha.mm;
cout<<"Ao:";cin>>T.fecha.aa;
}


15/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin
void Ver(reg &T)
{ cout<<"Codigo :"<<T.codigo<<endl;
cout<<"Nombres :"<<T.nombre<<endl;
cout<<"Cargo :"<<T.cargo<<endl;
cout<<"Sueldo :"<<T.sueldo<<endl;
cout<<"Fecha Ingreso\n";
cout<<"dd/mm/aa:"<<T.fecha.dd<<"/"<<T.fecha.mm<<"/"<<T.fecha.aa<<endl;
}

Ejem 26
#include <iostream>
using namespace std;
#include <stdio.h>
#include <string.h>
const int N=31; // Mes de Agosto tiene 31 dias
//Declarando la estructura
struct Reg
{
char NroPlaca[10],Marca[15],Color[15],FechaInfra[12],Distrito[25];
float MultaPagar;
};
//Declarando el prototipo de funciones a utilizar
void Lectura(Reg X[]);
void VerDatos(Reg X[]);
void VerMarca(Reg X[],char xMarca[]);
void VehiMultaMayor(Reg X[]);

//Programa principal
int main()
{ Reg A[N];
char rmarca[15];
Lectura(A);
VerDatos(A);
cout<<"Marca de Vehiculo:";gets(rmarca);
VerMarca(A,rmarca);
VehiMultaMayor(A);
system("Pause");
return 0;
} // fin del programa

// Definiendo el prototipo de funciones
void Lectura(Reg X[])
{
int i;
cout<<"LECTURA DE DATOS"<<endl;
for(i=0;i<N;i++)
{
16/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin
cout<<"Datos para el Vehiculo "<<i+1<<endl;
cout<<"Numero de Placa :";gets(X[i].NroPlaca);
cout<<"Marca Vehiculo :";gets(X[i].Marca);
cout<<"Color Vehiculo :";gets(X[i].Color);
cout<<"Fecha Infraccion:";gets(X[i].FechaInfra);
cout<<"Distrito :";gets(X[i].Distrito);
cout<<"Multa a Pagar :";cin>>X[i].MultaPagar;
}
}

void VerDatos(Reg X[])
{
int i;
cout<<"MOSTRANDO DATOS PROCESADOS"<<endl;
cout<<"Nro Placa\tMarca Vehiculo\tColor Vehiculo\tFecha
Infraccion\tDistrito\tPago Multa\n";
for(i=0;i<N;i++)
cout<<X[i].NroPlaca<<"\t"<<X[i].Marca
<<"\t"<<X[i].Color<<"\t"<<X[i].FechaInfra
<<"\t"<<X[i].Distrito<<"\t"<<X[i].MultaPagar<<endl;
}

void VerMarca(Reg X[],char xMarca[])
{
int i,cant=0;
cout<<"Nro Placa\tMarca Vehiculo\tColor Vehiculo\tFecha
Infraccion\tDistrito\tPago Multa\n";
for(i=0;i<N;i++)
if(strcmp(X[i].Marca,xMarca)==0)
{
cout<<X[i].NroPlaca<<"\t"<<X[i].Marca
<<"\t"<<X[i].Color<<"\t"<<X[i].FechaInfra
<<"\t"<<X[i].Distrito<<"\t"<<X[i].MultaPagar<<endl;
cant++;
}
if(cant==0)
cout<<"No existe la marca que busca"<<endl;
else
cout<<cant<<" Vehiculos de la marca "<<xMarca<<" encontradas"<<endl;
}
void VehiMultaMayor(Reg X[])
{
int i=0,j=0;
float Mayor;
Mayor=X[0].MultaPagar;
for(i=1;i<N;i++)
{
17/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin
if(X[i].MultaPagar>Mayor)
{ j=i;
Mayor=X[i].MultaPagar;
}
}
if(j!=0)
{
cout<<"Nro Placa\tMarca Vehiculo\tColor Vehiculo\tFecha
Infraccion\tDistrito\tPago Multa\n";
cout<<X[j].NroPlaca<<"\t"<<X[j].Marca
<<"\t"<<X[j].Color<<"\t"<<X[j].FechaInfra
<<"\t"<<X[j].Distrito<<"\t"<<X[j].MultaPagar<<endl;
}
else
cout<<" Todos los vehiculos tienen igual multa a pagar\n";
}
18/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin

EJERCICIOS PROPUESTOS

1. Escribir un programa que permita el ingreso de una palabra, para luego
verificar si es una palabra polindroma. Una palabra es polindroma si al leer
por la izquierda y por la derecha es la misma. Ejm. radar, oso, etc.
2. Escribir un programa que acepte como entrada un texto para luego escribir
el numero de veces que se repite las letras del abecedario y genere un
grafico de barra horizontal, para graficar usar el carcter *.
3. Para el problema anterior verificar cuantas palabras existen de 1 letra, 2
letra, 3 letras, etc., para posteriormente presentar el grafico de barra
horizontal.
4. En base al problema 2, necesitamos saber el numero de veces que se
repite cada palabra, luego presentar el grafico respectivo.
5. Escribir un programa que acepte la entrada de un numero entero positivo,
para luego mostrar el mismo en letras.
6. Un medico almacena la siguiente informacin de sus pacientes: Nombre,
direccin, telfono, fecha de nacimiento, fecha de ultima visita, si tiene
alergias y observaciones. Se pide lo siguiente:
Ingresar los datos para n pacientes.
Mostrar toda la informacin por cada paciente de los n pacientes
procesados.
Mostrar solo los pacientes que presenta alergias.
Listar todos los pacientes menores de 7 aos.
Mostrar todos los paciente cuyo nombre inicie con la letra C
Dado el nombre de un paciente, mostrar cual ha sido su ultima fecha
de visita.
7. Supongo que usted conoce cuales son las capitales mas importantes de los
pases del mundo. De no ser as, este es su oportunidad de recordar y por
lo tanto tendr una excelente ayuda en casa. La aplicacin que debe
desarrollar consiste en almacenar la siguiente informacin: Nombre de pas,
capital y poblacin de todos los pases de nuestro planeta. Al ejecutar el
programa el sistema debe presentarle el siguiente men de opciones.

SISTEMA DE PAISES VERSUS CAPITALES
***********************************************
1. Americano
2. Europa
3. Africa
4. Asia
5. Oceana
6. Estadstica
7. Terminar

Digite su opcion [1 7]:

19/19
Prof.: Ing. Felix Huari E. Algoritmos y Programacin
El sistema consiste en un juego que usted debe adivinar la capital del pas
mostrado en pantalla, para ello debe elegir cualquiera de las opciones del 1
al 5, inmediatamente el programa mostrara el nombre del pas seguido de
una pregunta Que capital tiene: ?, a la misma usted debe responder con
la respuesta, inmediatamente el sistema debe mostrarle el mensaje de
felicitaciones ud, conoce geografa , la poblacin es: 2548560 habitantes y
se har acreedor de un punto a su favor, luego le pregunta si desea seguir
con el juego, si contesta afirmativamente, saldr otro pas y el proceso
sigue repitindose. Si a la interrogante anterior usted contesta con no, el
sistema le muestra el men principal.
Si la respuesta es errada a la capital de un pas, el sistema le muestra el
siguiente mensaje ...Reflexione antes de responder por favor, y tendr 2
oportunidades mas. Si en el segundo intento falla, el sistema le restara
medio punto, dndole la ultima oportunidad, si en este ultimo se equivoca el
sistema displaya el mensaje Lo siento, usted de repasar geografa y
termina el juego para retornar al men principal.
Al elegir la opcin estadstica, debe mostrarle la cantidad de puntos
acumulados y perdidos y su puntaje final obtenido.
Finalmente la opcin terminar, finaliza la sesin de trabajo.

Das könnte Ihnen auch gefallen