[ Foro de C++ ]

SISTEMA DE FACTURACION

06-Oct-2017 03:46
Hector Hernandez
1 Respuestas

BUENAS NOCHES ! ESTOY DESARROLLANDO UN SISTEMA DE FACTURAS SIMPLES EN EL CMD! EL PROBLEMA DE ESTE SISTEMA ES QUE NO LOGRO HACER CON BUCLES QUE ME INTRODUZCA DE UN TXT LOS ITEMS DEL INVETARIO SOLO INTRODUCE 1 PERO POR LA ESTRUCTURA DEL BUCLE NO INSERTA MAS DE ALLI Y NO LOGRO REFLEJAR QUE LOGRE INGRESAR MAS ITEMS PIDO AYUDA ESTE ES MI NUMERO DE CONTACTO DE WS +5804249654172


07-Oct-2017 01:09
Hector Hernandez

#include<cstdlib>
#include <stdio.h>
#include<stdlib.h> // esto por la libreria conio.h
#include<iostream>
#include<fstream>
#include<string.h>
#include<math.h>
#include <windows.h>
using namespace std;
void clientes();
void buscarcliente();
void inventario();
void facturacion();
void salir();
void menu();
//Defines gotoxy() for ANSI C compilers.
void gotoxy(short x, short y) {
COORD pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
//Variables Globales
char nom[20],ape[20],dir[20],telf[13],des[20],a;
int auxcc,cc,cod,auxcod,cant,i=11,j;
float cost, pre, iva,m,st,sst,tt;
bool encontrado=false;
char auxclient[10];

int main(){
   menu();
   return 0;
   system("PAUSE");
}
void menu(){
   int opcion=0;
   do{
    system("COLOR F");
    system("cls");
    cout<<"\n\n\n";
       cout<<"                         ***************************************"<<endl;
       cout<<"                         *     INVERSIONES LA COLONIA P.N.     *"<<endl;
       cout<<"                         ***************************************\n\n"<<endl;
       cout<<" 1. CLIENTES\n"<<endl;
       cout<<" 2. BUSCAR CLIENTE\n"<<endl;
       cout<<" 3. INVENTARIO\n"<<endl;
       cout<<" 4. FACTURACION\n"<<endl;
       cout<<" 5. SALIR\n"<<endl;
       

       cout<<" ELIJA UNA OPCION: ";
       cin>>opcion;
       switch(opcion){
           case 1:
               clientes();
           break;
           case 2:
               buscarcliente();
           break;
           case 3:
inventario();
           break;
           case 4:
               facturacion();
           break;
           case 5:
               salir();
           break;
           default:
               cout<<"¡OPCION INCORRECTA!"<<endl;
       }
   }while(opcion!=5 && !GetAsyncKeyState(27));
}//Fin funcion menu
void clientes(){
system("cls");
   ofstream escritura;
   ifstream consulta;
   bool repetido=false;
   escritura.open("clientes.txt",ios::out|ios::app);
   consulta.open("clientes.txt",ios::in);
   if(escritura.is_open() && consulta.is_open()){    
    cout<<"\t\t\t\t************************************************************\n";
    cout<<"\t\t\t\t*                         CLIENTES                         *\n";
    cout<<"\t\t\t\t************************************************************\n\n";
       cout<<"\t\tINGRESE LA CEDULA DE CIUDADANIA: ";
       cin>>auxcc;
       consulta>>cc;
       while(!consulta.eof()){
           consulta>>nom>>ape>>dir>>telf;
           if(cc==auxcc){            
            system("cls");
            system("COLOR 4");
            cout<<"\n\n\n\n\n\n\n\n\n\n";
               cout<<"\t\t\t\t*************************************************************\n";
    cout<<"\t\t\t\t*                     YA EXISTE CLIENTE                     *\n";
    cout<<"\t\t\t\t*************************************************************\n";
    cout<<"\n\n\n\n\n\n";
               system("PAUSE");
               repetido=true;
               break;
           }
           consulta>>cc;
       }
       if(repetido==false){
        system("cls");
           cout<<"NOMBRE: ";
           cin>>nom;
           cout<<"APELLIDO: ";
           cin>>ape;
           cout<<"DIRECCION: ";
           cin>>dir;
           cout<<"TELEFONO: ";
           cin>>telf;
           escritura<<auxcc<<" "<<nom<<" "<<ape<<" "<<dir<<" "<<telf<<endl;
           system("cls");
           system("COLOR A");
           cout<<"Registro Ageragado"<<endl;
           system("PAUSE");
       }

   }else{
    system("cls");
          system("COLOR 4");
            cout<<"\n\n\n\n\n\n\n\n\n\n";
               cout<<"\t\t\t\t**************************************************************\n";
    cout<<"\t\t\t\t*   Error, el Archivo No se Pudo Abrir o No ha sido Creado   *\n";
    cout<<"\t\t\t\t**************************************************************\n";
    cout<<"\n\n\n\n\n\n";
               system("PAUSE");
   }
   escritura.close();
   consulta.close();
}//Fin funcion CLIENTES
void buscarcliente(){
system("cls");
   ifstream lectura;//Creamos la variable de tipo lectura
   lectura.open("clientes.txt",ios::out|ios::in);//Abrimos el archivo
   //validando la apertura del archivo
   encontrado=false;
   if(lectura.is_open()){
    cout<<"\t\t\t\t************************************************************\n";
    cout<<"\t\t\t\t*                      BUSCAR CLIENTES                     *\n";
    cout<<"\t\t\t\t************************************************************\n\n";
       cout<<"CEDULA DE CIUDADANIA: ";
       cin>>auxcc;
       lectura>>cc;//lectura adelantada

       while(!lectura.eof()){
           lectura>>nom>>ape>>dir>>telf;//leyendo los campos del registro, Comparar cada registro para ver si es encontrado
           if(auxcc==cc){
            system("cls");
            cout<<"\t\t\t\t************************************************************\n";
    cout<<"\t\t\t\t*                      BUSCAR CLIENTES                     *\n";
    cout<<"\t\t\t\t************************************************************\n\n";
            cout<<"\n\n\n";
cout<<"\t\t\t\t------------------------------------------------------------\n";
               cout<<"\t\t\t\tCEDULA DE CIUDADANIA:\t\t"<<cc<<endl;
               cout<<"\t\t\t\tNOMBRE:\t\t\t\t"<<nom<<endl;
               cout<<"\t\t\t\tAPELLIDO:\t\t\t"<<ape<<endl;
               cout<<"\t\t\t\tDIRECCION:\t\t\t"<<dir<<endl;
               cout<<"\t\t\t\tTELEFONO:\t\t\t"<<telf<<endl;
cout<<"\t\t\t\t------------------------------------------------------------\n";
               encontrado=true;
               cout<<"\n\n\n\n\n\n";
               system("PAUSE");
           }

           lectura>>cc;//lectura adelantada
       }
       if(encontrado==false){
                    system("cls");
            system("COLOR 4");
            cout<<"\n\n\n\n\n\n\n\n\n\n";
               cout<<"\t\t\t\t*************************************************************\n";
    cout<<"\t\t\t\t*                   No Existe Tal Registros                 *\n";
    cout<<"\t\t\t\t*************************************************************\n";
    cout<<"\n\n\n\n\n\n";
               system("PAUSE");
           cout<<" "<<auxcc<<endl;
       }
   }else{      system("cls");
            system("COLOR 4");
            cout<<"\n\n\n\n\n\n\n\n\n\n";
               cout<<"\t\t\t\t*************************************************************\n";
    cout<<"\t\t\t\t*    No se pudo Abrir el Archivo, aun no ha sido Creado     *\n";
    cout<<"\t\t\t\t*************************************************************\n";
    cout<<"\n\n\n\n\n\n";
               system("PAUSE");
   }
   //cerrando el archivo
   lectura.close();
}//fin de funcion BUSCAR
void inventario(){
system("cls");
   ofstream escritura;
   ifstream consulta;
   bool repetido=false;
   escritura.open("inventario.txt",ios::out|ios::app);
   consulta.open("inventario.txt",ios::in);
   if(escritura.is_open() && consulta.is_open()){    
    cout<<"\t\t\t\t************************************************************\n";
    cout<<"\t\t\t\t*                        INVENTARIO                        *\n";
    cout<<"\t\t\t\t************************************************************\n\n";
       cout<<"\t\tINGRESE EL CODIGO DEL PRODUCTO: ";
       cin>>auxcod;
       consulta>>cod;
       while(!consulta.eof()){
           consulta>>des>>cost>>pre>>iva;
           if(cod==auxcod){            
            system("cls");
            system("COLOR 4");
            cout<<"\n\n\n\n\n\n\n\n\n\n";
               cout<<"\t\t\t\t*************************************************************\n";
    cout<<"\t\t\t\t*                    YA EXISTE EL PRODUCTO                  *\n";
    cout<<"\t\t\t\t*************************************************************\n";
    cout<<"\n\n\n\n\n\n";
               system("PAUSE");
               repetido=true;
               break;
           }
           consulta>>cod;
       }
       if(repetido==false){
        system("cls");
           cout<<"DESCRIPCION: ";
           cin>>des;
           cout<<"COSTO: ";
           cin>>cost;
           cout<<"PRECIO: ";
           cin>>pre;
           cout<<"IVA: ";
           cin>>iva;
           escritura<<auxcod<<" "<<des<<" "<<cost<<" "<<pre<<" "<<iva<<endl;
           system("cls");
           system("COLOR A");
           cout<<"Producto Ageragado Satisfactorimente"<<endl;
           system("PAUSE");
       }

   }else{
    system("cls");
          system("COLOR 4");
            cout<<"\n\n\n\n\n\n\n\n\n\n";
               cout<<"\t\t\t\t**************************************************************\n";
    cout<<"\t\t\t\t*   Error, el Archivo No se Pudo Abrir o No ha sido Creado   *\n";
    cout<<"\t\t\t\t**************************************************************\n";
    cout<<"\n\n\n\n\n\n";
               system("PAUSE");
   }
   escritura.close();
   consulta.close();
}//Fin funcion CLIENTES
void facturacion(){
system("cls");
int num=0;
int suma=0;
   ofstream escritura;
   ifstream consulta1;
   ifstream consulta2;
   bool repetido=false;
   escritura.open("ventas.txt",ios::out|ios::app);
   consulta1.open("clientes.txt",ios::in);
   consulta2.open("inventario.txt",ios::in);
   if(escritura.is_open() && consulta1.is_open() && consulta2.is_open()){    
    cout<<"\t\t\t\t***********************************************************\n";
    cout<<"\t\t\t\t*                       FACTURACION                       *\n";
    cout<<"\t\t\t\t***********************************************************\n\n";
       cout<<"\t\tINGRESE LA CEDULA DE CIUDADANIA: ";
       cin>>auxcc;
       consulta1>>cc;
       while(!consulta1.eof()){
           consulta1>>nom>>ape>>dir>>telf;
           if(cc==auxcc){            
            system("cls");
            gotoxy(0,0);
            cout<<"***********************";
            gotoxy(0,1);
    cout<<"* quickFACTeasy, ink. *";
    gotoxy(0,2);
    cout<<"***********************";
    gotoxy(1,4);
    cout<<" RAZON SOCIAL: "<<nom<<" "<<ape<<endl;
    gotoxy(1,5);
    cout<<" DIRECCION: "<<dir;
    gotoxy(1,6);
cout<<" TELEFONO: "<<telf;
gotoxy(0,8);
    cout<<"-----------------------------------------------------------------------------------------------------------------";
    gotoxy(0,9);
cout<<" CODIGO | DESCRIPCION | CANT | PRECIO U | PRECIO T |\n";
gotoxy(0,10);
cout<<"-----------------------------------------------------------------------------------------------------------------\n";
gotoxy(1,11);
            cin>>auxcod;
            consulta2>>cod;
while(!consulta2.eof()){
consulta2>>des>>cost>>pre>>iva;

if(auxcod==cod){
for(i=11;i>=11;i++)
{
gotoxy(1,i);
cout<<cod;
gotoxy(10,i);
cout<<des;
gotoxy(64,i);
cin>>cant;
gotoxy(80,i);
cout<<pre;
m=cant*pre;
st=m;
gotoxy(101,i);
cout<<st<<endl;
sst=sst+st;
iva=sst*12/100;
tt=iva+sst;

gotoxy(90,4);
cout<<"SUB-TOTAL: "<<endl;
gotoxy(101,4);
cout<<sst<<endl;
gotoxy(96,5);
cout<<"IVA: "<<endl;
gotoxy(101,5);
cout<<iva<<endl;
gotoxy(94,6);
cout<<"TOTAL: "<<endl;
gotoxy(101,6);
cout<<tt<<endl;
gotoxy(0,22);


a=getchar();
if(toupper(a)=='S')
break;

//gotoxy(0,22);
//system("PAUSE");

}
}
}


cout<<"-----------------------------------------------------------------------------------------------------------------\n";
consulta2>>cod;



           
               system("PAUSE");
               repetido=true;
               break;
           }
           consulta1>>cc;
       }
       if(repetido==false){
        /*system("cls");
           cout<<"NOMBRE: ";
           cin>>nom;
           cout<<"APELLIDO: ";
           cin>>ape;
           cout<<"DIRECCION: ";
           cin>>dir;
           cout<<"TELEFONO: ";
           cin>>telf;
         

           escritura<<auxcc<<" "<<nom<<" "<<ape<<" "<<dir<<" "<<telf<<endl;
           system("cls");
           system("COLOR A");
           cout<<"Registro Ageragado"<<endl;
           system("PAUSE");*/
       }

   }else{
    system("cls");
          system("COLOR 4");
            cout<<"\n\n\n\n\n\n\n\n\n\n";
               cout<<"\t\t\t\t**************************************************************\n";
    cout<<"\t\t\t\t*   Error, el Archivo No se Pudo Abrir o No ha sido Creado   *\n";
    cout<<"\t\t\t\t**************************************************************\n";
    cout<<"\n\n\n\n\n\n";
               system("PAUSE");
   }
   escritura.close();
   consulta1.close();
   consulta2.close();
}//Fin funcion FACTURACION

void salir(){
system("cls");
          system("COLOR 2");
            cout<<"\n\n\n\n\n\n\n\n\n\n";
               cout<<"\t\t\t\t************************************************************\n";
    cout<<"\t\t\t\t*              ¡GRACIAS POR USAR EL PROGRAMA!              *\n";
    cout<<"\t\t\t\t************************************************************\n";
    cout<<"\n\n\n\n\n\n";
               system("PAUSE");
               
               
}






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)