C/Visual C - Ayuda con menu

 
Vista:
sin imagen de perfil

Ayuda con menu

Publicado por Alejandro (3 intervenciones) el 08/04/2016 12:38:55
Buenos dias.Gracias por darme la oportunidad de pertenecer al foro.Mi consulta es la siguiente:Estoy haciendo una calculadora en C con el compilador codeblocks.Tengo un menu generado con un switch y la opcion 1 pide ingresar el primer numero para el calculo y la opcion 2 ingresar el segundo.El problema es que luego de seleccionar el primer numero.la ventana se me cierra y no me deja seleccionar el segundo.Adjunto el codigo y espero me puedan ayudar.Gracias!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <stdio.h>
#include <stdlib.h>
#include "funciones.h"
 
int main()
{
    char seguir='s';
    int opcion=0;
    float num1=0,num2=0,resultado=0;
    while(seguir=='s')
    {
        printf("1- Ingresar 1er operando (A=x)\n");
        printf("2- Ingresar 2do operando (B=y)\n");
        printf("3- Calcular la suma (A+B)\n");
        printf("4- Calcular la resta (A-B)\n");
        printf("5- Calcular la division (A/B)\n");
        printf("6- Calcular la multiplicacion (A*B)\n");
        printf("7- Calcular el factorial (A!)\n");
        printf("8- Calcular todas las operacione\n");
        printf("9- Salir\n");
 
        scanf("%d",&opcion);
 
        switch(opcion)
        {
            case 1:
                    printf("Ingrese el primer operando: ");
                    scanf("%f",&num1);
                    printf("Primer operando: %f",num1);
                break;
            case 2:
                    printf("Ingrese el segundo operando: ");
                    scanf("%f",&num2);
                    printf("Segundo operando: %f",num2);
 
                break;
            case 3:
                    printf("la suma de los numeros es: ",suma(num1,num2));
                break;
            case 4:
                    printf("la resta de los numeros es: ",resta(num1,num2));
                break;
            case 5:
                    while(num2==0)
                    {
                    printf("El divisor no puede ser 0.Reingrese");
                    scanf("%f",&num2);
                    }
                    printf("La division de los numeros es: ",division(num1,num2));
                break;
            case 6:
                    printf("La multiplicacion de los numeros es: ",multiplicacion(num1,num2));
                break;
            case 7:
                    while (num1<0)
                    {
                     printf("No se puede calcular el factorial de un numero negativo.Reingrese");
                     scanf("%f",&num1);
                    }
                    printf("El factorial del numero ingresado es: ",factorial(num1));
 
                break;
            case 8:
                printf("la suma de los numeros es: ",suma(num1,num2));
                printf("la resta de los numeros es: ",resta(num1,num2));
                printf("La division de los numeros es: ",division(num1,num2));
                printf("La multiplicacion de los numeros es: ",multiplicacion(num1,num2));
                printf("El factorial del numero ingresado es: ",factorial(num1));
 
                break;
            case 9:
                seguir = 'n';
                break;
        }
 
 
    return 0;
   }
 
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con menu

Publicado por Chema (234 intervenciones) el 08/04/2016 16:44:38
return 0; debe estar en el siguiente bloque, fuera del while.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda con menu

Publicado por Alejandro (3 intervenciones) el 08/04/2016 16:51:16
Gracias.Era una tonteria,pero estoy aprendiendo recien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con menu

Publicado por Gustavo Cárdenas (3 intervenciones) el 08/04/2016 16:56:01
Alejandro porque no pides los dos numero en la misma linea así te ahorras de poner otro "case" y porque no cambias el "case 9" por un
if ( op!=9) system("pause"); en tu caso.
Espero que te sirva suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda con menu

Publicado por Alejandro (3 intervenciones) el 08/04/2016 16:57:39
pensaba hacerlo asi,pero mi profesor me dio este prototipo de menu y me pide que ponga los 2 numeros por separado,asi que no me quedo otra manera de hacerlo asi.Gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar