Advertisement
juanjo12x

GG_1

Sep 3rd, 2014
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.12 KB | None | 0 0
  1. /*
  2.  * File:   main.cpp
  3.  * Author: Juanjose Tenorio
  4.  *
  5.  * Created on 2 de septiembre de 2014, 07:22 PM
  6.  */
  7.  
  8. #include <cstdlib>
  9. #include <cstdio>
  10. #define maxc 60
  11. #define maxli 79
  12. using namespace std;
  13.  
  14. typedef struct{
  15.     int dd;
  16.     int mm;
  17.     int aa;
  18. }fecha;
  19. int main(int argc, char** argv) {
  20.     fecha f;
  21.     int opt,nfact,num,lect,cant,cont,c1;
  22.     float pu,total;
  23.     char c,c2;
  24.     bool primera=true;
  25.     total=0.0;
  26.     while(true){
  27.        
  28.         opt=scanf("%d/%d/%d",&f.dd,&f.mm,&f.aa);
  29.         if(opt==3){//encontró fecha
  30.             if(!primera){
  31.                 for(int i=0;i<maxli;i++){
  32.                 printf("-");
  33.                 }
  34.                 printf("\n");printf("Total facturado");
  35.                 //for(int i=0;i<59;i++) putchar(' ');                
  36.                 printf("%63.3f\n",total);
  37.             }
  38.             primera=false;total=0;
  39.             //leo factura y ignoro
  40.             scanf("%d%*d",&nfact);printf("Factura No. %d\n",nfact);
  41.            cont=0;
  42.            printf("Cliente: ");
  43.            while((c=getchar())!=' ' && c!='\t'){
  44.                putchar(c);cont++;
  45.            }
  46.            //cuento caracteres para la tabulacion
  47.            cont=maxc-cont;c1=0;
  48.            while(c1<=cont){
  49.                putchar(' ');c1++;
  50.            }
  51.            printf("Fecha: %d/%d/%d\n",f.dd,f.mm,f.aa);
  52.            for(int i=0;i<maxli;i++){
  53.                printf("-");
  54.            }
  55.            printf("\n");
  56.            printf("CODIGO     DESCRIPCION");
  57.            for(int i=0;i<33;i++) putchar(' ');
  58.            printf("CANTIDAD  P.U  SUBTOTAL\n");
  59.            for(int i=0;i<maxli;i++){
  60.                printf("-");
  61.            }
  62.            printf("\n");
  63.         }else if(opt==1){
  64.             cant=f.dd;//he leido la cantidad de producto
  65.              //Leo espacios en blanco y el primer caracter del codigo del producto
  66.             while (1){
  67.               scanf("%c",&c);
  68.               if (c!=' ') {
  69.                  printf("%c",c);
  70.                break;
  71.              }
  72.             }
  73.            //Leo lo que queda del codigo del producto
  74.            scanf("%c%d",&c2,&num);
  75.            printf("%c%d   ",c2,num);
  76.            //hasta aqui he impreso el codigo del producto
  77.             //Leo lo que queda de la descripcion hasta el espacio en blanco
  78.         cont=0;
  79.         while (1){
  80.             while (1){
  81.                 scanf("%c",&c);
  82.                 printf("%c",c);
  83.                 cont++;
  84.                 if (c==' ')break;
  85.             }
  86.             lect=scanf("%f",&pu);
  87.             if (lect==1) break;
  88.          }
  89.             cont=maxli-cont-34;
  90.             for(int i=0;i<cont;i++) putchar(' ');  
  91.             printf("%5d",cant);
  92.             printf("%10.2f",pu);
  93.             printf("%10.2f\n",pu*cant);
  94.             total+=(pu*cant);
  95.         }else if(opt==EOF) {
  96.             for(int i=0;i<maxli;i++){
  97.                 printf("-");
  98.                 }
  99.                 printf("\n");printf("Total facturado");
  100.                 //for(int i=0;i<59;i++) putchar(' ');                
  101.                 printf("%63.3f\n",total);
  102.             break;
  103.         }
  104.      }
  105. return 0;
  106.  
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement