Dev - C++ - Ayudaaaa

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 6 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayudaaaa

Publicado por Carlos (1 intervención) el 02/05/2020 07:38:10
Ayúdenme por favor con este problema que me encargaron, pude hacerlo pero apenas me dieron 13/150 y debo subir ese puntaje.

Les dejo el archivo del código al final.

95206903_741779203230020_3002074512318529536_n
95482737_902666020198550_3519797012708982784_n
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
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayudaaaa

Publicado por Alfil (1444 intervenciones) el 02/05/2020 13:32:10
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <iostream>
 
using namespace std;
 
struct Cola
{
    int dato;
    Cola* ptrSiguiente;
};
 
typedef Cola *ptrNodoCola;
 
int estaVacia(ptrNodoCola ptrCabeza);
int retirar(ptrNodoCola *ptrCabeza, ptrNodoCola *ptrTalon);
void agregar(ptrNodoCola *ptrCabeza, ptrNodoCola *ptrTalon, int valor);
 
int main()
{
    ptrNodoCola ptrCabeza = NULL;
    ptrNodoCola ptrTalon = NULL;
    int N, t, tacosVendidos = 0, fila = 0;
    char opcion;
 
    cout << "\nNumero de operaciones: ";
    cin >> N;
 
    for (size_t i = 0; i < N; i++)
    {
        cout << "\n1.- Agregar fila, 2.- Atender, 3.- Clientes fila, 4.- Tacos vendidos: ";
        cin >> opcion;
 
        switch (opcion)
        {
            case '1':
                cout << "\nNuevo cliente en la fila";
                cout << "\nNumero de tacos: ";
                cin >> t;
                agregar(&ptrCabeza, &ptrTalon, t);
                fila++;
                break;
 
            case '2':
                if (!estaVacia(ptrCabeza))
                {
                    tacosVendidos += retirar(&ptrCabeza, &ptrTalon);
                    fila--;
                }
                else
                    cout << "\nLa fila esta vacia" << endl;
 
                break;
 
            case '3':
                cout << "\nClientes en la fila: " << fila << endl;
                break;
 
            case '4':
                cout << "\nTacos vendidos: " << tacosVendidos << endl;
                break;
 
            default:
                cout << "\n\nOPCION INCORRECTA" << endl;
                break;
 
        }
    }
 
    return EXIT_SUCCESS;
}
 
int estaVacia( ptrNodoCola ptrCabeza )
{
    return ptrCabeza == NULL;
}
 
void agregar( ptrNodoCola *ptrCabeza, ptrNodoCola *ptrTalon, int valor )
{
    ptrNodoCola ptrNuevo;
 
    ptrNuevo = new Cola;
 
    ptrNuevo->dato = valor;
    ptrNuevo->ptrSiguiente = NULL;
 
    if (estaVacia(*ptrCabeza))
        *ptrCabeza = ptrNuevo;
 
    else
        (*ptrTalon)->ptrSiguiente = ptrNuevo;
 
    *ptrTalon = ptrNuevo;
}
 
int retirar(ptrNodoCola *ptrCabeza, ptrNodoCola *ptrTalon)
{
    int valor;
    ptrNodoCola tempPtr;
 
    valor = (*ptrCabeza)->dato;
    tempPtr = *ptrCabeza;
    *ptrCabeza = (*ptrCabeza)->ptrSiguiente;
 
 
    if (*ptrCabeza == NULL)
        *ptrTalon = NULL;
 
    delete tempPtr;
 
    return valor;
}
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