Dev - C++ - Crear un estado de cuenta o resultados bancarios.

 
Vista:

Crear un estado de cuenta o resultados bancarios.

Publicado por jair (1 intervención) el 02/12/2022 06:04:44
Ya tengo mi programa casi acabado, solo me falta agregar los estados de cuentas o resultados de todos mis movimientos realizados, lo cual no se como resolverlo


#include <iostream>
#include <stdlib.h>
#include <fstream>
#include <cstdlib>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;

struct registro{int id;
char nombre[20];
char pat[20];
char mat[20];
int sexo; //1 mas, 2 fem
int edad;
char telefono[11];
char ciudad[20];
int valido;};

struct cliente{int dim;
int n_cuenta;
float saldo;
int valido;
int estadoCuenta[50];
int cliente;
int retirosn;
int estado;};



int menu(void);
int validarNumero(char numero[]);
void capturar(registro &re,cliente &cl,int &id);
int obtenerId(void);
void grabarId(int id);
void alta(registro &re);
void alta2(cliente &cl);
void imprimirRegistro(registro &re,cliente &cl);
void consultaTodos(registro &re,cliente &cl);
void depositos(cliente &cl,registro &re);
void retiro(cliente &cl,registro &re);
void imprimirsaldo(cliente &cl, registro &re);
void imprimirRegistro2(cliente &cl);
void cambiosdeposito(cliente &cl);
void cambiosretiros(cliente &cl);
void imprimirsaldo1(cliente &cl, registro &re);
void bajas(registro &re, cliente &cl);
void valido(registro &re, cliente &cl);
void novalido(registro &re, cliente &cl);
void buscar(registro &re, cliente &cl);
void menuCambios(registro &re, cliente &cl);
void cambios(registro &re, cliente &cl);
void login();


int main(){

int op;
int id;
registro re;
cliente cl;//Llamo al vector
string otro;
login();

id=obtenerId();//Obtengo el id en el que me quede

do{

op=menu();

switch(op){
case 1:
capturar(re,cl,id);

alta(re);
alta2(cl);
grabarId(id);
cout<<"\n\t\t";
system("pause");
break;
case 2: consultaTodos(re,cl);
break;
case 3: depositos(cl,re);
break;
case 4: retiro(cl,re);

break;
case 5: bajas(re,cl);
break;
case 6:imprimirsaldo(cl,re);
break;
case 7:valido(re,cl);
break;
case 8: novalido(re,cl);
break;
case 9:buscar(re,cl);
break;
case 10:cambios(re,cl);
break;
case 11:login();
break;
case 12:
break;

default:cout<<"Opcion incorrecta"<<endl;
}//fin de switch
system("pause");


}while(op!=12);




}//Fin del main

void cambios(registro &re, cliente &cl){
int id;
string enter;
string str;
string res;
char numero[5];
int N;
fstream auxn1;
fstream auxn2;//hago lectura y escritura
auxn1.open("D://Programacion2/clientes.dat",ios::out|ios::in|ios::binary);
auxn2.open("D://Programacion2/Estados.dat",ios::out|ios::in|ios::binary);

if(auxn1,auxn2){
system("cls");
do{
cout << "Ingrese el cambio a realizar: ";
scanf("%s", numero);
N=validarNumero(numero);

}while(N==0);

id=atoi(numero);


auxn1.seekg(0,ios::beg);//Me posiciono al inicio
auxn2.seekg(0,ios::beg);//Me posiciono al inicio
auxn1.seekg((id)*sizeof(re),ios::beg);
auxn2.seekg((id)*sizeof(cl),ios::beg);
auxn1.read((char *)&re, sizeof(re));
auxn2.read((char *)&cl, sizeof(cl));
imprimirRegistro(re,cl);
imprimirRegistro2(cl);
system("pause");
menuCambios(re,cl);
auxn1.seekg((id)*sizeof(re),ios::beg);
auxn2.seekg((id)*sizeof(cl),ios::beg);
auxn1.write((char *)&re,sizeof(re));
auxn2.write((char *)&cl,sizeof(cl));

cout << "Cambios realizados con exito "<< endl;

}//Fin del if
else
cout<<"El id no existe o el socios esta dado de baja"<<endl;
auxn1.close();
auxn2.close();

}//Fin de cambios

void menuCambios(registro &re, cliente &cl){
string res;
string enter;
string str;
char numero[11];
int N;
int op;
system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;
cout<<"MENU DE CAMBIOS\n"<<endl;
cout<<"-----------------\n\n"<<endl;
cout<<"ID DEL SOCIO "<<re.id<<endl;
cout<<"Sexo.............................1"<<endl;
cout<<"Edad.............................2"<<endl;
cout<<"Telefono.........................3"<<endl;
cout<<"Ciudad...........................4"<<endl;


cout<<"Dame la opcion";
cin>>op;
do{
switch(op){
case 1:
system("cls");
cout<<"Sexo 1-Masculino, 2-Femenino "<<endl;
do{
cout << "Ingrese el cambio a realizar: ";
scanf("%s", numero);
N=validarNumero(numero);

}while(N==0);

re.sexo=atoi(numero);

break;
case 2:
system("cls");
cout<<"Ingrese la edad a cambiar: "<<endl;
do{

scanf("%s", numero);
N=validarNumero(numero);

}while(N==0);

re.edad=atoi(numero);

break;
case 3:
system("cls");
cout<<"Telefono: "<<endl;
cin>>re.telefono;
break;
case 4:
system("cls");
cout<<"Ciudad: "<<endl;
cin>>re.ciudad;
break;
}//Fin de switch


cout<<"Otro cambio s/n";
cin>>res;
}while(res !="n");

}//Fin de menu

void buscar(registro &re, cliente &cl){
int id;
string enter;
string str;
string res;
fstream auxn1;
fstream auxn2;//hago lectura y escritura
auxn1.open("D://Programacion2/clientes.dat",ios::out|ios::in|ios::binary);
auxn2.open("D://Programacion2/Estados.dat",ios::out|ios::in|ios::binary);

if(auxn1,auxn2){
system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;
cout<<"BUSQUEDA DE SOCIOS\n"<<endl;
cout<<"-----------------\n\n"<<endl;
cout<<"Ingrese su id: ";

while( getline( cin, str ) ) {
const char *idx = str.c_str( );
while( *idx && *idx >= '0' && *idx <= '9' )
++idx;
if( !( *idx ) )
break;
cout << "Entrada inválida.\n";
}//Fin del while
id= atoi( str.c_str( ) );
cout << "El dato es: " << id<< endl;
auxn1.seekg(0,ios::beg);//Me posiciono al inicio
auxn2.seekg(0,ios::beg);//Me posiciono al inicio
auxn1.seekg((id)*sizeof(re),ios::beg);
auxn2.seekg((id)*sizeof(cl),ios::beg);
auxn1.read((char *)&re, sizeof(re));
auxn2.read((char *)&cl, sizeof(cl));
if((id==re.id)&&(id==cl.n_cuenta)){
imprimirRegistro(re,cl);
imprimirRegistro2(cl);
system("pause");
}//Fin del if 2


}//Fin del if
else
cout<<"El id no existe o el socios esta dado de baja"<<endl;
auxn1.close();
auxn2.close();
}//Fin de buscar



void novalido(registro &re, cliente &cl){
int id;
string enter;
string res;
fstream auxn1;
fstream auxn2;//hago lectura y escritura
auxn1.open("D://Programacion2/clientes.dat",ios::out|ios::in|ios::binary);
auxn2.open("D://Programacion2/Estados.dat",ios::out|ios::in|ios::binary);

if(auxn1,auxn2){
auxn1.seekg(0,ios::beg);//Se podiciona al inicio del archivo
auxn2.seekg(0,ios::beg);//Se podiciona al inicio del archivo
auxn1.read((char *)&re, sizeof(re));
auxn2.read((char *)&cl, sizeof(cl));
system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;
cout<<"BUSQUEDA NO VALIDOS\n"<<endl;
cout<<"-----------------\n\n"<<endl;
while((!auxn1.eof())&&(!auxn2.eof())){

if((re.valido==0)&&(cl.estado ==0)){
imprimirRegistro(re,cl);
imprimirRegistro2(cl);

}
auxn1.read((char *)&re,sizeof(re));
auxn2.read((char *)&cl,sizeof(cl));
system("pause");
}//Fin del while
}//Fin del if 2

else
cout<<"El archivo no se pudo abrir \n";

auxn1.close();
auxn2.close();


}//Fin de valido

void valido(registro &re, cliente &cl){
int id;
string enter;
string res;
fstream auxn1;
fstream auxn2;//hago lectura y escritura
auxn1.open("D://Programacion2/clientes.dat",ios::out|ios::in|ios::binary);
auxn2.open("D://Programacion2/Estados.dat",ios::out|ios::in|ios::binary);

if(auxn1,auxn2){
auxn1.seekg(0,ios::beg);//Se podiciona al inicio del archivo
auxn2.seekg(0,ios::beg);//Se podiciona al inicio del archivo
auxn1.read((char *)&re, sizeof(re));
auxn2.read((char *)&cl, sizeof(cl));
system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;
cout<<"BUSQUEDA VALIDOS\n"<<endl;
cout<<"-----------------\n\n"<<endl;
while((!auxn1.eof())&&(!auxn2.eof())){

if((re.valido==1)&&(cl.estado ==1)){
imprimirRegistro(re,cl);
imprimirRegistro2(cl);

}
auxn1.read((char *)&re,sizeof(re));
auxn2.read((char *)&cl,sizeof(cl));
system("pause");
}//Fin del while
}//Fin del if 2

else
cout<<"El archivo no se pudo abrir \n";

auxn1.close();
auxn2.close();


}//Fin de valido

void bajas(registro &re, cliente &cl){
int id;
string enter;
string res;
char numero[5];
int N;
fstream aux7;
fstream aux8;//hago lectura y escritura
aux7.open("D://Programacion2/clientes.dat",ios::out|ios::in|ios::binary);
aux8.open("D://Programacion2/Estados.dat",ios::out|ios::in|ios::binary);

if(aux7,aux8){

system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;
cout<<"DAR DE BAJA A SOCIO\n"<<endl;
cout<<"-----------------\n\n"<<endl;

do{
cout << "Ingrese el numero de cuenta: ";
scanf("%s", numero);
N=validarNumero(numero);

}while(N==0);

id=atoi(numero);
aux7.seekg(0,ios::beg);//Me posiciono al inicio
aux8.seekg(0,ios::beg);//Me posiciono al inicio
aux7.seekg((id)*sizeof(re),ios::beg);
aux8.seekg((id)*sizeof(cl),ios::beg);
aux7.read((char *)&re, sizeof(re));
aux8.read((char *)&cl, sizeof(cl));
if((re.valido==1)&&(cl.estado==1)){
imprimirRegistro(re,cl);
imprimirRegistro2(cl);
cout<<"Seguro que quiere darse de baja s/n";
cin>>res;
if(res=="s"){


aux7.seekg((id)*sizeof(re),ios::beg);
aux8.seekg((id)*sizeof(cl),ios::beg);
re.valido=0;
cl.estado=0;
aux7.write((char *)&re,sizeof(re));
aux8.write((char *)&cl,sizeof(cl));
cout<<"El socio ya se dio de baja "<<endl;


}//Fin si
else
cout<<"Dijo que siempre no "<<endl;

}//Fin de if
else
cout<<"El id no existe o el socio esta dado de baja"<<endl;

}//Fin if
else
cout<<"Error en el archivo de socio "<<endl;

aux7.close();
aux8.close();




}//Fin bajas

void imprimirsaldo1(cliente &cl, registro &re){
int i, n_cuenta, aux = 0;
char numero[5];
int N;

system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;
cout<<"VER SALDO ACTUAL\n"<<endl;
cout<<"-----------------\n\n"<<endl;

cout<<"Ingrese Numero de Cuenta: "<<endl;


do{
scanf("%s", numero);
N=validarNumero(numero);

}while(N==0);

n_cuenta=atoi(numero);


system("pause");

if((n_cuenta == cl.n_cuenta)&&(n_cuenta==re.id)){
system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;
cout<<"VER SALDO ACTUAL\n"<<endl;
cout<<"-----------------\n\n"<<endl;
cout<<"Numero de Cuenta:" <<cl.n_cuenta<<endl ;
cout<<"Nombre del Socio:"<<re.nombre<<endl;
cout<<"Saldo Actual: "<<cl.saldo<<endl;
for(int i=0; i<cl.dim; i++){

cout << cl.estadoCuenta[i] << endl;

}//fin for


aux = 1;
}


if(aux == 0){
cout<<"\nNumero de Cuenta no existe.\n"<<endl;
}

system("pause");



}//Fin de imprimir

void imprimirsaldo(cliente &cl, registro &re){
int id;
string enter;
string res;
char numero[5];
int N;
fstream aux3;
fstream aux4;//hago lectura y escritura
aux3.open("D://Programacion2/clientes.dat",ios::out|ios::in|ios::binary);
aux4.open("D://Programacion2/Estados.dat",ios::out|ios::in|ios::binary);

if(aux3,aux4){

system("cls");

do{
cout << "Ingrese el numero de cuenta: ";
scanf("%s", numero);
N=validarNumero(numero);

}while(N==0);

id=atoi(numero);
aux3.seekg(0,ios::beg);//Me posiciono al inicio
aux4.seekg(0,ios::beg);//Me posiciono al inicio
aux3.seekg((id)*sizeof(re),ios::beg);

aux4.seekg((id)*sizeof(cl),ios::beg);
aux3.read((char *)&re, sizeof(re));
aux4.read((char *)&cl, sizeof(cl));
imprimirsaldo1(cl,re);
aux3.seekg((id)*sizeof(re), ios::beg);
aux4.seekg((id)*sizeof(cl), ios::beg);
aux3.write((char *)&re,sizeof(re));
aux4.write((char *)&cl,sizeof(cl));

cout<<"El registro se grabo con exito "<<endl;

}//Fin if
else
cout<<"Error en el archivo de alumno "<<endl;

aux3.close();
aux4.close();



}//Imprimir saldo


void cambiosdeposito(cliente &cl){
int i,n_cuenta, aux = 0;
float deposito;
float saldo;
char numero[11];
int N;

system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;
cout<<"REALIZAR DEPOSITO\n"<<endl;
cout<<"---------------\n\n"<<endl;

cout<<"Ingrese Numero de Cuenta: "<<endl;
do{
scanf("%s",numero);
N=validarNumero(numero);

}while(N==0);

n_cuenta=atoi(numero);

if(n_cuenta == cl.n_cuenta){
aux = 1;
cout<<"Ingrese valor a depositar: $"<<endl;
do{
scanf("%s",numero);
N=validarNumero(numero);

}while(N==0);

deposito=atoi(numero);

saldo=cl.saldo+deposito;
cl.saldo=saldo;

cout<<"\nEl deposito se realizo correctamente.\n"<<endl;

}


if(aux == 0){
cout<<"\nNumero de Cuenta no existe.\n"<<endl;
}



}//Fin de cambios

void cambiosretiros(cliente &cl){
int i,n_cuenta, aux = 0;
int retiro;
float saldo;
char numero[11];
int N;

system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;
cout<<"REALIZAR RETIRO\n"<<endl;
cout<<"---------------\n\n"<<endl;




do{
cout<<"Ingrese Numero de Cuenta: "<<endl;
scanf("%s",numero);
N=validarNumero(numero);

}while(N==0);

n_cuenta=atoi(numero);


if(n_cuenta == cl.n_cuenta){
cl.estado = 1;



do{
cout<<"Ingrese valor a retirar: $"<<endl;
do{
scanf("%s",numero);
N=validarNumero(numero);

}while(N==0);

retiro=atoi(numero);


cl.estadoCuenta[cl.dim]=retiro;
cl.dim++;

if(retiro > cl.saldo){
cout<<"No tiene fondos suficientes "<<endl;
}//fin if
}while(retiro > cl.saldo);

saldo=cl.saldo-retiro;
cl.saldo=saldo;

}
cout<<"\nEl retiro se realizo correctamente.\n"<<endl;



if(cl.estado == 0){
cout<<"\nNumero de Cuenta no existe.\n"<<endl;
}


system("pause");

}//Fin de retiro


void retiro(cliente &cl,registro &re){
int id;
string enter;
string res;
char numero[5];
int N;
fstream auxn;//hago lectura y escritura
fstream aux2;//hago lectura y escritura
auxn.open("D://Programacion2/clientes.dat",ios::out|ios::in|ios::binary);
aux2.open("D://Programacion2/Estados.dat",ios::out|ios::in|ios::binary);
if(auxn,aux2){


do{
cout << "Ingrese el numero de cuenta: ";
scanf("%s", numero);
N=validarNumero(numero);

}while(N==0);

id=atoi(numero);
auxn.seekg(0,ios::beg);//Me posiciono al inicio
aux2.seekg(0,ios::beg);//Me posiciono al inicio
auxn.seekg((id)*sizeof(re),ios::beg);
aux2.seekg((id)*sizeof(cl),ios::beg);
auxn.read((char *)&re, sizeof(re));
aux2.read((char *)&cl, sizeof(cl));
cambiosretiros(cl);
imprimirRegistro(re,cl);
imprimirRegistro2(cl);
auxn.seekg((id)*sizeof(re), ios::beg);
aux2.seekg((id)*sizeof(cl), ios::beg);
auxn.write((char *)&re,sizeof(re));
aux2.write((char *)&cl,sizeof(cl));


cout<<"El registro se grabo con exito "<<endl;

}//Fin if
else
cout<<"Error en el archivo de alumno "<<endl;
auxn.close();
aux2.close();


}//Fin de retiro



void depositos(cliente &cl,registro &re){
int id;
string enter;
string res;
char numero[5];
int N;
fstream aux0;//hago lectura y escritura
fstream aux1;//hago lectura y escritura
aux0.open("D://Programacion2/clientes.dat",ios::out|ios::in|ios::binary);
aux1.open("D://Programacion2/Estados.dat",ios::out|ios::in|ios::binary);
if(aux0,aux1){
system("cls");
cout<<"Ingrese Numero de Cuenta: "<<endl;
do{
scanf("%s", numero);
N=validarNumero(numero);

}while(N==0);

id=atoi(numero);
aux0.seekg(0,ios::beg);//Me posiciono al inicio
aux1.seekg(0,ios::beg);//Me posiciono al inicio
aux0.seekg((id)*sizeof(re),ios::beg);
aux1.seekg((id)*sizeof(cl),ios::beg);
aux0.read((char *)&re, sizeof(re));
aux1.read((char *)&cl, sizeof(cl));
cambiosdeposito(cl);
imprimirRegistro(re,cl);
imprimirRegistro2(cl);
aux0.seekg((id)*sizeof(re), ios::beg);
aux1.seekg((id)*sizeof(cl), ios::beg);
aux0.write((char *)&re,sizeof(re));
aux1.write((char *)&cl,sizeof(cl));

}//Fin if
else
cout<<"Error en el archivo de alumno "<<endl;

aux0.close();
aux1.close();


}//Fin de deposito

void consultaTodos(registro &re,cliente &cl){
system("cls");
ifstream lectura;
ifstream lectura2;
lectura.open("D://Programacion2/clientes.dat", ios::in|ios::binary);
lectura2.open("D://Programacion2/Estados.dat", ios::in|ios::binary);

if(lectura,lectura2){
lectura.seekg(0,ios::beg);//Se podiciona al inicio del archivo
lectura2.seekg(0,ios::beg);//Se podiciona al inicio del archivo
lectura.read((char *)&re, sizeof(re));
lectura2.read((char *)&cl, sizeof(cl));

while((!lectura.eof())&&(!lectura2.eof())){
imprimirRegistro(re,cl);
imprimirRegistro2(cl);

lectura.read((char *)&re,sizeof(re));

lectura2.read((char *)&cl,sizeof(cl));
system("pause");

cout<<"----------------------"<<endl;
cout<<"Fin de lectura del archivo"<<endl;

}//Fin while

}//Fin del if
else
cout<<"El archivo no se pudo abrir \n";

lectura.close();
lectura2.close();

}//Fin consulta



void imprimirRegistro2(cliente &cl){
cout<<"Numero de cuenta: "<<cl.n_cuenta<<endl;

cout<<"Saldo: "<<cl.saldo<<endl;
if(cl.estado==1){
cout<<"Valido: Registro activo "<<endl;
}//Fin del if
else{
cout<<"Valido: No activo "<<endl;
}//Fin else
cout<<"\t________________________________\n";

cout<<"---------------------------------------\n\n"<<endl;
}//fin imprimir 2



void imprimirRegistro(registro &re,cliente &cl){
system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;
cout<<"SOCIOS REGISTRADOS\n"<<endl;
cout<<"---------------\n\n"<<endl;


cout<<"Id: "<<re.id<<endl;
cout<<"Nombre: "<<re.nombre<<endl;
cout<<"Apellido Paterno: "<<re.pat<<endl;
cout<<"Apellido Materno: "<<re.mat<<endl;

if(re.sexo==2){
cout<<"Sexo:Mujer "<<endl;
}//Fin del if
else{
cout<<"Sexo: Hombre"<<endl;
}//Fin del if
cout<<"Edad: "<<re.edad<<endl;
cout<<"Telefono: "<<re.telefono<<endl;
cout<<"Ciudad: "<<re.ciudad<<endl;
if(re.valido==1){
cout<<"Valido: Registro activo "<<endl;
}//Fin del if
else{
cout<<"Valido: No activo "<<endl;
}//Fin else
cout<<"\t________________________________\n";

}//Fin de registro



void alta2(cliente &cl){

ofstream escritura2;
escritura2.open("D://Programacion2/Estados.dat",ios::out|ios::app|ios::binary);
if (escritura2){
escritura2.write((char *)&cl, sizeof(cl));
cout<<"El registro se grabo con exito "<<endl;

}//Fin if
else
cout<<"Error en el archivo Estados.dat"<<endl;
escritura2.close();

}//Fin de alta2


void alta(registro &re){
ofstream escritura;

escritura.open("D://Programacion2/clientes.dat",ios::out|ios::app|ios::binary);
if(escritura){
escritura.write((char *)&re, sizeof(re));
cout<<"El registro se grabo con exito "<<endl;

}//Fin del if
else
cout<<"Error en el archivo contratados.dat"<<endl;



escritura.close();

}//Fin alta



void login(){
char usuario[30] = "UAA";
char contra[30] = "12345";
char usu[30], con[30];
int intentos = 0, i;
char caracter;
fflush(stdin);

do{
intentos++;
i = 0;
system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;

cout<<"INICIO DE SESION\n"<<endl;
cout<<"-----------------\n\n"<<endl;
cout<<"Usuario: "<<endl;
gets(usu);
printf("Contrasena: ");
while(caracter = getch()){
if(caracter == 13){
con[i] = '\0';
break;
}

else if(caracter == 8){
if(i > 0){
i--;
cout<<"\b \b"<<endl;
}
}

else{
cout<<"*";
con[i] = caracter;
i++;
}
}

if(strcmp(usuario,usu) == 0 && strcmp(contra,con) == 0){
cout<<"\n\nLos datos ingresados son correctos!\n"<<endl;
system("pause");
menu();
}

else if(intentos == 3){
cout<<"\n\nDatos incorrectos! Ha excedido el numero de intentos!\n"<<endl;
system("pause");
exit(0);
}

else{
cout<<"\n\nDatos incorrectos! Intetelo de nuevo.\n"<<endl;
system("pause");
}
}while(intentos != 1);


}//Fin login

void capturar(registro &re, cliente &cl,int &id){
string enter;
string str;
char numero[11];
int N;


getline(cin,enter);
system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;
cout<<"REGISTRAR SOCIO\n"<<endl;
cout<<"---------------\n\n"<<endl;
cout << "ID: "<< id << endl;
re.id=id;
cl.cliente=re.id;
cl.n_cuenta=re.id;
cl.saldo = 0;

cout<<"ID cuenta: "<<cl.n_cuenta<<endl;


cout<<"Nombre: ";
cin.getline(re.nombre,20);//getline es para char
cout<<"Apellido Paterno: ";
cin.getline(re.pat,20);
cout<<"Apellido Materno: ";
cin.getline(re.mat,20);
//Capturo las marcas

cout<<"Sexo 1-Masculino, 2-Femenino "<<endl;

while( getline( cin, str ) ) {
const char *idx = str.c_str( );
while( *idx && *idx > '0' && *idx <= '2' )
++idx;
if( !( *idx ) )
break;
cout << "Entrada inválida.\n";
}//Fin del while
re.sexo = atoi( str.c_str( ) );
cout << "El dato es: " << re.sexo<< endl;



cout<<"Edad: "<<endl;

while( getline( cin, str ) ) {
const char *idx = str.c_str( );
while( *idx && *idx >= '0' && *idx <= '9' )
++idx;
if( !( *idx ) )
break;
cout << "Entrada inválida.\n";
}//Fin del while
re.edad = atoi( str.c_str( ) );
cout << "El dato es: " << re.edad<< endl;


cout<<"Telefono: "<<endl;
gets(re.telefono);

cout << "Ciudad: ";
cin.getline(re.ciudad,20);

cl.estado=1;
re.valido=1;
id ++;


}//Fin del registro

int menu(void){
int op;
string str; // Cadena leída

system("cls");
cout<<"\t\t\t\t\t ===========================\n"<<endl;
cout<<"\t\t\t\t\t SISTEMA BANCARIO \n"<<endl;
cout<<"\t\t\t\t\t ===========================\n\n\n"<<endl;
cout<<"MENU PRINCIPAL\n"<<endl;
cout<<"--------------\n\n"<<endl;
cout<<"1. Registrar Socio\n"<<endl;
cout<<"2. Ver Socio Registrados\n"<<endl;
cout<<"3. Realizar Deposito\n"<<endl;
cout<<"4. Realizar Retiro\n"<<endl;
cout<<"5. Dar de baja a socio\n"<<endl;
cout<<"6. Ver Saldo Actual\n"<<endl;
cout<<"7. Socio Valido\n"<<endl;
cout<<"8. Socio No Validos\n"<<endl;
cout<<"9.Buscar socio \n"<<endl;
cout<<"10. Cambios en el registro del socio\n"<<endl;
cout<<"11. Cerrar Sesion\n"<<endl;
cout<<"12. Salir del Programa\n\n"<<endl;
cout<<"Ingrese una opcion: "<<endl;

while( getline( cin, str ) ) {
const char *idx = str.c_str( );

// Mientras que no lleguemos al final de la cadena,
// y el caracter sea un dígito.
while( *idx && *idx >= '0' && *idx <= '9' )
++idx;

// Si llegamos al final de la cadena, la validación es correcta.
if( !( *idx ) )
break;

cout << "Entrada inválida.\n";
}//Fin del while

// Convertimos la cadena en entero.
op = atoi( str.c_str( ) );
// Y lo mostramos.
cout << "El dato es: " << op << endl;
cout<<"Bienvenido"<<endl;
cout<<"Presiona enter"<<endl;
return op;

}//Fin del menu

int obtenerId(void){
ifstream consulta;
int id;


consulta.open("D://Programacion2/clientes.txt",ios::in);
if(consulta)
consulta>>id;
else
cout<<"No pude abrir el archivo de clientes"<<endl;
consulta.close();
return id;
}//Fin de obtener id

void grabarId(int id){
ofstream escritura;

escritura.open("D://Programacion2/clientes.txt",ios::out);

if(escritura){

escritura<<id;

}//Fin del if

else
cout<<"Error en el archivo de Clientes "<<endl;

escritura.close();

}//Fin de grabar

int validarNumero(char numero[]){

for(int i=0; i<strlen(numero); i++){
if(!(isdigit(numero[i]))){

cout << "Ingresa solo numeros "<< endl;
return 0;
}
}
return 1;
}//Fin de validar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder