salvatore7
Registrado: 29 Abr 2012 Mensajes: 3
| Publicado: 29/04/2012 8:19 am | | | Título: codigo menu con varias funciones en C |
| Hola queria saber si alguien podria solucionarme unas dudillas que tengo con un programa que tengo que hacer para clase. Esto es el enunciado del ejercicio para que lo podais entender mejor: Enunciado: diseñar y codificar una aplicación que implemente las siguientes operaciones a realizar sobre uno o dos números enteros: - Dado un número entero, calcular su factorial. - Dado un número entero, averiguar si es primo o no. - Dados dos número enteros, averiguar si son amigos o no. Dos números amigos son dos enteros positivos a y b tales que a es la suma de los divisores propios de b y b es la suma de los divisores propios de a. (la unidad se considera divisor propio, pero no lo es el mismo número). Un ejemplo: los números 220 y 284 son amigos, ya que: o Los divisores propios de 220 son 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 y 110, que suman 284. o Los divisores propios de 284 son 1, 2, 4, 71 y 142, que suman 220. - Dado un número entero, calcular el número de cifras que forman el número y la suma de las cifras de ese número. La aplicación permitirá que el usuario seleccione la realización de una de las operaciones anteriormente citadas a través del siguiente menú, que se mostrará por pantalla: OPERACIONES A REALIZAR 1. Cálculo de la factorial de un número entero positivo. 2. Indicar si un número es primo. 3. Indicar si dos números enteros son amigos. 4. Calcular el número de cifras de un número y la suma de ellas. 5. Salir del programa. Seleccione opción (1, 2, 3, 4, 5): Mis dudas son las siguientes: A la hora de realizar el menu con los algoritmos parametrizados, cuando escribo el codigo como tengo que hacer para escribir las precondiciones? Para que el menu me salga como lo que he puesto mas arriba tendria que poner primero los fscanf de cada opcion y despues el codigo? Este es un ejemplo que tengo que no se si me serviria para lo que quiero y quizas con el se pueda entender mejor mi duda: #include <stdio.h> int suma (int operando1, int operando2); /* realiza la suma */ int resta (int operando1, int operando); /*realiza la resta */ int multiplicacion (int operando1, int operando); /*realiza la multiplicación */ int division (int operando1, int operando); /* realiza la división entera */ void leerOperandos (int *operando1, int *operando2); /*lee los operandos que se usarán en la operación*/ void imprimeResultado (int resultado); /*imprime el resultado */ char menu(void); /*Presenta un menú por pantalla y devuelve la opción seleccionada *
int main (void) { int resultado; /* almacena el resultado de la operación */ do { opcion = menu (); switch (opcion) { case '1': leerOperandos (&oper1, &oper2); resultado = suma (oper1,oper2); imprimeResultado (resultado); break; case '2': leerOperandos (&oper1, &oper2); resultado = resta (oper1,oper2); imprimeResultado (resultado); break; case '3': leerOperandos (&oper1, &oper2); resultado = multiplicacion (oper1,oper2); imprimeResultado (resultado); break; case '4': leerOperandos (&oper1, &oper2); resultado = division (oper1,oper2); imprimeResultado (resultado); break; case '5': fprintf (stdout, "\n ADIOS \n"); break; default: fprintf (stdout,"se equivoco en la opcion\n"); } }while (opcion !='5'); } estoy un poco perdido como podeis ver muchas gracias por adelantado un saludo |
|