Banco básico
Artigo: Banco básico. Pesquise 862.000+ trabalhos acadêmicosPor: vkboschetti • 5/4/2014 • 3.809 Palavras (16 Páginas) • 262 Visualizações
Faça um programa em C para gerenciar as contas de clientes em um banco.
Cada cliente tem um número de conta (inteiro), um nome (string de 30 posições) e um saldo (float).
Para manipular as contas, o programa deve utilizar um vetor de structs, ou três vetores (um de int, um de string de 30, e um de float) com 100 posições (ou mais...)
O programa deve disponibilizar um menu de opções, e as opções selecionadas com letras ou números:
- ler dados do arquivo;
- salvar dados no arquivo;
- operação de cadastro de um novo cliente;
- operação de consulta de um cliente existente;
- operação de consulta de todos os clientes;
- operação de depósito: deve solicitar o número da conta (que deve existir) e o valor do depósito, o qual deve ser somado ao saldo existente;
- operação de saque: deve solicitar o número da conta (que deve existir) e o valor a ser sacado da conta. A conta deve ter saldo suficiente para o saque, senão deverá ser emitida uma mensagem de erro;
- operação de transferência: deve solicitar conta de origem, conta de destino e valor a ser transferido. Os números de conta devem existir, e a conta de origem deve ter saldo suficiente para ser transferido.
Ao encerrar o programa, os dados das contas (número, nome e saldo de cada cliente) devem ser gravados em um arquivo (sempre). Ao iniciar novamente o programa os dados serão carregados do arquivo se for selecionada a opção correspondente no menu.
#include <stdio.h>
#include <stdlib.h>
int le(int t,int c[100],char n[100][30],float s[100]){
FILE *fp; // declara aqrquivo.
int op;
if((fp=fopen("sempre.txt","r"))==NULL){ // abre arquivo para leitura.
printf("Arquivo nao pode ser aberto\n");
system("pause");
exit(1);
}
t=0;
do {
if(feof(fp)) break; // testa fim do arquivo.
fscanf(fp, "%d%s%f",&c[t],&n[t],&s[t]);
t++;
} while(1);
t--;
fclose(fp); // fecha arquivo.
return(t);
}
void grava(int t,int c[100],char n[100][30],float s[100]){
FILE *fp;
int i;
if((fp=fopen("sempre.txt","w"))==NULL){ // abre arquivo para escrita.
printf("Arquivo nao pode ser aberto\n");
system("pause");
exit(1);
}
i=0;
while(i<t){
fprintf(fp, "%d %s %.2f\n",c[i],n[i],s[i]);
i++;
}
fclose(fp); // fecha arquivo.
system("cls");
}
void cadastro(int t,int c[100],char n[100][30],float s[100]){
printf("Cadastro de um novo cliente\n\n");
c[t]=t;
printf("Conta: %d\n",c[t]);
printf("Nome: ");
scanf("%s",&n[t]);
printf("Saldo: ");
scanf("%f",&s[t]);
printf("\n");
system("pause");
system("cls");
}
void consulta_cliente(int t,int c[100],char n[100][30],float s[100]){
printf("Consulta de cliente\n\n");
int i,comp;
printf("Conta: ");
scanf("%d",&comp);
for(i=0;comp!=c[i];i++) if(i>t) {
printf("Conta Inexistente\n");
system("pause");
system("cls");
return;
}
if(comp==c[i]) printf("%d %s %.2f\n\n",c[i],n[i],s[i]);
system("pause");
system("cls");
}
void consulta_todos(int t,int c[100],char n[100][30],float s[100]){
int i;
printf("Consulta de clientes\n\n");
for(i=0;i<t;i++) printf("%d %s %.2f\n",c[i],n[i],s[i]);
system("pause");
system("cls");
}
...