Banco em C
Publicado por erico rojahn santos 22/03/2007
[ Hits: 9.369 ]
Homepage: http://kernelsys.blogspot.com
Script em C que simula um banco com todas as atividades, depósito, saldo, cadastro etc.
/* Erico Rojahn Santos
09/03/2007
Msn: ericopf@gmail.com
*/
/* Programa em C que simula um banco com todas as atividades, deposito, saldo, cadastro etc..*/
# include "stdio.h"
# include "string.h"
int n,i;
struct cliente {
char nome[20];
char cpf[11];
char conta[6];
char agencia[6];
char senha[6];
float saldo;
}usuario[20];
cadastrarCliente (){
int i=1;
printf ("\n\t\t===== CADASTRO DE CLIENTES ===== \n");
printf ("\nQuantos clientes deseja cadastrar? ");
scanf ("%d", &n);
for (i=1;i<=n;i++)
{
puts ("");
printf ("\n*-- NOME--* ");
scanf ("%s", &usuario[i].nome);
printf ("\n*--CPF--* ");
scanf ("%s", &usuario[i].cpf);
printf ("\n*--AGENCIA--* ");
scanf ("%s", &usuario[i].agencia);
printf ("\n*--NUMERO DA CONTA--* ");
scanf ("%s", &usuario[i].conta);
printf ("\n*--SENHA--* ");
scanf ("%s", &usuario[i].senha);
usuario[i].saldo = 0;
} //for
printf ("\n\n*-- operacao realizada com sucesso !!!--*");
sleep (2500) ;
}
deposito (){
int a,b,c,x;
float dep;
char agn[6], conta[6], senha[6];
printf ("\n\t\t===== DEPOSITO ===== \n");
printf ("\n*--DIGITE A SUA AGENCIA--* ");
scanf ("%s", &agn);
printf ("\n*--NUMERO DA CONTA--* ");
scanf ("%s", &conta);
for (i=1;i<=n;i++)
{
a = strcmp(agn,usuario[i].agencia);
b = strcmp(conta,usuario[i].conta);
if ( (a == 0) && (b == 0) )
{
x=1;
printf ("\n CLIENTE : %s", usuario[i].nome) ;
printf ("\n CPF : %s", usuario[i].cpf) ;
printf ("\n\n*--QUANTIDADE DO DEPOSITO--*");
scanf ("%f", &dep) ;
if (dep >= 0)
{
usuario[i].saldo = usuario[i].saldo + dep;
}//if2
else
{
printf ("\n\a *-- erro: O DEPOSITO TEM QUE SER POSITIVO --* ");
break;
}//else
}//if1
} //for
if(x!=1)
printf ("\n\a\a *-- erro: DADOS INCORRETOS ! --*");
printf ("\n\n*-- aguarde... --*");
sleep (2500) ;
}
consultaSaldo (){
char agn[6], conta[6], senha[6];
int a,b,c,x;
printf ("\n\t\t===== SALDO =====\n");
printf ("\n*--DIGITE A SUA AGENCIA--* ");
scanf ("%s", &agn);
printf ("\n*--NUMERO DA CONTA--* ");
scanf ("%s", &conta);
printf ("\n *--DIGITE A SUA SENHA--* ");
scanf ("%s", &senha);
for (i=1;i<=n;i++)
{
a = strcmp(agn,usuario[i].agencia);
b = strcmp(conta,usuario[i].conta);
c = strcmp(senha,usuario[i].senha);
if ( (a == 0) && (b == 0) && (c == 0) )
{
x=1;
printf ("\n CLIENTE : %s", usuario[i].nome) ;
printf ("\n CPF : %s", usuario[i].cpf) ;
printf ("\n\n *--SEU SALDO E : %f reais --*", usuario[i].saldo) ;
}//if
}//for
if (x != 1)
{
printf ("\n\a\a *-- erro: DADOS INCORRETOS ! --*");
}
printf ("\n\n*-- aguarde... --*");
sleep (2500) ;
}
transfere (){
char agn[6], conta[6], senha[6],agn2[6],conta2[6];
int a,b,c,d,e,j,x,l;
float val;
printf ("\n\t\t ===== TRANSFERENCIA ===== \n");
printf ("\n*--DIGITE A SUA AGENCIA--* ");
scanf ("%s", &agn);
printf ("\n*--NUMERO DA CONTA--* ");
scanf ("%s", &conta);
printf ("\n *--DIGITE A SUA SENHA--*: ");
scanf ("%s", &senha);
for (i=1;i<=n;i++)
{
a = strcmp(agn,usuario[i].agencia);
b = strcmp(conta,usuario[i].conta);
c = strcmp(senha,usuario[i].senha);
if ( (a == 0) && (b == 0) && (c == 0) )
{
l=1;
printf ("\n CLIENTE : %s", usuario[i].nome) ;
printf ("\n CPF : %s", usuario[i].cpf) ;
} //if1
if (l != 1){
printf ("\a\a*-- erro: DADOS INCORRETOS ! --*");
printf ("\n\n aguarde...");
sleep (1800);
system ("cls");
main();
}
} //for 1
printf ("\n*--DIGITE A AGENCIA DO BENEFICIADO--* ");
scanf ("%s", &agn2);
printf ("\n*--NUMERO DA CONTA DO BENEFICIADO--* ");
scanf ("%s", &conta2);
for (j=1;j<=n;j++)
{
d = strcmp(agn2,usuario[j].agencia);
e = strcmp(conta2,usuario[j].conta);
if ((d == 0) && (e == 0))
{
printf ("\n *--CLIENTE BENEFICIADO--* %s", usuario[j].nome) ;
printf ("\n*--VALOR DA TRANSFERENCIA--*");
scanf ("%f", &val);
for (i=1;i<=n;i++)
{
if (usuario[i].saldo >= val)
{
x=1;
usuario[j].saldo = usuario[j].saldo + val;
usuario[i].saldo = usuario[i].saldo - val;
}//if 3
else
{
x=0;
}
}//for3
if (x != 0){printf ("\a\a *-- erro: SALDO INSUFICIENTE! --*");}
}//if 2
}//for2
printf ("\n\n*-- aguarde... --*");
sleep (2500) ;
}
saque (){
int a,b,c,x;
float saq;
char agn[6], conta[6], senha[6];
printf ("\n\t\t===== SAQUE ===== \n");
printf ("\n*--DIGITE A SUA AGENCIA--* ");
scanf ("%s", &agn);
printf ("\n*--NUMERO DA CONTA--* ");
scanf ("%s", &conta);
for (i=1;i<=n;i++)
{
a = strcmp(agn,usuario[i].agencia);
b = strcmp(conta,usuario[i].conta);
if ( (a == 0) && (b == 0) )
{
printf ("\n CLIENTE : %s", usuario[i].nome) ;
printf ("\n CPF : %s", usuario[i].cpf) ;
printf ("\n\n*--VALOR DA RETIRADA--*");
scanf ("%f", &saq) ;
if ((saq > 0) && (saq <= usuario[i].saldo) )
{
x=1;
usuario[i].saldo = usuario[i].saldo - saq;
}//if2
}//if1
} //for
if (x != 1){
printf ("\n\a\a*-- erro: SALDO INSUFICIENTE ! --*");
}
printf ("\n\n*-- aguarde... --*");
sleep (2500) ;
}//fecha saque
menu (){
printf ("Selecione a opcao desejada...\n");
puts ("");
puts ("1 - NOVO CLIENTE") ;
puts ("2 - DEPOSITO") ;
puts ("3 - CONSULTA SALDO") ;
puts ("4 - TRANSFERENCIA") ;
puts ("5 - RETIRADA");
puts ("6 - Sair");
}
main()
{
int op;
menu ();
scanf ("%d", &op);
switch (op)
{
case 1:
system ("cls") ;
cadastrarCliente ();
system ("cls");
main();
case 2:
system ("cls") ;
deposito ();
system ("cls");
main();
case 3:
system ("cls") ;
consultaSaldo ();
system ("cls");
main();
case 4:
system ("cls") ;
transfere();
system ("cls");
main();
case 5:
system ("cls") ;
saque ();
system ("cls");
main();
case 6:
exit (1);
}
getch();
}
Conjunto de Mandelbrot (Fractal)
Agenda eletronica com banco de dados em arquivo texto
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
How can I remove duplicate MSG files from my folders effectively? (0)
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









