• Viernes 15 de Noviembre de 2024, 05:35

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - incepator

Páginas: [1]
1
C/C++ / Errores al compilar
« en: Martes 17 de Marzo de 2009, 23:04 »
tengo el siguiente problema y el código que yo he escrito pero al compilar me dan errores y no se como corregirlos
si alguien me puede ayudar o darme alguna ideea?????!!!!! He marcado las lineas con errores
Este programa debe generar una serie de datos aleatorios X que representan,
pedidos de clientes, sabiendo que existen 10 clientes, cada uno pide por un
importe z que tambien se genera aleatoriamente con valores de 50 a 100.Una vez
generados los pedidos en un total de 100, el programa debe hacer un itinerario
de servicio, teniendo en cuenta que hay que servir primero al que más pedidos
ha hecho y en caso de igualdad en número de pedidos, al que mayor importe tenga,
es decir programa debe listar el orden de reparto con el criterio antes expuesto
para comprobar si el itinerario es correcto, hay que listar también el número de
pedidos de cada cliente y el importe total de sus pedidos.

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <dos.h>
#define dim 100
#define dim2 10

typedef struct
{
char codclien[9];
int imp_ped[dim];
}pedidos;
 typedef struct
 {
  char clientes[9];
  int num_pedidos;
  int imp_acum;
}datos;
void generar_vector(pedidos[dim],int); //genera los pedidos y los importes
void shell(datos[dim2],int);
void listado (datos[dim2]);

main()
{
 pedidos vector[dim];
 datos vec[dim2];
 char cod[10][9]={"cliente1","cliente2","cliente3","cliente4","cliente5","cliente6","cliente7","cliente8","cliente9","cliente10"};
 int k,i;
 randomize();
 generar_vector(vec,dim);// resulta los pedidos y los importes
 for (k=0;k<dim2;k++)
  {
   strcpy(vec[k].clientes,cod[10][9]);   -ERROR
   vec[k].num_pedidos=0;
   vec[k].imp_acum=0;
  }
   for(k=0;k<dim2;k++)
   {
    for (i=0;i<dim;i++)
     {
      strcmp(vec[k].clientes,vector.codclien);
      if (strcmp==0)
       {
         vec[k].num_pedidos++;
         vec[k].imp_acum=vec[k].imp_acum+vector.imp_ped; -ERROR
        }
      }
    }
  listado(vec);
  shell(vec,dim2);
  printf ("nOrden de reparto:n");
  listado(vec);
   if(vec[k].num_pedidos==vec[k+1].num_pedidos)
     {
      if(vec[k].imp_acum<vec[k+1].imp_acum)
      printf("%5s%5s%7st",vec[k+1].clientes, vec[k+1].num_pedidos,vec[k+1].imp_acum);
     }
    else
    listado(vec);

}


 void generar_vector(pedidos vector[dim],int [dim],char cod)
 {
  int i;
  for (i=0;i<dim;i++)
  {
   strcpy(vector.codclien,cod[random(10)]);-ERROR
   vector.imp_ped=random(50)+50;-ERROR
  }
    return;
  }

  void listado(datos vec[dim2])
  {
   int i;
   printf("n      Cliente      Pedidos     Importepedidosn");
    for(i=0;i<dim2;i++)
    {
      printf("%5s%5s%7st",vec.clientes, vec.num_pedidos,vec.imp_acum);
    }
    return;
    }

    void shell(datos vec[dim2],int tam)
    {
     int t,sw,lon;
     datos aux;
     lon=tam/2;
     do
      {
       do
       {
        sw=0;
         for(t=0;t<tam-lon;t++)
         {
          if (vec[t].num_pedidos>vec[t+lon].num_pedidos)
           {
            aux=vec[t];
            vec[t]=vec[t+lon];
            vec[t+lon]=aux;
            sw=1;
            }
          }
         }while (sw==1);
         lon=lon/2;
        }while (lon>=1);
        return;
     }

Páginas: [1]