Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * File: main.cpp
- * Author: Juanjose Tenorio
- *
- * Created on 2 de septiembre de 2014, 07:22 PM
- */
- #include <cstdlib>
- #include <cstdio>
- #define maxc 60
- #define maxli 79
- using namespace std;
- typedef struct{
- int dd;
- int mm;
- int aa;
- }fecha;
- int main(int argc, char** argv) {
- fecha f;
- int opt,nfact,num,lect,cant,cont,c1;
- float pu,total;
- char c,c2;
- bool primera=true;
- total=0.0;
- while(true){
- opt=scanf("%d/%d/%d",&f.dd,&f.mm,&f.aa);
- if(opt==3){//encontró fecha
- if(!primera){
- for(int i=0;i<maxli;i++){
- printf("-");
- }
- printf("\n");printf("Total facturado");
- //for(int i=0;i<59;i++) putchar(' ');
- printf("%63.3f\n",total);
- }
- primera=false;total=0;
- //leo factura y ignoro
- scanf("%d%*d",&nfact);printf("Factura No. %d\n",nfact);
- cont=0;
- printf("Cliente: ");
- while((c=getchar())!=' ' && c!='\t'){
- putchar(c);cont++;
- }
- //cuento caracteres para la tabulacion
- cont=maxc-cont;c1=0;
- while(c1<=cont){
- putchar(' ');c1++;
- }
- printf("Fecha: %d/%d/%d\n",f.dd,f.mm,f.aa);
- for(int i=0;i<maxli;i++){
- printf("-");
- }
- printf("\n");
- printf("CODIGO DESCRIPCION");
- for(int i=0;i<33;i++) putchar(' ');
- printf("CANTIDAD P.U SUBTOTAL\n");
- for(int i=0;i<maxli;i++){
- printf("-");
- }
- printf("\n");
- }else if(opt==1){
- cant=f.dd;//he leido la cantidad de producto
- //Leo espacios en blanco y el primer caracter del codigo del producto
- while (1){
- scanf("%c",&c);
- if (c!=' ') {
- printf("%c",c);
- break;
- }
- }
- //Leo lo que queda del codigo del producto
- scanf("%c%d",&c2,&num);
- printf("%c%d ",c2,num);
- //hasta aqui he impreso el codigo del producto
- //Leo lo que queda de la descripcion hasta el espacio en blanco
- cont=0;
- while (1){
- while (1){
- scanf("%c",&c);
- printf("%c",c);
- cont++;
- if (c==' ')break;
- }
- lect=scanf("%f",&pu);
- if (lect==1) break;
- }
- cont=maxli-cont-34;
- for(int i=0;i<cont;i++) putchar(' ');
- printf("%5d",cant);
- printf("%10.2f",pu);
- printf("%10.2f\n",pu*cant);
- total+=(pu*cant);
- }else if(opt==EOF) {
- for(int i=0;i<maxli;i++){
- printf("-");
- }
- printf("\n");printf("Total facturado");
- //for(int i=0;i<59;i++) putchar(' ');
- printf("%63.3f\n",total);
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement