Foros del Web » Programación para mayores de 30 ;) » C/C++ »

No Se Cual Es El Error Ayuda!

Estas en el tema de No Se Cual Es El Error Ayuda! en el foro de C/C++ en Foros del Web. NO SE CUAL ES EL ERROR, PORQUE NO ME COMPILA? AYUDA POR FAVOR.. EL COMPILADOR ME DICE QUE LAS VARIABLES DE LA FUNCION ORGANIZAR (AL ...
  #1 (permalink)  
Antiguo 31/05/2010, 12:37
 
Fecha de Ingreso: mayo-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
No Se Cual Es El Error Ayuda!

NO SE CUAL ES EL ERROR, PORQUE NO ME COMPILA? AYUDA POR FAVOR..
EL COMPILADOR ME DICE QUE LAS VARIABLES DE LA FUNCION ORGANIZAR (AL FINAL DEL PROGRAMA) NO HAN SIDO DECLARADAS :S


Código C++:
Ver original
  1. #include<stdio.h>  
  2. #include<conio.h>
  3. #include<stdlib.h>
  4. #include<iostream.h>
  5.  
  6. //Funciones
  7. int Menu();
  8. int Valide(int);
  9. void Crear();
  10. void Suprimir(int);
  11. void mostrar();
  12. void Organizar();
  13.  
  14. struct Lista
  15. {
  16.        float Codigo;
  17.        char Nombre[50];
  18.        int Articulos;
  19.        int Valoru;
  20.        Lista *sig;
  21. };
  22. Lista *Nodo,*N;
  23. int main(){
  24.     int cancel;
  25.     N=new Lista;
  26.     N->sig=NULL;
  27.     do{
  28.        cancel=Menu();
  29.     }while(cancel!=4);    
  30. }
  31. int Menu(){
  32.     int Cod,Opc=0;
  33.     char Nom[50];
  34.     do{
  35.        system("cls");
  36.        cout<<"\t\t\t\t..:::Menu:::..\n\n";
  37.        cout<<"1. Crear Empleado\n";
  38.        cout<<"2. Retirar Empleado\n";
  39.        cout<<"3. Mostrar\n";
  40.        cout<<"4. Finalizar\n";
  41.        cout<<"\n\nDigite el numero de item a escoger: ";cin>>Opc;
  42.     }while(Opc<0 || Opc>4);  
  43.    
  44.     switch(Opc){
  45.            case 1: Crear();break;
  46.            case 2: if(N->sig == NULL){
  47.                    cout<<"\nLA LISTA NO TIENE REGISTROS";
  48.                    getch();
  49.                    break;
  50.                 }
  51.                 cout<<"Digite el codigo del registro a eliminar: ";
  52.                 cin>>Cod;
  53.                 Suprimir(Cod);
  54.                 break;
  55.            case 3: if(N->sig == NULL){
  56.                    cout<<"\nLA LISTA NO TIENE REGISTROS";
  57.                    getch();
  58.                    break;
  59.                 }
  60.                 mostrar();
  61.                 break;
  62.                }
  63.                 return Opc;  
  64. }
  65. void Crear(){
  66.    int Cod;
  67.    cout<<"Codigo del empleado: ";cin>>Cod;fflush(stdin);
  68.    if(Valide(Cod)==0){
  69.       Nodo=new Lista;
  70.       Nodo->Codigo=Cod;
  71.       cout<<"\n Primer nombre y apellido del empleado: ";gets(Nodo->Nombre);
  72.       cout<<"\nNumero de articulos vendidos: ";cin>>Nodo->Articulos;
  73.       cout<<"\nValor Unitario de los Articulos: ";cin>>Nodo->Valoru;
  74.       Nodo->sig=N->sig;//*****
  75.       N->sig=Nodo;//****
  76.    }else{
  77.         cout<<"Ya existe un usuario registrado con este codigo\n";
  78.         getch();
  79.    }  
  80. }
  81. int Valide(int Cod)             //Esta función busca la cedula que se recibe como
  82. {                             //parametro, retorna uno si la encuentra, de lo
  83.       Lista *aux;             //contrario retornará cero.
  84.       aux = N->sig;
  85.       while(aux!=NULL)
  86.       {
  87.         if(aux->Codigo == Cod)
  88.            return 1;
  89.         aux = aux->sig;  
  90.       }
  91.       return 0;
  92. }
  93. void Suprimir(int c)
  94. {
  95.    Lista *aux, *a;
  96.    aux = N->sig;
  97.    a = N;
  98.    while(aux != NULL)
  99.    {
  100.    
  101. if(c == aux->Codigo)
  102.       {
  103.          a->sig = aux->sig;//ESTA LINEA MODIFICA EL ENLACE PARA DEJAR FUERA EL NODO A ELIMINAR.
  104.          cout<<"\n\nSe eliminó el registro de "<<aux->Nombre;
  105.          delete aux;//ESTA LINEA LIBERA DE LA MEMORIA EL ESPACIO QUE OCUPA EL NODO ELIMINADO.
  106.          getch();
  107.          return;
  108.       }    
  109.       a = aux;
  110.       aux = aux->sig;
  111.    }
  112.       cout<<"\n\nNo se encuentra el registro";
  113.       getch();
  114. }      
  115. void mostrar()
  116. {
  117.      Lista *aux;
  118.      aux = N->sig;
  119.      Organizar();
  120.      int x;
  121.      float comision;
  122.      int c=0;
  123.      int sc=0;    
  124.      cout<<"Codigo"; cout<<"\t\tNombre"; cout<<"\t\tValor x Ventas"; cout<<"\t\tComision";
  125.      while(aux != NULL)
  126.      {
  127.        x=aux->Articulos*aux->Valoru;
  128.        if(x>1000000){
  129.                      comision=(x*.3);
  130.                      c=c+1;
  131.                     }else
  132.                          {
  133.                           comision=0;
  134.                           sc=sc+1;
  135.                          }      
  136.        cout<<"\n"<<aux->Codigo;
  137.        cout<<"\t\t"<<aux->Nombre;    
  138.        cout<<"\t\t"<<x;
  139.        cout<<"\t\t"<<comision;
  140.        aux = aux->sig;  
  141.  
  142.      }
  143.      cout<<"\nNumero de empleados con comision:"<<c;
  144.      cout<<"\nNumero de empleados sin comision:"<<sc;
  145.      getch();
  146. }  
  147. void Organizar()
  148. {
  149. Lista *a, *b, *c;
  150.  
  151. for(a=N;a!=NULL;a=a->sig){
  152.     for(b=N;b!=NULL;b=b->sig){
  153.         if(b->Codigo > a->Codigo){
  154.                      
  155.            strcpy(c.Nombre,a->Nombre);
  156.            c.Codigo=a->Codigo;
  157.            c.Articulos=a->Articulos;
  158.            c.Valoru=a->Valoru;
  159.            
  160.            strcpy(a->Nombre,b->Nombre);
  161.            a->Codigo=b->Codigo;
  162.            a->Articulos=b->Articulos;
  163.            a->Valoru=b->Valoru;
  164.            
  165.            strcpy(b->Nombre,c.Nombre);
  166.            b->Codigo=c.Codigo;
  167.            b->Articulos=c.Articulos;
  168.            b->Valoru=c.Valoru;
  169.            }
  170.            }
  171.            }
  172. }

Última edición por oswy; 31/05/2010 a las 12:53
  #2 (permalink)  
Antiguo 31/05/2010, 16:58
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: No Se Cual Es El Error Ayuda!

Hola

Te falta agregar la librería para manejar cadenas de caracteres string.h, ya que ocupas la funcion strcpy().
Otra cosa es que en la funcion organizar creas tres variables apuntadores y en el desarrollado del codigo utilizas la variable "c" haciendo referencia con el "." a los valores de la estructura y no con la fecha "->", cambia eso y funciona.

Saludos

Última edición por Fenris; 31/05/2010 a las 17:05
  #3 (permalink)  
Antiguo 31/05/2010, 20:30
 
Fecha de Ingreso: mayo-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Respuesta: No Se Cual Es El Error Ayuda!

Muchisimas gracias por la ayuda ya me sirve!! :)!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:22.