Título: Ayuda con menu en C Publicado por: jona_vip en 14 Marzo 2015, 19:24 pm Hola chicos soy nuevo aqui & principiante en programacion.
En el menu, al elegir la primera opcion 1.- Establecer mes de captura (mes actual) me despliega otras opciones en las que tengo que elegir del 1 al 12 un mes, ya elegido el mes me saldra un mensaje que corrobora el mes elegido (ejemplo enero). Al regresar al menu quiero que Enero me aparezca asi: 1.- Establecer mes de captura (mes actual Enero). #include <stdio.h> #include <stdlib.h> int main() { void MenuPrincipal (); int op, salir; float ingresos, gastos, IVA, GananciaBruta, ISR, total, resultado, RetencionISR, RetencionIVA; const char Enero , Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre; resultado = 0.00; ingresos = 0.00; gastos = 0.00; IVA = 1.16; RetencionISR = 10; // 10% del ingreso RetencionIVA = 10; // 10% del ingreso do { printf("Menu Principal\n\n"); printf("1.-Establecer mes de captura (mes actual es % )\n", &Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre); printf("2.-Captura de Ingresos\n"); printf("3.-Captura de gastos\n"); printf("4.-Mostrar lista de ingresos anual\n"); printf("5.-Mostrar lista de gastos anual\n"); printf("6.-Calculo de impuestos anual\n"); printf("7.-Salir\n\n"); scanf("%i", &op); fflush(stdin); system("cls"); switch (op){ int op; case 1: printf("Establece el mes de Captura.\n\n"); printf("1) Enero\n"); printf("2) Febrero\n"); printf("3) Marzo\n"); printf("4) Abril\n"); printf("5) Mayo\n"); printf("6) Junio\n"); printf("7) Julio\n"); printf("8) Agosto\n"); printf("9) Septiembre\n"); printf("10) Octubre\n"); printf("11) Noviembre\n"); printf("12) Diciembre\n\n"); printf("Elige el mes (1-12): \n"); scanf("%i", &op); printf("Se ha establecido el mes de captura en % ", Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre); switch (op) { case 1: printf("Enero\n"); break; case 2: printf("Febrero\n"); break; case 3: printf("Marzo\n"); break; case 4: printf("Abril\n"); break; case 5: printf("Mayo\n"); break; case 6: printf("Junio\n"); break; case 7: printf("Julio\n"); break; case 8: printf("Agosto\n"); break; case 9: printf("Septiembre\n"); break; case 10: printf("Octubre\n"); break; case 11: printf("Noviembre\n"); break; case 12: printf("Diciembre\n"); break; default: printf("Mes seleccionado invalido\n"); return 0; } system("pause"); system("cls"); break; case 2: printf("Calculo de impuestos anual\n\n"); printf("Menu Principal\n\n"); printf("1.-Establecer mes de captura %c\n", &Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre ); printf("2.-Captura de Ingresos\n"); printf("3.-Captura de gastos\n"); printf("4.-Mostrar lista de ingresos anual\n"); printf("5.-Mostrar lista de gastos anual\n"); printf("6.-Calculo de impuestos anual\n"); printf("7.-Salir\n"); printf("\nOpcion: "); scanf("%i", &op); fflush(stdin); system("cls"); printf("Captura de Ingresos\n"); printf("Dame el ingreso del mes %c : \n"); scanf("%f", &ingresos); fflush(stdin); system("pause"); system("cls"); break; case 3: printf("Calculo de impuestos anual\n\n"); printf("Menu Principal\n\n"); printf("1.-Establecer mes de captura %c\n", &Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre); printf("2.-Captura de Ingresos\n"); printf("3.-Captura de gastos\n"); printf("4.-Mostrar lista de ingresos anual\n"); printf("5.-Mostrar lista de gastos anual\n"); printf("6.-Calculo de impuestos anual\n"); printf("7.-Salir\n"); printf("\nOpcion: "); scanf("%i", &op); fflush(stdin); system("cls"); printf("Captura de gastos\n"); printf("Dame el ingreso del mes de %c : \n"); scanf("%f", &gastos); fflush(stdin); system("pause"); system("cls"); break; case 4: printf("Mostrar lista de ingresos anuales.\n\n"); printf("Enero = %f\n", ingresos); printf("Febrero = %f\n", ingresos); printf("Marzo = %f\n", ingresos); printf("Abril = %f\n", ingresos); printf("Mayo = %f\n", ingresos); printf("Junio = %f\n", ingresos); printf("Julio = %f\n", ingresos); printf("Agosto = %f\n", ingresos); printf("Septiembre = %f\n", ingresos); printf("Octubre = %f\n", ingresos); printf("Noviembre = %f\n", ingresos); printf("Diciembre = %f\n", ingresos); system("pause"); system("cls"); break; case 5: printf("Mostrar lista de gastos anuales.\n\n"); printf("Enero = %f\n", gastos); printf("Febrero = %f\n", gastos); printf("Marzo = %f\n", gastos); printf("Abril = %f\n", gastos); printf("Mayo = %f\n", gastos); printf("Junio = %f\n", gastos); printf("Julio = %f\n", gastos); printf("Agosto = %f\n", gastos); printf("Septiembre = %f\n", gastos); printf("Octubre = %f\n", gastos); printf("Noviembre = %f\n", gastos); printf("Diciembre = %f\n", gastos); system("pause"); system("cls"); break; case 6: printf("Calculo de impuestos anuales\n\n"); printf("***Tabla de Ingresos y Retenciones***\n\n"); printf("Ingresos %f \n", ingresos); resultado = ingresos * IVA; printf("(+) IVA %i\n", IVA); printf("(=) Subtotal %i\n"); printf("(-) Retencion ISR %i\n", RetencionISR); printf("(-) Retencion IVA %i\n", RetencionIVA); printf("(=) Total %i\n\n", resultado); printf("***Tabla de Ganancias***\n\n"); printf("Ingresos %f\n"); printf("(-) Gastos %f\n", gastos); printf("(=) Ganancia Bruta %f\n", GananciaBruta); printf("(-) ISR 20.00%% %f\n", ISR); printf("(=) Ganancia Neta %f\n"); printf("***Tabla ISR***\n\n"); printf("ISR 20.00%% %f\n"); printf("(-) ISR retenido %i\n", RetencionISR); printf("(=) ISR a pagar %i\n"); printf("***Tabla IVA***\n\n"); printf("IVA %f\n", IVA); printf("(-) Gastos IVA %f\n", gastos); printf("(-) Retencion IVA %i\n", RetencionIVA); printf("(=) IVA a pagar\n"); system("pause"); system("cls"); case 7: default: printf("Presione Enter Para Salir"); } } while (op != 7); return 0; } Título: Re: Ayuda con menu en C Publicado por: rir3760 en 15 Marzo 2015, 01:17 am Lo primero que debes hacer, si no tienes uno, es conseguir un curso o libro de calidad. Recomendaciones sobre ellos las puedes consultar mediante el motor de búsqueda de los foros.
Segundo, evita el uso de fflush(stdin), las razones de ello en el tema |Lo que no hay que hacer en C/C++. Nivel basico| (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html). Por ultimo para imprimir la cadena correspondiente al mes con este como un entero en el rango [1, 12] debes utilizar un array que almacene esas cadenas utilizando al mes como indice. Para explicarlo mejor un programa de ejemplo: Código
Sin embargo si apenas empiezas con C ese tipo de programas deberías dejarlos para mas adelante cuando veas el tema de arrays y punteros. Un saludo |