Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C++ by nn ( 9 years ago )
#include <stdio>
void menu();
void CrearCuenta(FILE *Fichero);
void InsertarDatos(FILE *Fichero);
void VerDatos(FILE *Fichero);
void Deposito(FILE *Fichero);
struct sRegistro {
char Cuenta[25];
int contrasena;
float saldo;
float deposito;
} registro;
struct sDep{
char Cuenta[25];
float val;
char tipo;
}deposito;
int main()
{
int opcion;
int exit = 0;
FILE *fichero;
while (!exit)
{
menu();
printf("\nOpcion: ");
scanf("%d", &opcion;);
switch(opcion)
{
case 1:
CrearCuenta(fichero);
break;
case 2:
InsertarDatos(fichero);
break;
case 3:
VerDatos(fichero);
break;
case 4:
Deposito(fichero);
break;
case 0:
exit = 1;
break;
default:
printf("\nopcion no valida");
}
}
return 0;
}
void menu()
{
printf("\nMenu:");
printf("\n\t1. Crear Cuenta");
printf("\n\t2. Insertar Datos");
printf("\n\t3. Ver datos");
printf("\n\t4. Deposito");
printf("\n\t5. Retiro");
printf("\n\t0. Salir");
}
void CrearCuenta(FILE *Fichero)
{
Fichero = fopen("fichero", "r");
if(!Fichero)
{
Fichero = fopen("fichero", "w");
printf("\nArchivo creado!");
}
else
{
printf("\nEl fichero ya existe!");
}
fclose (Fichero);
return;
}
void InsertarDatos(FILE *Fichero)
{
Fichero = fopen("fichero", "a+");
if(Fichero == NULL)
{
printf("\nFichero no existe! \nPor favor creelo");
return;
}
printf("\nDigita el numero de cuenta: ");
scanf("%s", registro.Cuenta);
printf("\nDigita la contrasena: ");
scanf("%d", ®istro;.contrasena);
printf("\nDigita el saldo: ");
scanf("%f", ®istro;.saldo);
fwrite(®istro;, sizeof(struct sRegistro), 1, Fichero);
fclose(Fichero);
return;
}
void VerDatos(FILE *Fichero)
{
int numero = 1;
Fichero = fopen("fichero", "r");
if(Fichero == NULL)
{
printf("\nFichero no existe! \nPor favor creelo");
return;
}
fread(®istro;, sizeof(struct sRegistro), 1, Fichero);
printf("\nNumero \tNombre \tcontrasenia \tSaldo");
while(!feof(Fichero))
{
printf("\n%d \t%s \t%d \t%.2f", numero, registro.Cuenta,
registro.contrasena, registro.saldo);
fread(®istro;, sizeof(struct sRegistro), 1, Fichero);
numero++;
}
fclose(Fichero);
return;
}
float ExisteUs(char cta[], int pass){
FILE *Fichero;
int r;
Fichero = fopen("deposito","r");
if (Fichero!=NULL){
do{
fread(%r, sizeof(r), 1,Fichero);
if (r.contrasena==pass && strcmp(cta,r.Cuenta)==0){
fclose(Fichero);
return r.saldo;
}
}while(!feof(Fichero))
fclose(Fichero);
return -1;
}
return -1;
}
void Deposito(FILE *Fichero)
{
float sal;
float r;
int contra;
deposito.tipo='r';
Fichero = fopen("deposito", "a+");
printf("\nIngrese el Numero de cuenta y la contrasenia:");
fflush(stdin);
scanf("%s%d",&deposito;.Cuenta,&contra;);
sal=ExisteUs(cuenta,contra)
if(sal!=-1){
printf("\nIngrese el valor del deposito: ");
scanf("%f", &deposito;.val);
if (deposito.val<=sal){
fwrite(&deposito;, sizeof(deposito), 1, Fichero);
cambiarSaldo(cuenta,deposito.val);
}
}
return;
void cambiarSaldo(FILE *Fichero,char cuenta,deposito.val)
{
Fichero = fopen("deposito","r+");
do{
if (strcmp(cta,r.Cuenta)==registro.Cuenta){
r.saldo=r.saldo+deposito.val;
}
fclose(Fichero);
return r.saldo;
}
}while(
}
return;
}
Revise this Paste
Parent: 40236