batiguason_11
Bovino adicto
- Desde
- 27 Jun 2009
- Mensajes
- 703
- Tema Autor
- #1
Veran tengo mi siguiente código pero no se que tan correcto este o si lo que hago esta permitido y número 2 también no sé si usar apuntadores seria mejor en este caso :S podrian ayudarme a revisar mi código y decirme mis errores al compilar me sale
ld: in tienda_mod, can't link with a main executable
collect2: ld returned 1 exit status
solo dos errores, programo bajo ANSI C en Linux su ayuda me podria ayudar
#include <stdio.h>
#include<string.h>
struct articulos {
char art[5][50];
float pre[5],tot[T];
int can[5];
char menu () {
char op;
struct articulos comp;
strcpy(comp.art[0],"papel");
strcpy(comp.art[1],"colores");
strcpy(comp.art[2],"libreta");
strcpy(comp.art[3],"carpeta");
strcpy(comp.art[4],"plumas");
comp.pre[0]=.50;
comp.pre[1]=5.43;
comp.pre[2]=20;
comp.pre[3]=10;
comp.pre[4]=4.5;
printf("\n\tARTICULOS\t\tPrecio");
printf("\n\t 1- %s\t\t%.2F",comp.art[0],comp.pre[0]);
printf("\n\t 2- %s\t\t%.2F",comp.art[1],comp.pre[1]);
printf("\n\t 3- %s\t\t%.2F",comp.art[2],comp.pre[2]);
printf("\n\t 4- %s\t\t%.2F",comp.art[3],comp.pre[3]);
printf("\n\t 5- %s\t\t%.2F",comp.art[4],comp.pre[4]);
printf("\n\t\t\tque desea comprar? ");
fpurge(stdin);
scanf("%c",&op);
scanf("%c",&op);
return op;
}
void total(int con1,int con2,int con3,int con4,int con5) {
struct articulos comp;
comp.pre[0]=.50;
comp.pre[1]=5.43;
comp.pre[2]=20;
comp.pre[3]=10;
comp.pre[4]=4.5;
strcpy(comp.art[0],"papel");
strcpy(comp.art[1],"colores");
strcpy(comp.art[2],"libreta");
strcpy(comp.art[3],"carpeta");
strcpy(comp.art[4],"plumas");
printf("\n\nProducto\t\tCantidad\tSubtotal");
printf("\n\n%s\t\t\t%i\t\t%.2F",comp.art[0],con[0],comp.tot[0]);
printf("\n%s\t\t\t%i\t\t%.2F",comp.art[1],con[1],comp.tot[1]);
printf("\n%s\t\t\t%i\t\t%.2F",comp.art[2],con[2],comp.tot[2]);
printf("\n%s\t\t\t%i\t\t%.2F",comp.art[3],con[3],comp.tot[3]);
printf("\n%s\t\t\t%i\t\t%.2F",comp.art[4],con[4],comp.tot[4]);
printf("\n\t\t\t\tTotal= %.2F\n",total);
}
main () {
char p,op;
int con[5],comp_total[5],total;
do {
p=menu();
switch (op) {
case '1': con[0]++;
break;
case '2': con[1]++;
break;
case '3': con[2]++;
break;
case '4': con[3]++;
break;
case '5': con[4]++;
break;
default: printf("\nOpcion no valida");
}
printf("\ndesea seguir comprando?y/n ");
fpurge(stdin);
scanf("%c",&op);
}
for (i=0;i<5;i++) {
comp_total=con*comp.pre;
total+=comp_total;
}
total(con1,con2,con3,con4,con5);
return 0;
}
ld: in tienda_mod, can't link with a main executable
collect2: ld returned 1 exit status
solo dos errores, programo bajo ANSI C en Linux su ayuda me podria ayudar

#include <stdio.h>
#include<string.h>
struct articulos {
char art[5][50];
float pre[5],tot[T];
int can[5];
char menu () {
char op;
struct articulos comp;
strcpy(comp.art[0],"papel");
strcpy(comp.art[1],"colores");
strcpy(comp.art[2],"libreta");
strcpy(comp.art[3],"carpeta");
strcpy(comp.art[4],"plumas");
comp.pre[0]=.50;
comp.pre[1]=5.43;
comp.pre[2]=20;
comp.pre[3]=10;
comp.pre[4]=4.5;
printf("\n\tARTICULOS\t\tPrecio");
printf("\n\t 1- %s\t\t%.2F",comp.art[0],comp.pre[0]);
printf("\n\t 2- %s\t\t%.2F",comp.art[1],comp.pre[1]);
printf("\n\t 3- %s\t\t%.2F",comp.art[2],comp.pre[2]);
printf("\n\t 4- %s\t\t%.2F",comp.art[3],comp.pre[3]);
printf("\n\t 5- %s\t\t%.2F",comp.art[4],comp.pre[4]);
printf("\n\t\t\tque desea comprar? ");
fpurge(stdin);
scanf("%c",&op);
scanf("%c",&op);
return op;
}
void total(int con1,int con2,int con3,int con4,int con5) {
struct articulos comp;
comp.pre[0]=.50;
comp.pre[1]=5.43;
comp.pre[2]=20;
comp.pre[3]=10;
comp.pre[4]=4.5;
strcpy(comp.art[0],"papel");
strcpy(comp.art[1],"colores");
strcpy(comp.art[2],"libreta");
strcpy(comp.art[3],"carpeta");
strcpy(comp.art[4],"plumas");
printf("\n\nProducto\t\tCantidad\tSubtotal");
printf("\n\n%s\t\t\t%i\t\t%.2F",comp.art[0],con[0],comp.tot[0]);
printf("\n%s\t\t\t%i\t\t%.2F",comp.art[1],con[1],comp.tot[1]);
printf("\n%s\t\t\t%i\t\t%.2F",comp.art[2],con[2],comp.tot[2]);
printf("\n%s\t\t\t%i\t\t%.2F",comp.art[3],con[3],comp.tot[3]);
printf("\n%s\t\t\t%i\t\t%.2F",comp.art[4],con[4],comp.tot[4]);
printf("\n\t\t\t\tTotal= %.2F\n",total);
}
main () {
char p,op;
int con[5],comp_total[5],total;
do {
p=menu();
switch (op) {
case '1': con[0]++;
break;
case '2': con[1]++;
break;
case '3': con[2]++;
break;
case '4': con[3]++;
break;
case '5': con[4]++;
break;
default: printf("\nOpcion no valida");
}
printf("\ndesea seguir comprando?y/n ");
fpurge(stdin);
scanf("%c",&op);
}
for (i=0;i<5;i++) {
comp_total=con*comp.pre;
total+=comp_total;
}
total(con1,con2,con3,con4,con5);
return 0;
}