Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: manutmac en 10 Diciembre 2012, 19:26 pm



Título: estructura de datos
Publicado por: manutmac en 10 Diciembre 2012, 19:26 pm
tengo que hacer este ejercicio:

La información sobre la venta y la compra de una empresa se pueden guardar en una estructura de datos.
La estructura consiste en el nombre de la empresa comercial, el tipo comercial (compra o venta),
el importe de las compras, la fecha de compra y descripción comercial (como el descuento).
1. Definir la estructura de datos para mantener actualizada la información sobre 1000.
2. Esta estructura de datos se supone que la información necesaria se introducira despues, por favor escriba la función que calcula la cantidad de la compra y venta de la empresa. (no escribo main () function...)

Y esto es lo que tengo:

#define n_shop 1000

struct Date
{
int day;
int month;
int year;
};
struct Company
{
char shop[50];
char bos;
float amount;
Date d_shopping;
int disc;
}name[n_shop];

float calculate (Company total)
{
  int i;
  for (i=0; i<n_shop; i++)
  {
    if(name.bos=='b')
     total=total - name.amount + (name.amount*(name.disc/100));           
    if(name.bos=='s')
     total=total + name.amount - (name.amount*(name.disc/100)); 

  }
return total; 
}

Alguien me puede ayudar a que este en condiciones? Es para la uni. Gracias


Título: Re: estructura de datos
Publicado por: twins en 11 Diciembre 2012, 04:09 am
una pequeña base no se si es lo q necesitas,pero si no solo envia sugerencias para seguir colaborando  ;)
Código
  1. #include<stdio.h>
  2. #define MAX 10
  3. typedef struct{
  4. int dia;
  5. int mes;
  6. int año;
  7. }fecha;
  8. typedef struct{
  9. char nombre[50];
  10. float compra;
  11.    float ventas;
  12.    float importe;
  13.    float descuento;
  14. }empresa;
  15. float compras(empresa info[MAX],int *contador){
  16. float tmp=0,total=0;
  17. while(tmp>=0){
  18. *contador+=1;
  19. printf("ingrese el precio de las compras\n");
  20. scanf("%f",&tmp);
  21. if(tmp<0 || *contador>=10)
  22. return(total);
  23. info[*contador].compra=tmp;
  24. total+=info[*contador].compra;
  25. }
  26. return(total);
  27. }
  28. int main(void){
  29. fecha datos;
  30. empresa info[MAX];
  31. int i=-1;
  32. float precio=compras(info,&i);
  33. printf("el precio total es %f\n",precio);
  34. return(0);
  35. }
  36.