Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Ana María Dallos Valenzuela. 1201612
- /*
- 1) Elaborar un programa que permita leer dos números de tipo real en la función principal; que en una función los intercambie via parametros por referencia y
- los imprima en la función principal
- 2) Elaborar un programa que permita leer un número entero e indique si es capicúa; es capicúa si se lee igual de izquierda a derecha que en sentido contrario.
- */
- #include <iostream>
- using namespace std;
- int numero;
- void cambio_de_numeros(double*, double*, double*);
- double primer_num, segundo_num, auxiliar;
- int invertir_numero(int *, int *, int *);
- int main()
- {
- int opc_menu;
- do
- {
- cout <<"***Menú***\n Escoja una de las siguientes opciones:"<<endl;
- cout << "1. Intercambio de números vía parámetros por referencia\n2. Evaluar el número ingresado para determinar si es capicúa o no.\n0.Finalizar ejecución"<<endl;
- cin>> opc_menu;
- switch (opc_menu)
- {
- case 1:
- cout << "Programa que lee dos números y los imprime en el orden contrario de ingreso."<<endl;
- cout <<"Digite el primer número: "<<endl;
- cin >> primer_num;
- cout <<"Por favor ingrese el segundo numero:"<<endl;
- cin >> segundo_num;
- //invocación a variable
- cambio_de_numeros(&primer_num, &segundo_num, &auxiliar);
- break;
- case 2:
- int numero_ingresado, intercambiador=0, valor_inicial_guardar;
- cout<<"Programa que evalúa el número ingresado para determinar si es capicúa o no.\nUn número capicúa es aquel que se lee igual al derecho y al revés."<<endl;
- cout<<"Por favor digite el número que quiere comprobar"<<endl;
- cin >> numero_ingresado;
- //Variable de respaldo que contiene el numero que fue ingresado por el usuario, no se modifica durante la ejecución
- valor_inicial_guardar= numero_ingresado;
- //invocación función que invierte el número y a la vez hace la comparación con el inicial para arrojar resultado
- invertir_numero(&numero_ingresado, &intercambiador, &valor_inicial_guardar);
- //int determinar_condicion(&valor_inicial_guardar, &numero);
- break;
- }
- }
- while(opc_menu!=0);
- system ("pause");
- return 0;
- }
- //Opción 1
- void cambio_de_numeros(double *ptrprimer_num, double *ptrsegundo_num, double *ptrauxiliar)
- {
- *ptrauxiliar=*ptrprimer_num;
- *ptrprimer_num=*ptrsegundo_num;
- *ptrsegundo_num=*ptrauxiliar;
- cout <<"Primer numero: "<<primer_num<<"\n";
- cout <<"Segundo numero: "<<segundo_num<<"\n";
- system("pause");
- }
- //Opción 2
- int invertir_numero(int *ptrinicial, int *ptrfinal, int *guardado)
- {
- int ingresado= *ptrinicial;
- while(*ptrinicial>0)
- {
- //algoritmo que llena a *ptrfinal con el número al revés
- *ptrfinal=*ptrfinal*10 + *ptrinicial%10;
- *ptrinicial = *ptrinicial/10;
- }
- cout<<"Al revés se lee " << *ptrfinal <<endl;
- int suma= (*ptrfinal+*guardado)/2;
- if(suma == *ptrfinal)
- {
- cout << "El número "<< *guardado <<" es capicúa."<<endl;
- }
- else
- {
- cout<<"El número "<< *guardado <<" no capicúa."<<endl;
- }
- system ("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement