Sistema de gestión de cuentas bancarias lenguaje c
Si compila con VC, hay varias advertencias, simplemente puede eliminar la línea con barras dobles a continuación
Compile con VC++6.0
#include
#include
#include
#define BUFFERSIZE 1024
#define MAXACCOUNT 1000
typedef struct BankAccount
{
cuenta int;
clave int;
nombre de char[32];
saldo flotante;
}CUENTA BANCARIA;
CUENTA BANCARIA colección de cuentas[MAXACCOUNT];
int curAccount = 0 ;
void InsertAccount(FILE *fp)
{
BANKACCOUNT newaccount;
printf("ingrese la información de la cuenta \n ");
printf(">>número de cuenta:");
scanf("%d",&(newaccount.account));
printf(">>clave:");
scanf("%d",&(newaccount.key));
printf(">>nombre:") ;
scanf("%s",nuevacuenta.nombre);
printf(">>saldo:");
scanf("%f",& (newaccount.balance));
fseek(fp,0L,SEEK_END);
fprintf(fp,"%d %d %s %.2f\n", nueva cuenta. cuenta,nuevacuenta.clave,nuevacuenta.nombre,nuevacuenta.saldo);
}
void GetAccount(FILE *fp)
{
int accountnum;
int key;
nombre de char[32];
saldo flotante;
int i = 0;
//char buffer[BUFFERSIZE];
//int len;
curAccount = 0;
fseek(fp ,0 ,SEEK_SET);
while(!feof(fp)) /* Debido a que feof() se leerá dos veces al final, la cuenta curAccount final se incrementa en 1 */
{
fscanf(fp,"%d %d %s %f",&num.cuenta,&clave,nombre,&
balance);
accountCollection[curAccount].account = accountnum;
accountCollection[curAccount].key = clave;
strcpy(accountCollection[curAccount].name ,nombre);
accountCollection[curAccount].balance = saldo;
curAccount++;
}
}
void ListAccount(FILE *fp)
{
int i =0;
printf("Hay %d cuentas:\n" ,curAccount-1);/* curAccount menos el 1 adicional */
for(i = 0;i< curAccount-1;i++)
{
printf("CUENTA[%d]:\n",i+1);
printf(">>númcuenta:%d\n",accountCollection[i].cuenta); p >
printf(">>númcuenta:%s\n",coleccióncuenta[i].nombre);
printf(">>númcuenta:%.2f\n",coleccióncuenta[i ] .balance);
}
}
int SearchAccount(FILE *fp,int accountnum)
{
int i =0;
for(i = 0;i< curAccount-1;i++)
{
if(accountCollection[i] . cuenta == numcuenta)
{
printf("CUENTA[%d]:\n",i+1);
printf("> > número de cuenta:%d\n",colección de cuentas[i].cuenta);
printf(">>núm de cuenta:%s\n",colección de cuentas[i].nombre);
printf(">>númcuenta:%.2f\n",coleccióncuenta[i].saldo);
devuelve 1;
}
}
devuelve 0;
}
void DelAccount(FILE *fp,int accountnum)
{
int i;
if(CuentaBuscar(fp,acco
untnum)==0)
printf("No puedo encontrar la cuenta\n");
else
{
for(i = 0;i { if(accountCollection[i].account != accountnum) fprintf( fp,"%d %d %s %.2f\n",accountCollection[i].account,accountCollection[i].key,accountCollection[i].name,accountCollection[i].balance); } printf("¡eliminar correctamente!\n"); } } int main() p> { ARCHIVO *fp; int accountnum; int i; hacer{ // clrscr(); puts("********************************* ***** *************"); puts("* Puedes elegir: *"); puts(" * 1 : Insertar una nueva cuenta *"); puts("* 2 : Listar todas las cuentas *"); puts("* 3 : Encontrar una cuenta *") ; puts("* 4: Eliminar una cuenta *"); puts("* 5: salir *"); puts("* ***** *************************************"); puts( "Por favor ingrese su elección:"); scanf("%d",&i); //clrscr(); cambiar (i) { caso 1: if(!(fp = fopen("account.txt","a+"))) p> { printf("no se puede abrir el archivo account.txt\n"); exit(0); } InsertAccount( fp); printf("presione cualquier tecla para continuar....\n"); //getch() ; fclose(fp); break; caso 2: if(!(fp = fopen("cuenta. txt ","r"))) { printf("no se puede abrir el archivo account.txt\n"); exit( 0 ); } GetAccount(fp); ListAccount(fp); fclose(fp); printf("presione cualquier tecla para continuar....\n"); //getch(); break; case 3: printf("ingrese el número de cuenta:\n"); scanf("%d",&accountnum); if (! (fp = fopen("account.txt","r"))) { printf("no se puede abrir el archivo account.txt\n") ; salir(0); } ObtenerCuenta(fp); if(!SearchAccount(fp,accountnum)) p> printf("No existe la cuenta:%d\n",accountnum); fclose(fp); printf("presione cualquier tecla para continuar ....\n"); //getch(); break; caso 4: printf( "por favor ingrese el número de cuenta:\n"); scanf("%d",&accountnum); if(!(fp = fopen("account. txt", "r"))) { printf("puede' t abra el archivo account.txt\n"); exit(0); } GetAccount(fp); fclose(fp); if(!(fp = fopen("account.txt","w+"))) { printf( "no se puede abrir el archivo account.txt\n"); exit(0); } DelAccount(fp,accountnum); fclose(fp); printf("presione cualquier tecla para continuar....\n"); // getch();< / p> descanso; predeterminado: descanso } }mientras (i != 5); /p> // getch(); devuelve 0; }