#include <iostream>
#include <string>
#include <cstdlib>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#include <fstream>
#define USER "admin"
#define PASS "pavisb6"
#define ENTER 13
#define BACKSPACE 8
FILE *archivo;
using namespace std;
int main(void) {
system("color 0B");
string usuario, password;
int contador = 0;
bool ingresa = false;
do {
system("cls");
cout << "\t\t\tCyber Card" << endl;
cout << "\n\tUsuario: ";
getline(cin, usuario);
cout << "\tPassword: ";
char caracter;
caracter = getch();
password = "";
while (caracter != ENTER) {
if (caracter != BACKSPACE) {
password.push_back(caracter);
cout << "*";
}
else {
if (password.length() > 0) {
cout << "\b \b";
password = password.substr(0, password.length() - 1);
}
}
caracter = getch();
}
if (usuario == USER && password == PASS) {
ingresa = true;
}
else {
cout << "\n\n\tEl usuario y/o clave de acceso son incorrectos" << endl;
cin.get();
contador++;
}
} while (ingresa == false && contador < 3);
if (ingresa == false) {
cout << "\n\tUsted no pudo ingresar al sistema. ADIOS" << endl;
return 0;
}
else {
cout << "\n\n\tBienvenido al sistema" << endl;
system("PAUSE");
}
{
system("cls");
int opcion;
}
char decidir;
int opcion;
int opcion2;
char regisc [20];
char fechav [10];
char tic [15];
char pagop [10];
char pregunta;
char respuesta;
bool regresar= false;
char clientep [50];
int opcion3;
bool modificar=true;
char codip [5];
bool encontrado=true;
char auxcodip [5];
char auxnombre [30];
char auxnumtarjeta;
int opcion4;
char consulta;
do {
Menu3:
system("cls");
cout << "Menu principal" << endl << "-----------------------" << endl;
cout << "[1] Registrar pago con tarjeta y numero de tarjeta" << endl;
cout << "[2] Modificar regristro de pago y numero de tarjeta" << endl;
cout << "[3] Consultar registro de pagos y tarjeta" << endl;
cout << "[4] Eliminar pago con tarjeta" << endl;
cout << "[5] salir" << endl;
cout << "-------------------------" << endl<< endl;
cout << "Seleccione una opcion: ";
cin >> opcion;
switch(opcion) {
case 1:
{
Menu1:
system ("title Registro");
system ("cls");
cout << "registros" <<endl << "____________________________________" <<endl;
cout << "[7] resgistrar pago y tarjeta" <<endl;
cout << "[8] menu principal" << endl << "_____________________________" <<endl;
cout << "Elige una opcion" <<endl;
cin >> opcion2;
}
switch(opcion2) {
case 7:
Menu2:
{
system ("title saber card");
system ("cls");
archivo = fopen ("registro.dat","a");
cout <<" escriba un codigo para el registro" <<endl;
cin.getline (codip, 5) >> codip;
fprintf(archivo, "%s\n", codip);
cout << "escribe el numero de la tarjeta:" <<endl;
cin.getline (regisc, 25) >> regisc;
fprintf(archivo, "%s\n", regisc);
cout <<"escribe la fecha de pago:" <<endl;
cin.getline (fechav, 10) >> fechav;
fprintf(archivo, "%s\n", fechav);
cout << "escribe el tipo de tarjeta:"<< endl;
cin.getline (tic, 15) >> tic;
fprintf(archivo, "%s\n", tic);
cout<< "escribe el nombre del cliente" << endl;
cin.getline (clientep, 50) >> clientep;
fprintf (archivo, "%s\n", clientep);
cout << "escribe el monto a pagar del ariculo:" <<endl;
cin.getline (pagop, 25) >> pagop;
fprintf(archivo, "%s\n", pagop);
cout << "Desea agregar otro registro? (s/n)";
cin >> pregunta;
fclose(archivo);
if (pregunta == 's' || pregunta == 'S') {
goto Menu2;
}
else {
cout<< "Desea realizar otra operacion? (s/n)" <<endl;
cin>> respuesta;
if (respuesta == 's' || respuesta == 'S') {
goto Menu1;
}
else {
system ("cls");
cout << "adios que vuelva pronto" <<endl;
exit (0);
}
break;
}
case 8:
{
goto Menu3;
}
}
}
{
case 2:
{
Menu4:
system("title Modificar");
system("cls");
cout<<"Modificar"<<endl<<"------------------------"<<endl;
cout<<"[9]Modificar regristro de pago y/o numero de tarjeta"<<endl;
cout<<"[10]Menu principal" <<endl;
cout<<"Elige una opcion"<<endl;
cin>>opcion3;
}
{
switch(opcion3) {
case 9:
system("cls");
system("title modificar registro");
ifstream lectura;
ofstream aux;
encontrado = false;
lectura.open("registro.dat",ios::in);
aux.open("aux.dat",ios::out);
if(aux.is_open() && lectura.is_open()) {
cout<< "ingresa la clave del registro que desea modificar";
cin>>auxcodip;
lectura>>codip;
while(!lectura.eof()) {
lectura>>regisc>>fechav>>tic>>clientep>>pagop;
if(auxcodip == codip) {
encontrado = true;
cout<<"____________________________"<<endl;
cout<<"codigo:"<<codip<<endl;
cout<<"num.tarjeta:"<<regisc<<endl;
cout<<"fecha:"<<fechav<<endl;
cout<<"tipo de tarjeta:"<<tic<<endl;
cout<<"nom. cliente:"<<clientep<<endl;
cout<<"pago:"<<pagop<<endl;
cout<<"____________________________"<<endl;
cout<<"ingresa el nuevo nombre del cliente con codigo"<<codip;
aux <<codip<<" "<<regisc<<" "<<fechav<<" "<< tic<<" "<< auxnombre <<" "<<pagop;
}
else {
aux <<codip<<" "<<regisc<<" "<<fechav<<" "<<tic<<" "<<clientep<<" "<<pagop;
}
lectura>>codip;
}
}
else {
cout<<"no se a podido abrir el archivo o aun no ha sido creado"<<endl;
}
if(encontrado == true)
cout<<"no se encontro ningun registro con esa clave"<<auxcodip<<endl;
}
while (opcion=false);
}
switch (opcion3) // falta {
case 10:
{
goto Menu3;
}
} //?
break;
{
case 3:
{
system ("cls");
cout << "Consulta" <<endl<< "____________________________" << endl;
cout << "[12] Consultar datos de pago y tarjeta"<< endl;
cout << "[13] Menu pricipal"<<endl;
cout << "__________________________" << endl;
cout << "Seleccione una opcion ";
cin>>opcion4;
switch(opcion4); /* sobra el ; */ {
case 12:
Menu5:
{
case 6:
{
system ("cls");
archivo = fopen("registro.dat","r");
fscanf(archivo, "%s", regisc);
while(!feof(archivo)) {
cout << regisc <<endl;
fscanf(archivo, "%s", regisc);
}
fclose(archivo);
cout<< "Desea Realizar otra operacion?s/n" <<endl;
cin>> respuesta;
if (respuesta == 's' || respuesta == 'S') {
goto Menu3;
}
else {
system ("cls");
cout << "Adios, nos vemos luego" <<endl;
return 0;
}
}
case 13:
{
goto Menu3;
}
}
}
}
} while(consulta = true);
break;
case 4:
system("cls");
ifstream salida;
salida.open("registro.dat",ios::in);
ofstream entrada;
entrada.open("temp.dat",ios::out);
if(salida.fail()) {
cout<<"hubo un error al abrir el archivo registro.dat";
getch();
}
else {
cout<<"Introduzca el codigo de registro";
cin>>auxcodip;
salida>>codip;
while(!salida.eof()) {
salida>>regisc>>fechav>>tic>>clientep>>pagop;
if(strcmp(auxcodip,codip) == 0) {
cout<<"el registro se ha eliminado";
getch();
}
else {
entrada<<codip<<" "<<regisc<<" "<<fechav<<" "<<tic<<" "<<clientep<<" "<<pagop<<endl;
}
salida>>codip;
}
entrada.close();
salida.close();
remove("registro.dat");
rename("temp.dat","registro.dat");
}
break;
while (opcion = true);
}
} while(opcion=true);
{}
}