elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con menu en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con menu en C  (Leído 1,252 veces)
jona_vip

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con menu en C
« 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;
}


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Ayuda con menu en C
« Respuesta #1 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|.

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
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void)
  5. {
  6.   char *mes[] = {
  7.      NULL,
  8.      "Enero",
  9.      "Febrero",
  10.      "Marzo",
  11.      "Abril",
  12.      "Mayo",
  13.      "Junio",
  14.      "Julio",
  15.      "Agosto",
  16.      "Septiembre",
  17.      "Octubre",
  18.      "Noviembre",
  19.      "Diciembre"
  20.   };
  21.   int num;
  22.  
  23.   puts("Introduce el mes (1 .. 12):");
  24.   if (scanf("%d", &num) == 1 && num >= 1 && num <= 12)
  25.      printf("El mes no %d es %s\n", num, mes[num]);
  26.  
  27.   return EXIT_SUCCESS;
  28. }

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


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
DVD sin menu... (ayuda)
Multimedia
g-unit 3 2,089 Último mensaje 1 Septiembre 2005, 14:14 pm
por g-unit
ayuda con menu
Programación Visual Basic
bautistasbr 4 1,299 Último mensaje 10 Marzo 2006, 21:23 pm
por bautistasbr
como lleno los datos que tiene un menu a otro menu vacio, en asp.net c#
.NET (C#, VB.NET, ASP)
ivan05f 2 3,586 Último mensaje 8 Noviembre 2007, 18:58 pm
por ivan05f
Restaura el menú inicio en Windows 8 con Start Menu Reviver
Noticias
wolfbcn 0 2,078 Último mensaje 19 Mayo 2013, 13:38 pm
por wolfbcn
Menú de usuario en Windows 8.1 y olvida el menú de inicio
Noticias
wolfbcn 0 1,620 Último mensaje 23 Septiembre 2014, 14:00 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines