karlangadas

Facturas 1

Apr 5th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.85 KB | None | 0 0
  1. #include <cstdio>
  2. #include <iostream>
  3. #define linea 100
  4.  
  5. using namespace std;
  6.  
  7. char leerPalabra(){
  8.     char c;
  9.     scanf(" %c",&c);
  10.     while(c!=' ' && c!='\t' && (c!='\n') && c!=EOF){
  11.         putchar(c);
  12.         c=getchar();
  13.     }
  14.     return c;
  15. }
  16. int procesarPalabra(){
  17.     char c;
  18.     int count=0, fin;
  19.     fin = scanf(" %c", &c);
  20.     if (fin==EOF || fin==0) return 0;
  21.     while(c!=' ' && c!='\t'){
  22.         count++;
  23.         putchar(c);
  24.         c = getchar();
  25.     }
  26.     return count;
  27. }
  28. void printCar(char c, int n,int m){
  29.     int i;
  30.     for (i=0;i<n;i++) putchar(c);
  31.     if(m==1)
  32.         printf("\n");
  33. }
  34. int main() {
  35.     int cant,i,j,cont,dd,mm,aa,nfact;
  36.     char c;
  37.     float precio,total;
  38.     scanf("%d/%d/%d",&dd,&mm,&aa);
  39.     while(scanf("%d",&nfact)!=EOF){
  40.         total=0;
  41.         printf("Factura No. %d\nCliente: ",nfact);
  42.         scanf(" %c",&c);
  43.         cont=0;
  44.         while(c!=' '){
  45.             cont++;
  46.             putchar(c);
  47.             c=getchar();
  48.         }
  49.         printCar(' ',linea-cont-26,0);
  50.         printf("Fecha: %02d/%02d/%4d\n",dd,mm,aa);
  51.         printCar('-',linea,1);
  52.         printf("CODIGO       DESCRIPCION                                   CANTIDAD           P.U.          SUBTOTAL\n");
  53.         printCar('-',linea,1);
  54.         while((scanf("%d/%d/%d",&dd,&mm,&aa))==1){
  55.             leerPalabra();printCar(' ',6,0);
  56.             cont=0;
  57.             while(scanf(" %f",&precio)==0){
  58.                 putchar(' ');
  59.                 cont++;
  60.                 cont+=procesarPalabra();
  61.             }
  62.             printCar(' ',50-cont,0);
  63.             printf("%2d           %7.2f         %9.2f\n",dd,precio,dd*precio);
  64.             total+=dd*precio;
  65.         }
  66.         printCar('-',linea,1);
  67.         printf("Total facturado");printCar(' ',linea-24,0);printf("%9.2f\n\n",total);
  68.            
  69.     }
  70.     return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment