Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: dubi332000 en 27 Julio 2012, 21:36 pm



Título: ayuda error compilacion #include<iostream.h>
Publicado por: dubi332000 en 27 Julio 2012, 21:36 pm
necesito ayuda con un programa basico de calculo de sueldo, me tira un error de compilacion y no me lo ejecuta aca esta el codigo agradeceria cualquier ayuda.


#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>


void menu(int*);
void cargalote(int*);
  int ca,cb,cc,a,b,c,opcion,promsueldo,nlegajo,;
    int I,i,h,cat,vem[3],ant,vms[3],catms;
    int sueldobruto;
    int horas,x,antigue,j,y,ulega,M[100][6];
    M[100][1]=0;
      char usuario[30],vt[7][3];
    char password[30];
   
    int main()
    {
 
   

    do
    {
         printf("Usuario: ");
         gets(usuario);
         printf("Contrase%ca: ",164);
          gets(password);
          x=strcmp(usuario,"dubi332000");
          y=strcmp(password,"dubi332000");
         system("cls");
         if((x==0)&&(y==0))
         {
                           menu(&opcion);
   
   
   while(opcion !=2)
                           {      switch(opcion)
                                        {
                                                      case 0:
                                       system("cls");
                                          printf("ingrese nº de legajo");
                                          scanf("%d",&nlegajo);
                                          cargalote(&nlegajo);
                                          break;

   
                                                      case 1: for(I=1;I<=ulega;I++)
                                                    {
   printf("el empleado  %d  de cat %d    tuvo un neto de  $   %d   \n",M[1],M[2],M[5]);
   break;
}
 menu(&opcion);
getch();}



 
void menu(int* opcion)
{
     
     printf("\n\nBienvenido al menu\n");
     printf("Elija la opcion que desea de las siguientes\n");
     printf("0.Cargar datos\n");
     printf("1.imprecion de datos cargado \n");
     printf("2.Salir \n");
     printf("\nIngrese la opcion que desea realizar? \n");
     scanf("%d",opcion);
}


void cargalote(int* nlegajo)
{
   while(nlegajo !=0)
   {    
   
   printf("ingrese categoria 1=A, 2=B ,3=c ");
   scanf ("%d",&cat);
   
   printf("ingrese antiguedad");
   scanf("%d",&ant);

   printf("ingrese horas trabajadas");
   scanf("%d",&horas);
   
   ulega=ulega+1;
              
     for (I=1;I<=6;I++)
       {
       switch (I)
       {
       case 1: M[ulega]=nlegajo;//numero de legajo en la matriz
        break;
      case 2:M[ulega]=cat;//categoria a la que pertenece
        break;
      case 3:M[ulega]=antigue;//antiguedad de la persona
        break;
      case 4:M[ulega]=horas;//horas extras trabajadas
      break;
      case 5: switch (cat)
{
      case 1:aux=600; aux1=50;
      case 2:aux=800; aux1=40;
      case 3:aux=1200; aux1=30;
                       extras=((aux+aux1)/180)*horas;
                       bruto=aux+(aux1*ant)
                       neto=(bruto*100)/17;
                        M[ulega][5]=bruto;
                        M[ulega][6]=neto;                               //sueldo neto
                           if (vms[cat]< M[ulega][6])
                             {   vms[cat]=M[ulega][6];
                                    catms=cat;
               
                                 promsueldo=M[ulega][I+1]+promsueldo;
                                   vem[cat]=vem[cat]+1 ;
                                } //sueldo bruto obtenido
       
       
       
        printf("ingrese nº de legajo");
   scanf("%d",&nlegajo);}
}}
   


Título: Re: ayuda error compilacion #include<iostream.h>
Publicado por: durasno en 27 Julio 2012, 22:19 pm
Hola! primero que nada antes de postiar un codigo estaria bueno que revises el programa y veas los posibles errores que puede tener (no digas: "uhh no me anda, subo el codigo y q me lo arreglen", a muchos les caeria mal ya que son errores muy simples)

Te marco algunos errores:

1º En el main abris muchas llaves pero no cerras todas

2º En cargalote() usas varias variables pero a muchas no la declaras

3º En algunas partes del codigo pareciera que sabes usar las matrices pero en el for-switch dice todo lo contrario(tenes que usar los dos subindices M[][]). Ademas revisa bien que es lo que hace ese for-switch, ¿estas seguro que queres usar ulega solo como subindice?
En el switch del case 5, ¿¿te olvidaste los break??

Código
  1. void cargalote(int* nlegajo)
  2. {
  3.   while(nlegajo !=0)
  4.   {    
Si vas a pasar nlegajo por pseudoreferencia, tenes que usar *(indireccion) para acceder al contenido de esa variable. Seria:
Código
  1. void cargalote(int* nlegajo)
  2. {
  3.   while(*nlegajo !=0) // *nlegajo: el contenido de nlegajo
  4.   {    
y asi en todos los casos que usas nlegajo


Saludos

PD: usa las Geshi para postiar codigo


Título: Re: ayuda error compilacion #include<iostream.h>
Publicado por: Queta en 28 Julio 2012, 23:20 pm
Añado que iostream.h está obsoleto, quítale el .h final.