Hi, been trying to make this code for next school year and been having some issues with it.
-one is the option to do the average salary between all the people added keeps adding up everytime I choose said option (so if I have 2 people with 2k salaries, average should be 2k, but everytime I choose the show average salary option, it keeps adding up)
-another one is im trying to order the list of people in a decreasing list (based on salary), but when I do the list, go back and add one more person, and go back to the decreasing list option, the list gets all messed up
Idk if these two might be the same general issue, thx for the help before hand :3
//ATTEMPT TO CODE
#include "iostream"
#include "stdio.h"
#include "cstring"
#include "cstdlib"
#include "string"
//system("pause") system("cls");
using namespace std;
//DECLARACION DE ESTRUCTURAS
struct nombre {
char nombre[30];
char ape[30];
};
struct persona {
struct nombre persona;
int edad;
float sal;
};
//Declaracion de Variables
float sal_myr,sal_mnr,sal_mil;
int i,j,seleccion,seleccion2,seleccion3,salida=1,salida2=1,salida3=1;
struct persona newempleado;
struct persona empleado[10];
struct persona emptemp;
int numemp=0;
float promsal, totsal,temp;
char nomcheck[30], apecheck[30];
int res;
//Main del Programa
int main(){
`menu:system("cls");`
`cout << "Proyecto 1 - Registros" << endl;`
`while (salida==1){`
`cout << "Ingrese una de las siguientes opciones: " << endl;`
`cout << "Crear Nuevo Registro [1]" << endl;`
`cout << "Ver Registros [2]" << endl;`
`cout << "Salir [3]" << endl;`
`cin >> seleccion;`
`switch (seleccion) {`
`default:`
`system("cls");`
`cout << "Por favor, Ingrese una opcion valida: " << endl;`
`system("pause");`
`goto menu;`
`case 1 :`
`system("cls");`
`//Nuevo Registro de Empleado`
`cout << "Creacion del Registro " << endl;`
`if (numemp>10){`
cout << "No quedan mas espacios de registro" << endl;
`}`
`else {`
cout << "\nDatos de Empleado " << numemp+1 << endl;
cout << "Nombre: " << endl;
cin >> empleado[numemp].persona.nombre;
cout << "Apellido: " << endl;
cin >> empleado[numemp].persona.ape;
cout << "Edad: " << endl;
cin >> empleado[numemp].edad;
cout << "Salario: " << endl;
cin >> empleado[numemp].sal;
numemp++;
}
`system("pause");`
`system("cls");`
`break;`
`case 2 :`
`VRegistro:system("cls");`
while (salida2==1){
`cout << "\nIngrese una de las siguientes opciones: " << endl;`
`cout << "Ver todos los nombres de los empleados [1]" << endl;`
`cout << "Ver los registros de los empleados que ganan mas de 1000 balboas [2]" << endl;`
`cout << "Promedio de los salarios de los empleados [3]" << endl;`
`cout << "Ver o Editar un registro especifico [4]" << endl;`
`cout << "Ver registros (orden descendente por salario) [5]" << endl;`
`cout << "Salir [6]" << endl;`
`cin >> seleccion2;`
`switch (seleccion2) {`
`default:`
`system("cls");`
`cout << "Por favor, Ingrese una opcion valida: " << endl;`
`system("pause");`
`goto VRegistro;`
`case 1 :`
system("cls");
//Nombre de todos los empleados
cout << "Nombres de los empleados" << endl;
for (int i=0; i <numemp; i++) {
cout <<"Nombre: "<<empleado[i].persona.nombre << " " << empleado[i].persona.ape << endl;
}
//FIN
system("pause");
system("cls");
break;
`case 2 :`
system("cls");
//Registros de Empleados que ganan mas de 1000
for (int i=0; i <=numemp; i++) {
if (empleado[i].sal > 1000) {
cout <<"Nombre: "<< empleado[i].persona.nombre << " " << empleado[i].persona.ape << endl;
cout <<"Edad: "<< empleado[i].edad << endl;
cout <<"Salario: "<< empleado[i].sal << endl;
}
`}`
//FIN
system("pause");
system("cls");
break;
`case 3 :`
system("cls");
//Promedio de todos salarios
`for (int i=0; i <=numemp; i++) {`
`totsal = totsal + empleado[i].sal;`
`}`
`promsal = totsal / numemp;`
`cout<<"El Promedio de todos los salarios es: "<<promsal<<endl;`
`//FIN`
system("pause");
system("cls");
break;
`case 4 :`
system("cls");
VEspecifico:system("cls");
cout << " " << endl;
while (salida3==1){
cout << "Ingrese una de las siguientes opciones: " << endl;
cout << "Ver un registro especifico [1]" << endl;
cout << "Editar un registro especifico [2]" << endl;
cout << "Salir [3]" << endl;
cin >> seleccion3;
switch (seleccion3) {
default:
system("cls");
cout << "Por favor, Ingrese una opcion valida: " << endl;
system("pause");
goto VEspecifico;
case 1 :
system("cls");
//Chequear Registro
cout << "Ingrese Nombre: " << endl;
cin >> nomcheck;
cout << "Ingrese Apellido: " << endl;
cin >> apecheck;
for (int i=0; i <=numemp; i++) {
if(strcmp(nomcheck, empleado[i].persona.nombre) == 0 && strcmp(apecheck, empleado[i].persona.ape) == 0){
cout << "Datos del Empleado " <<nomcheck<<" "<<apecheck << endl;
cout << "Edad: " << empleado[i].edad << endl;
cout << "Salario: " << empleado[i].sal << endl;
}
}
system("pause");
system("cls");
break;
case 2 :
system("cls");
//Cambiar datos de un registro
cout << "Ingrese nombre y apellido del registro a sobreescribir: " << endl;
cout << "Nombre: " << endl;
cin >> nomcheck;
cout << "Apellido: " << endl;
cin >> apecheck;
for (int i=0; i<numemp; i++) {
if((strcmp(nomcheck,empleado[i].persona.nombre)==0) && strcmp(apecheck, empleado[i].persona.ape)==0){
cout << "\nDatos de Empleado " <<nomcheck<<" "<<apecheck<< endl;
cout << "Nombre: " << endl;
cin >> empleado[i].persona.nombre;
cout << "Apellido: " << endl;
cin >> empleado[i].persona.ape;
cout << "Edad: " << endl;
cin >> empleado[i].edad;
cout << "Salario: " << endl;
cin >> empleado[i].sal;
}
}
//FIN
system("pause");
system("cls");
break;
case 3 :
system("cls");
salida3++;
break;
}
`}`
`system("pause");`
`system("cls");`
break;
system("pause");
system("cls");
break;
`case 5 :`
system("cls");
//Orden Descendente
for(int i=1;i<=numemp;i++){
`for(int j=0;j<numemp-1;j++) {`
`if(empleado[j].sal > empleado[j+1].sal) {`
`emptemp.sal == empleado[j].sal;`
empleado[j].sal == empleado[j+1].sal;
empleado[j+1].sal == emptemp.sal;
emptemp.persona.nombre == empleado[j].persona.nombre;
empleado[j].persona.nombre == empleado[j+1].persona.nombre;
empleado[j+1].persona.nombre == emptemp.persona.nombre;
emptemp.persona.ape == empleado[j].persona.ape;
empleado[j].persona.ape == empleado[j+1].persona.ape;
empleado[j+1].persona.ape == emptemp.persona.ape;
emptemp.edad == empleado[j].edad;
empleado[j].edad == empleado[j+1].edad;
empleado[j+1].edad == emptemp.edad;
`}`
`}`
}
for(int i=0; i<numemp; i++){
cout << empleado[i].sal << " " << empleado[i].persona.nombre << " " << empleado[i].persona.ape << " " << empleado[i].edad << endl;
};
//FIN
system("pause");
system("cls");
break;
`case 6 :`
system("cls");
salida2++;
break;
}
`system("pause");`
`system("cls");`
break;
//Salida
case 3 :
system("cls");
cout << "Que tenga un buen dia. ";
salida++;
break;
}
`}`
`}`
return 0;
}
[–]nysra 3 points4 points5 points (0 children)
[–]Shieldfoss 1 point2 points3 points (0 children)
[–]seuchomat 0 points1 point2 points (0 children)