autor: Rafael Damaso Santos, e-mail: rafa-escorpion@live.com.mx grupo: O6 */
/*ejecutenlo de preferencia en dev-c++, en caso de que usen el visual, quiten el comentario de la lib "stdafx") saludos */
//#include "stdafx.h"
#include "fstream"
#include "iostream"
#include "string"
#include "cstdlib"
#include "iomanip"
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
/******************************** FUNCIONES *******************************/
void escanear();
void consulta();
void modifica();
void pausa();
/*****************************************************************************/
using namespace std;
int main()
{
int opcion=0, i=0;
do
{
system("cls");
cout<<"***************************************"<<endl;
cout<<"*BASE DE DATOS DE LA TIENDA LA PEQUEÑA*"<<endl;
cout<<"***************************************"<<endl;
cout<<"* Desarrollador: RAFAEL DAMASO SANTOS *"<<endl;
cout<<"***************************************"<<endl;
cout<<"\n MENU DE OPCIONES\n";
cout<<" 1. REGISTRO DE LOS PRODUCTOS.\n";
cout<<" 2. CONSULTA DE LOS PRODUCTOS.\n";
cout<<" 3. MODIFICA LA BASE DE DATOS.\n";
cout<<"\n";
cout<<" 0. SALIR";
cout<<"\n\n Elige una opcion: ";
cin>>opcion;
switch(opcion)
{
case 0:
break;
case 1:
escanear();
case 2:
consulta();
case 3:
modifica();
default:
cout<<" opcion no disponible mi estimad@"<<endl;
pausa();
} // switch
}// do
while(opcion !=0);
}//end of main
void pausa() //función que nos ayuda a parar el programa cuando lo necesitemos
{
cout<<"\n\n\n\n Pulsa cualquier tecla... ";
getch();
}//end of pausa
void escanear() //funcion que pide por teclado los datos del producto
{
fstream listacodigo;
string codigo;
string producto;
string precio;
string cantidad;
double cost;
int cont=0;
char option;
listacodigo.open("c:\\Examen de Damaso.txt", ios::out);
if(!listacodigo)
{
cout<<"******************************************"<<endl;
cout<<"*** ERROR AL CREAR SU ARCHIVO ***"<<endl;
cout<<"*** INTENTE DE NUEVO ***"<<endl;
cout<<"*** O PONGASE EN CONTACTO CON NOSOTROS ***"<<endl;
cout<<"******************************************"<<endl;
exit (EXIT_FAILURE);
}
while (cont==0)
{
system("cls");
codigo="";
producto="";
precio="";
cantidad="";
cost=0;
cout<<"\n Complete la informacion pedida: \n"<<endl;
while(codigo=="")
{
cout<<"codigo del producto: \n";
getline(cin,codigo);
}
while(producto=="")
{
cout<<"nombre del producto: "<<endl;
getline(cin,producto);
}
while(precio=="")
{
cout<<"precio del producto: \n";
getline(cin,precio);
}
while(cantidad=="")
{
cout<<"cantidad de producto: "<<endl;
getline(cin,cantidad);
listacodigo<<codigo<<"|"<<producto<<"|"<<precio<<"|"<<cantidad <<endl;
cout<<"\n REGISTRAR OTRO PRODUCTO? (S/N): ";
cin>>option;
if(option=='n'||option=='N') {cont=1;}
}
listacodigo.close();
}
void consulta()
{
fstream listacodigo;
string codigo;
string producto;
string precio;
string cantidad;
string linea;
int cod1,cod2,cod3,cod4;
listacodigo.open("c:\\Examen de Damaso.txt", ios::out);
if(!listacodigo)
{
cout<<"*** ERROR AL CREAR SU ARCHIVO ***"<<endl;
cout<<"*** INTENTE DE NUEVO ***"<<endl;
cout<<"*** O PONGASE EN CONTACTO CON NOSOTROS ***"<<endl;
exit (EXIT_FAILURE);
}
cout << setprecision(2) << setiosflags(ios:: fixed);
cout << "Codigo Producto precio cantidad \n"<<endl;
getline(listacodigo, linea, '\n');
while ( !listacodigo.eof())
codigo="";
producto="";
precio="";
cantidad="";
cod1=linea.find('|');
cod2=linea.find('|', cod1 + 1);
cod3=linea.find('|', cod2 + 1);
cod4=linea.find('|', cod3 + 1);
codigo=linea.substr(0, cod1);
producto=linea.substr(cod1 + 1, cod2 - cod1 - 1);
precio=linea.substr(cod2 + 1, cod3 - cod2 - 1);
cantidad=linea.substr(cod3 + 1, cod4 - cod3 - 1);
cout<<codigo<<" " <<producto<<" "<<precio<<" "<<cantidad<<getline(codigo,linea,'\n');
}
listacodigo.close();
cout<<"\nPresione cualquier tecla y ENTER para regresar al menu"<<endl;
cin>>linea;
void modifica()
{
fstream listacodigo;
string codigo;
string producto;
string precio;
string cantidad;
string linea;
string modific;
string tmp;
long posicion=0;
listacodigo.open("c:\\Examen de Damaso.txt", ios::out | ios :: out);
if(!listacodigo)
{
cout<<"******************************************"<<endl;
cout<<"*** ERROR AL CREAR SU ARCHIVO ***"<<endl;
cout<<"*** INTENTE DE NUEVO ***"<<endl;
cout<<"*** O PONGASE EN CONTACTO CON NOSOTROS ***"<<endl;
cout<<"******************************************"<<endl;
exit (EXIT_FAILURE);
}
getline(cin,codigo),'n');
cout<<"**********************************************"<<endl;
cout<<"* MODIFICACION DE LA INFORMACION *\n";
cout<<"*NOTIFIQUE QUE SE HABRA CAMBIOS EN SU SISTEMA*\n";
cout<<"**********************************************\n"<<endl;
cout<<"PRODUCTO: ";
getline(cin,modific,'n');
getline(listacodigo,tmp,'n');
while(tmp.substr(0, modific.size()) !=modific && !listacodigo.eof())
{
posicion=listacodigo.tellg();
getline(listacodigo,tmp,'\n');
}
if(listacodigo.eof())
{
cout<<"****************************"<<endl;
cout<<"*NO SE ENCONTRO EL PRODUCTO*"<<endl;
cout<<"****************************"<<endl;
listacodigo.clear();
}
else
{
cout<<"Producto: ";
cin>>producto;
cout<<"precio: ";
cin>>precio;
cout<<"cantidad";
cin>>cantidad;
listacodigo.seekg(posicion);
listacodigo<<modific<<"|"<<producto<<"|"<<precio<<"|"<<cantidad<<"|"<<endl;
listacodigo.close();
system("cls");
cosulta();
}
}