0 Bewertungen0% fanden dieses Dokument nützlich (0 Abstimmungen)
57 Ansichten0 Seiten
Este documento presenta 17 ejemplos sobre el uso de cadenas, punteros y estructuras en C++. Los objetivos son reconocer y usar funciones de cadena predefinidas, crear funciones de cadena definidas por el usuario, y crear y usar datos de tipo puntero. Los ejemplos cubren temas como lectura y escritura de cadenas, comparación y concatenación de cadenas, punteros a cadenas, y funciones de usuario para el manejo de cadenas.
Este documento presenta 17 ejemplos sobre el uso de cadenas, punteros y estructuras en C++. Los objetivos son reconocer y usar funciones de cadena predefinidas, crear funciones de cadena definidas por el usuario, y crear y usar datos de tipo puntero. Los ejemplos cubren temas como lectura y escritura de cadenas, comparación y concatenación de cadenas, punteros a cadenas, y funciones de usuario para el manejo de cadenas.
Copyright:
Attribution Non-Commercial (BY-NC)
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
Este documento presenta 17 ejemplos sobre el uso de cadenas, punteros y estructuras en C++. Los objetivos son reconocer y usar funciones de cadena predefinidas, crear funciones de cadena definidas por el usuario, y crear y usar datos de tipo puntero. Los ejemplos cubren temas como lectura y escritura de cadenas, comparación y concatenación de cadenas, punteros a cadenas, y funciones de usuario para el manejo de cadenas.
Copyright:
Attribution Non-Commercial (BY-NC)
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
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; }
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"); }
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"); }
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 {
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.