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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ayuda, para mostrar estrucutra de datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda, para mostrar estrucutra de datos  (Leído 4,405 veces)
Panic0

Desconectado Desconectado

Mensajes: 218



Ver Perfil
Ayuda, para mostrar estrucutra de datos
« en: 11 Octubre 2022, 02:24 am »

Hola, estoy trabajando en un programa en c++, en el cual tengo una estructura de datos

Tengo este código
Código:
#include <iostream>
#include <conio.h>
#include <string>


using namespace std;

#define MAX_empleados 100
#define clear system("cls")
#define pause cout << "<ENTER>";getch();

struct empleados
{
    int id_empleado;
    string nombre;
    string apellido;
    int edad;
    int sueldo;
};


int main()
    {
        empleados empleado[MAX_empleados];

        int nro_empleado = 1;
        int cant_empleados = 0;
        int op;

        bool termine = false;
       
        char respuesta;
       
        string nom_empleado, ape_empleado;
        int edad_empleado, sueldo_empleado;

        while (true)
            {
                clear;
                cout << "1: Alta Empleado" << endl;
                cout << "2: Consulta de Empleado"<< endl;
                cout << "3: Listado de Empleados"<< endl;
                cout << "0: Salir"<< endl << "> ";
                cout << "El valor de la variable cant_empleados es " << cant_empleados<< endl;
                cin >> op;
                if(op == 0){
                    cout << "Gracias por usar!";
                    break;
                } 
                switch (op)
                {
               

                case 1:
                    clear;
                    cin.ignore();
                   
                    cout <<"Nombre del empleado   : "; getline(cin, nom_empleado);
                    cout <<"Apellido del empleado : "; getline(cin,ape_empleado);
                    cout <<"Ingrese su edad     : ";cin >> edad_empleado;
                    cout <<"Ingrese su Salario     : ";cin >> sueldo_empleado;
                    cin.ignore();
                    cout <<"\n";
                    clear;
                    cout << "empleado a ingresar: "<<endl;
                    cout << "Nombre      : "<<nom_empleado<<endl;
                    cout << "Apellido    : "<<ape_empleado<<endl;
                    cout << "Edad        : "<<edad_empleado<<endl;
                    cout << "Salario     : "<<sueldo_empleado<<endl;
                    cout << "\n";
                    cout << "Quiere ingresar este Empleado ? (s/n) ";cin >> respuesta;
                    cin.ignore();
                    respuesta = toupper(respuesta);
                    if (respuesta == 'S')
                        {
                           
                            cant_empleados++;
                            empleado[nro_empleado].id_empleado  = nro_empleado;
                            empleado[nro_empleado].nombre       = nom_empleado;
                            empleado[nro_empleado].apellido     = ape_empleado;
                            empleado[nro_empleado].edad         = edad_empleado;
                            empleado[nro_empleado].sueldo       = sueldo_empleado;
                        }   
                                   
               
                case 2:
                    break;
               
                case 3:
                    if(cant_empleados >= 1){
                        clear;
                        cout << "   Datos de empleados ingresados"  << endl <<  "Total de Empleados:"<<cant_empleados<<endl;
                        for (int nro = 0; nro <=cant_empleados;nro++)
                            {
                                cout << "   Nombre   : "<<empleado[nro].nombre<<endl;
                                cout << "   Apellido : "<<empleado[nro].apellido<<endl;
                                cout << "   Edad     : "<<empleado[nro].edad<<endl;
                                cout << "   Salario  : "<<empleado[nro].sueldo<<endl;
                                cout <<"--------------------"<<endl;
                       
                        pause;
                        break;
                    }
                }

                default:
                    break;
                }
               
            }
       
        return 0;
    }

Tengo listas la función de agregar, pero al momento de mostrar lo agregado, no me lo muestra, alguien tiene idea de lo que puede ser?


En línea

Los ataques de pánico suelen comenzar de forma súbita, sin advertencia.
K-YreX


Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Ayuda, para mostrar estrucutra de datos
« Respuesta #1 en: 24 Octubre 2022, 17:43 pm »

Por un lado, hay un foro específico para C/C++... :silbar:

Y por otro, varias cosas:
  • Estás empezando a guardar empleados en el índice 1 y el primero es el índice 0.
  • El 'break' del case 3 está dentro del for() por lo que intenta mostrar el elemento 0, que está vacío porque guardaste en el 1 y sale del for() con el break, llega al default porque el break no estaba donde tenía que estar, vuelve al principio del 'while (true)', se ejecuta el 'clear' y por tanto "oh vaya, pestañeaste y te lo perdiste  :P"

PD: En vez de usar 'getch()' de la librería <conio.h> (que no es una librería estándar), usa 'cin.get()' de <iostream>... :rolleyes: :rolleyes:


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
obtener los datos de com1 para mostrar en pantalla
Programación Visual Basic
tobu 4 4,480 Último mensaje 18 Junio 2009, 20:52 pm
por ssccaann43 ©
Ayuda urgente mostrar datos de un formulario a otro
Ejercicios
zenydark 0 3,305 Último mensaje 6 Julio 2010, 07:24 am
por zenydark
ayuda a mostrar datos tabla
PHP
General Dmitry Vergadoski 4 2,386 Último mensaje 8 Julio 2013, 21:30 pm
por General Dmitry Vergadoski
Ayuda! ¿Cómo mostrar los datos de varios archivos en java?
Dudas Generales
cris4537 0 2,983 Último mensaje 12 Septiembre 2016, 02:20 am
por cris4537
Ayuda con JOptionPane mostrar datos en una única ventana.
Java
rubia28 2 4,373 Último mensaje 10 Diciembre 2020, 17:14 pm
por rubia28
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines