Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Temas - polopo100

#1
Buenas, tengo un programa que debe leer el nombre de un cliente, los productos que compra, que cantidad, calcular el precio total de compra junto con el impuesto. Todo esto utilizando solo arreglos de una dimension y funciones. El problema es que al llamar la función "ventas" que se encarga de hacer los calculos de impuesto y demás, el programa se cierra sin ningun tipo de error, no se que estoy haciendo mal, ¿podrían echarme una mano por favor?

Les muestro el código que escribí:



#include <stdio.h>
#include <conio.h>
int lectura();
float ventas(int Nombre[30],int Descripcion[30],int Cantidad[30],float Precio[30],int X,int C);
float impresion(int Name[30],int Descr[30],int Cant[30],float Price[30],int X1,int C1,float Precioto[30],float subto,float tax,float Total,float Altotal);
int main()
{
int x=0;
printf("Mi nombre");
getch();
for(x=0;x<50;x++)
    {printf("\n");}
lectura();

return 0;
}
int lectura()
{
int descripcion[30];
int cantidad[30];
float precio[30];
int nombre[30];
int x=0,c=0;
char lim=0,limprod=0;
   do
{
  printf("\nIngrese el nombre del cliente: ");
  scanf("%s",&nombre[c]);
  do
  {
  printf("\nIngrese descripcion del producto: ");
  scanf("%s",&descripcion[x]);
  printf("\nIngrese cantidad del producto: ");
  scanf("%d",&cantidad[x]);
  printf("\nIngrese precio individual: ");
  scanf("%f",&precio[x]);
  x++;
  printf("\nIngresar otro producto? S/N ");
  limprod=getch();
  }
  while(limprod=='s'||limprod=='S');
  ventas(nombre,descripcion,cantidad,precio,x,c);
  printf("\nProcesar otro cliente? S/N");
  lim=getch();
  c++;
}
while(lim=='s'||lim=='S');
}
float ventas(int Nombre[30],int Descripcion[30],int Cantidad[30],float Precio[30],int X,int C)
{
    float precioto[30];
    int n=0;
    float subtotal=0,impuesto=0,total=0,altotal=0;
    int cltotal=0;
    for(n=0;n<X;n++)
    {
     precioto[n]=Cantidad[n]*Precio[n];
     subtotal+=precioto[n];
    }
    impuesto=subtotal*0.07;
    total=subtotal+impuesto;
    altotal+=total;
    impresion(Nombre,Descripcion,Cantidad,Precio,X,C,precioto,subtotal,impuesto,total,altotal);
}
float impresion(int Name[30],int Descr[30],int Cant[30],float Price[30],int X1,int C1,float Precioto[30],float subto,float tax,float Total,float Altotal)
{
    int n=0;
    printf("\n");
    printf(" Nombre del cliente: x %s x",Name[C1]);
    printf("\nDESCRIPCION\tCANTIDAD\tPRECIO\tPRECIO TOTAL");
    for(n=0;n<X1;n++)
    {
     printf("\n%s\t%.2f\t%.2f\t%.2f",Descr[n],Cant[n],Price[n],Total);
    }
    printf("\n\t\tSUBTOTAL: %.2f",Precioto);
    printf("\n\t\tITBMS: %.2f",tax);
    printf("\n\t\tTOTAL A PAGAR: %.2f",Total);
    printf("\n");
    printf(" Nombre del cliente: x %s x",Name[C1]);
    printf("\nDescripcion\tCANTIDAD\tPRECIO\tPRECIO TOTAL");
    printf("\nTotal Vendido por el Almacen: %.2f",Altotal);
}