Dev - C++ - Problema con ciclos switch

 
Vista:
Imágen de perfil de Den
Val: 24
Ha aumentado su posición en 8 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema con ciclos switch

Publicado por Den (9 intervenciones) el 01/05/2021 04:07:26
Buenas tardes, estoy teniendo un problema con mis ciclos en switch, al escoger una opción en mi segundo menú me imprime "sh: 1: pause: not found". ¿Cómo puedo arreglar esto? Cuando pongo los menús por separado no me pasa eso.

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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <iostream>
#include <stdlib.h>
#include <istream>
#include "conio.h"
#include <cstdlib>
 
using namespace std;
 
int a, b, codigo, producto1;
float cantproducto1, cantproducto2, cantproducto3, cantproducto4, cantproducto5, precio1 = 100, precio2 = 110, precio3 = 200, precio4 = 340, precio5 = 40, subtotal, iva, total;
 
int main()
{
    cout << "BIENVENIDO AL SIMULADOR DE COMPRAS" << endl;
    char option;
    do {
        int a;
 
        cout << "1- Comprar \n";
        cout << "2- Cancelar producto \n";
        cout << "3- Imprimir ticket de venta \n";
        cout << "4- salir \n \n";
        std::cout << "OPCION (1-4): ";
        std::cin >> a;
 
        switch (a) {
 
        case 1: cout << "Comprar \n";
            cout << "1- producto 1 \n";
            cout << "2- producto 2 \n";
            cout << "3- producto 3 \n";
            cout << "4- producto 4 \n";
            cout << "5- producto 5 \n";
            cout << "6- salir \n \n";
            std::cout << "OPCION (1-6): ";
            std::cin >> b;
            }
            break;
 
            switch (b) {
 
            case 1: cout << "Producto 1 \n";
                cout << "Ingrese la cantidad que desea comprar (hasta 10 items solo)" << endl;
                cin >> cantproducto1;
                if (cantproducto1 <= 10)
                {
                cout << "el precio unitario es" << endl;
                cout << (precio1) << endl;
                subtotal = (precio1 * cantproducto1);
                cout << "el precio por la cantidad de productos es" << endl;
                cout << (subtotal) << endl;
                codigo = 10000 + rand() % 20000;
                cout << "el codigo de su producto es" << endl;
                cout << (codigo) << endl;
                iva = (subtotal * 0.16);
                total = (subtotal + iva);
                cout << "el total (con iva incluido) es" << endl;
                cout << (total) << endl;
                break; }
 
            else(cantproducto1 >= 11); {
                cout << "permitidos solo de 1 a 10 elementos" << endl;
                return main(); }
            break;
 
            case 2: cout << "Producto 2 \n";
            cout << "Ingrese la cantidad que desea comprar (hasta 10 items solo)" << endl;
            cin >> cantproducto2;
            if (cantproducto2 <= 10) {
                cout << "el precio unitario es" << endl;
                cout << (precio2) << endl;
                subtotal = (precio2 * cantproducto2);
                cout << "el precio por la cantidad de productos es" << endl;
                cout << (subtotal) << endl;
                codigo = 20000 + rand() % 30000;
                cout << "el codigo de su producto es" << endl;
                cout << (codigo) << endl;
                iva = (subtotal * 0.16);
                total = (subtotal + iva);
                cout << "el total es" << endl;
                cout << (total) << endl;
                break; }
            else(cantproducto2 >= 11); {
                cout << "error, permitidos solo de 1 a 10 elementos" << endl;
                return main();  }
            break;
        }
 
     while (a !=6);
 
 
    system("pause");
 
    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
1
Responder
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problema con ciclos switch

Publicado por dario (718 intervenciones) el 01/05/2021 17:37:26
Hola, despues del else no va ninguna condicion. El condicional IF....ELSE es asi:

1
2
3
4
5
if (condicion)
   .........
   .........
else
   <sentencias>

Esta forma es incorrecta:

1
2
3
4
if (condicion)
   <sentencias>
else (condicion)
   <sentencias>

Borra todas las condicones que estan despues del else.

Salu2.
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