Programación General > C/C++
Errores al compilar
(1/1)
incepator:
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;
}
m0skit0:
Utiliza las etiquetas de código, nombra el número de la/s línea/s que te da/n error y especifica qué error.
Un poco de tu parte no haría daño a los que queremos ayudarte <_<
betopin:
Son muchas las fallas
1) Mira lo que defines
--- Código: C ---void generar_vector(pedidos[dim],int); //genera los pedidos y los importes
Mira lo que envias
--- Código: C ---generar_vector(vec,dim);// resulta los pedidos y los importes
2) Cadenas
--- Código: C ---strcpy(vec[k].clientes,cod[10][9]); -ERROR
Estas tratando de guardar un monton de palabras que estan en diferentes pocisiones de memoria en cod en vec[k].clientes
Igualmente -ERROR no esta difinido ni debe por que estar ahi
3) Datos
--- Código: C ---vec[k].imp_acum=vec[k].imp_acum+vector[i].imp_ped; -ERROR
Estas tratando de guardar en una variable, todas las pocisiones de un array. Y de nuevo la falla con ERROR
4)
--- Código: C ---strcpy(vector[i].codclien,cod[random(10)]);-ERROR
Recuerda que cod es una matriz y codclien un vector. Y de nuevo ERROR
5)
--- Código: C ---void generar_vector(pedidos vector[dim],int [dim],char cod)
Estas tratando de enviar mas argumentos de los que puedes
6) Faltan llaves }
7)
--- Código: C ---return;
No estas devolviendo nada
Saludos
Navegación
Ir a la versión completa