Ayuda por favor. C++

Iniciado por herrklaus, 5 Junio 2016, 05:57 AM

0 Miembros y 1 Visitante están viendo este tema.

herrklaus

Código (cpp) [Seleccionar]
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#define tam 1000
using namespace std;
void menu();
void agregar();
void modificar();
void planilla();
void eliminar();
int salir();
int b=0, j=0, op=0, codigo[1000], codax=0, codb=0, cont=0, resultado=0;
double sueldo[1000], isss[1000], renta[1000], sum[1000], sal[1000], afp[1000], sar[1000];
char nombre[tam];
main(){
menu();
system("pause");
return 0;
}
void menu(){
cout<<"*** MENU ***"<<endl;
cout<<"[1] Agregar."<<endl;
cout<<"[2] Modificar."<<endl;
cout<<"[3] Mostrar planilla de empleado."<<endl;
cout<<"[4] Eliminar."<<endl;
cout<<"[5] Salir."<<endl;
cin>>op;
switch(op){
case 1:
agregar();
break;
case 2:
modificar();
break;
case 3:
planilla();
break;
case 4:
eliminar();
break;
case 5:
salir();
break;
default:
cout<<"Opcion erronea.";
return menu();
break;
}
}
void agregar(){
cout<<"Ingrese codigo: "<<endl;
cin>>codax;
cont++;
if(codax>9999){
cout<<"Codigo ERRONEO. Ingrese nuevamente."<<endl;
return agregar();
}
else{
if(codax==codigo[j]){
   cout<<"El codigo de empleado ya ha sido ingresado."<<endl;
   j--;
   cont--;
   return agregar();
   }
   if(codax!=codigo[j]){
   codigo[j]=codax;
       cout<<"Ingrese nombre del empleado: "<<endl;
       cin.get(nombre[j], sizeof (nombre[0]), '\n');
       cin.get();
       cout<<"Ingrese sueldo mensual del empleado:"<<endl;
       cin>>sueldo[j];
       j++;
   }
   }
system("cls");
cout<<"EMPLEADO AGREGADO"<<endl;
return menu();
}
void modificar(){
cout<<"Ingrese codigo a buscar: "<<endl;
cin>>codb;
if(codb>0 and codb<=9999){
for(j=0;j<=cont;j++){
   if(codigo[j]==codb){
   b=j;
    cout<<"datos actuales \n";
               cout<<"nombre :"<<nombre[j]<<"\n";
               cout<<"sueldo :"<<sueldo[j]<<"\n";
               cout<<"DIGITE OPCION \n\n";
               cout<<"1 CAMBIAR NOMBRE             2 CAMBIAR SUELDO \n\n";
               cin>>b;
               if(b==1){
                   cout<<"DATOS A ACTUALIZAR \n";
                   cout<<"nombre :"<<nombre[j]<<"\n\n";
                   cin.get();
               cout<<"digite nombre \n";
                   cin.get(nombre[j], sizeof (nombre[0]), '\n');
//                nombre[j]=cad;
               }
               if(b==2){
                   cout<<"DATOS A ACTUALIZAR \n";
                   cout<<"sueldo :"<<sueldo[j]<<"\n";                  
               cout<<"digite el sueldo del empleado \n";
               cin>>sueldo[j];
               }
               if(b!=1 && b!=2){
                   cout<<"ERROR EN OPCION DE MEJORA";
               }                
           resultado=1;
}  
       }
       if(resultado == 0) {
           cout <<"No resultados"<< endl;
}  
}
return menu();
}
void planilla(){
int i=0;
for(i=1; i<cont; i++)
   for(j=0;j<cont-i;j++)
   if(strcmp (nombre[j],nombre[j+1])>0){
       strcpy (nombre, nombre[j][i]);
       strcpy (nombre[j], nombre[j+1][i]);
       strcpy (nombre[j+1], nombre);
  }
  for(i=0;i<=cont;i++){
       for(int i=0;i<cont;i++){
           cout<<"\n";
           cout<<codigo[i]<<": "<<nombre[i]<<"\n\n";
           cout<<"sueldo :$ "<<sueldo[i]<<"\n";
           isss[i]=sueldo[i]*0.03;
           afp[i]=sueldo[i]*0.0625;
           sar[i]=sueldo[i]-isss[i]-afp[i];
           if(sar[i]<=500){
               renta[i]=0;
           }
           else{
   if(sar[i]>500 && sar[i]<=1000){
                   renta[i]=sar[i]*0.10;
               }
               else{
       if(sar[i]>1000){
                       renta[i]=sar[i]*0.20;
                   }
               }
           }
           cout<<"el sueldo sin descuentos es de:$ "<<sueldo[i]<<"\n";
           sum[i]=isss[i]+afp[i];
           cout<<"la suma de descuentos de ISSS Y AFP es de :$ "<<sum[i]<<"\n";
           cout<<"el salario antes de declarar renta es de :$ "<<sar[i]<<"\n";
           sal[i]=sar[i]-renta[i];
           cout<<"el pago de renta es :"<<renta[i]<<"\n\n";
           cout<<"el salario final del empleado es :$ "<<sal[i]<<"\n\n\n";
       }
  }
}
void eliminar(){
   cout<<"DIGITE NUMERO DE CODIGO DEL EMPLEADO AL QUE DESEA ELIMINAR \n";
   cin>>codb;
   if(codb>9999){
       cout<<"Ingrese codigo nuevamente."<<endl;
       return eliminar();
}else{
for(j=0;j<cont;j++){
           if(codigo[j]==codb){
               codb=1;
               break;
           }
       }
       for(j=codb;j<cont;j++){
           codigo[j]=codigo[j+1];
           nombre[j]=nombre[j+1];
           sal[j]=sal[j+1];
       }
cont--;
}
}
int salir(){
system("pause");
return 0;
}



:-( :-( :-( :-(
Me da estos errores:



engel lex

el código lo hiciste tu?
para que usas conio?
estas usando librerías en formato de c en c++
hay muchas cosas sin sentido (ej los primeros strcpy) seria bueno que comentaras tu código a ver cual era la intención de ciertas secciones 
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

herrklaus

 :o
en serio?
Haha el profe nos engaño e.e
Bueno, el problema que tengo es que no ordena los nombres. Investigue y encontré que con strc se podía...

engel lex

en ese caso tu mayor problema es que nombre es un array unidimensional, es decir, puede contener cadenas (palabras) tu necesitas que sea bidimensional...

no creo que el profesor los engañara... creo que no entendiste la clase
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

herrklaus

ok
voy a seguir intentando
(y no, el profe no nos enseño eso)