Ir ao conteúdo
  • Cadastre-se
Guilherme009

C Mini banco online- linguagem c iniciante

Recommended Posts

OLÁ HUMANOS

 

Bom galera estou iniciando não sei de muito, mas no que eu estou vendo consigo entender um pouco. Meu professor pediu para que montássemos um tipo de banco no qual pegaria os dados do cliente, tipo: nome, cpf, conta e saldo inicial; e um menu de opções envolvendo transferência, depósito, saque e o saldo. E ao usar o comando switch (escolha) coloquei os if"s que ele disse que tinha que ter meio que uma forma do sistema ver se é o usuário mesmo que tá acessando, nesse caso usando ou o cpf ou a conta nesse caso apenas para: depósito,saque e saldo, já a transferência só precisa de a conta e o  destino.

O erro que está acontecendo é o de direcionar para o senão mesmo que o cpf e a conta estejão certos. Me ajudem, por favor?!

obs: meu código está incompleto por quê eu quase desisti!

ABAIXO O CÓDIGO

 


#include <stdio.h>//biblioteca que permite usar os comandos printf e scanf, entrada e saida
#include <stdlib.h>//usamos o system pause com ele
#include <math.h>// fazemos contas com esse tipo a de tirar o saque ou adicionar com o deposito

int main () {//funcao de inicio e a principal
    char nome[100],destino;//declaracao de nome que pode ter ate 99 caracteres e destino no qual a transferência vai, no caso o banco que ela vai
    long int cpf[12],numero_cpf[12],conta[5],resp ='0',numero_conta[5];//uso do long int ou inteiro longo para receber quantidades dmaiores de numeros do cpf, da  conta e o numerp da conta serve para testar se o usuario e o dono da conta
    float saldo_inicial='0', deposito='0', saque='0',transferencia, saldo, conta_destino;//saldo inicial de dinheiro, o depósito para ter mais, saque de dinheiro caso seja o suficiente
    //continuacao do float ai tem a transferencia de dinheiro, o saldo do usuario no banco e a conta destinho que é o saldo em outro banco

     printf ("Digite seu nome: ");// funcao de imprimir perguntar o nome do usuario
        scanf ("%s",&nome);//ler como string de caracteres
     printf ("Digite o numero de sua conta: ");//pegar numero da conta
     scanf ("%li", &conta);//salvar numero da conta
     printf ("Digite o saldo inicial: R$");//pega o seu saldo inicial
     scanf ("%f", &saldo_inicial);//salvar, aqui pega com long int para poder pegar mais numeros
     printf ("Digite o seu cpf: ");//pegar o cpf
     scanf ("%li", &cpf);// pegar com o long int para poder pegar numeros maiores
// montagem do menu do banco para o usuario ver
    printf ("\nB A N C O   B R");
    printf ("\n-----------------------------------");
    printf ("\n- [1] Deposito \t                  ");
    printf ("\n- [2] Saque    \t                    ");
    printf ("\n- [3] Transferencia \t             ");
    printf ("\n- [4] Saldo    \t                    ");
    printf ("\n-----------------------------------\n");// termino da montagem
    scanf ("%i", &resp);//aqui ele pega o que o usuario digitar e mand para onde a variavel esta
    switch (resp)//estrutura escolha unsando o resp como resposta
    {//inicio da funcao
        case 1://caso 1
                printf ("Digite o numero do seu cpf ao lado: ");// aqui nos fazemos um teste para ver se ela ou ele é o usuario da conta
                scanf ("%li",&numero_cpf);//pega o numero do cpf digitado anteriormente
                printf ("Digite o numero da sua conta: ");
                scanf ("%li",&numero_conta);
                if ((numero_cpf== cpf) || (numero_conta==conta))//ele testa se o numero_cpf é igual ao cpf ou numero_conta é igual a conta
                {//fim do se
                system ("cls");//aqui ele limpatela
                printf  ("Quanto voce quer botar? ");//aqui o usuario responde a quantidade que quer botar
                scanf ("%f",&deposito);//ele vai receber o valor e botar no deposito
                saldo=(deposito + saldo_inicial);//aqui o saldo recebe soma do inicial mais o deposito
                   printf ("Valor do saldo atual: R$%f", saldo);//e mostra aqui o saldo atual
                }//fim do se
                   break;//para aqui o caso e termina o escolha
           case 2:
                system ("cls");
                printf ("Digite o numero do seu cpf ao lado: ");
                scanf ("%li",&numero);
                printf ("Digite o numero da sua conta: ");
                scanf ("%li",&numero_conta);
                if ((numero_cpf==cpf) || (numero_conta==conta))

                system ("cls");//limpatela
                   printf ("Quanto você quer sacar ?");
                   scanf ("%f", &saque);
                    if (saldo_inicial >= saque)
                    {
                    saldo=(saldo_inicial-saque);
                    printf ("voce sacou R$ %f", saque);
                    printf ("\n E possui um saldo atual de R$ %f",saldo);
                    }
                else
                    printf("Numero de cpf ou conta invalidos.");

                break;;//para aqui o caso e termina o escolha
        case 3://caso 3
                printf ("Digite o destino da transferência ao lado: ");//aqui o professor pediu o destino e depois a conta apenas como teste
                scanf ("%c",&destino);//guarda destino do tipo char
                printf ("Digite o numero da sua conta: ");//aqui o professor pede o numero da conta digitado e salva o numero
                scanf ("%i",&numero_conta);//aqui ele salva em um long int
                if (numero_conta==conta)//nesse o professor pediu apenas o teste da conta e o destino
                {//inicio da funcao se
                    system ("cls");//limpatela
                    conta_destino= saldo_inicial;//aqui transfere o saldo atua ou inicial é mandado para a conta destino
                    printf ("Conta  transferida para: %c", destino);//aqui mostro  qual foi o destino

                }//fim da funcao se
                else//senao
                {//inicio do senao
                    printf("Numero da conta invalido.");//mostra numero da conta invalido se estiver errado o numero_conta da conta
                }//fim do senao
                break;//aqui ele para no caso 3 e finaliza o escolha

        case 4:// caso 4
                printf ("seu saldo e: %f", saldo_inicial);//aqui mostra o saldo atual

                break;//para aqui o caso 4 e termina o escolha


    }//fim do switch


    system ("pause");//aqui ele pausa programa em um momento para o usuario ver os resutados
    return 0;//retorna tudo isso para o computador atravs do comando return 0
}//fim da funcao main e do programa


 

  • Triste 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou te perguntar na minha opinião,  de muitos outros também incluído Trovards e Donald,  o seu professor não explicou que C é um linguagem imperativa, declarativa de paradigma procedural, ou seja; Funções, métodos chamada de procedimento fazem parte de um bom código C? Então e dividir e conquistar assim como já disse Julio Cesar e Napoleão. Regra básica da linguagem para não iniciantes (seu trabalho não é para iniciantes) dentro da função main, só cabe outras funções, ou seja, se passar de 20 linhas de código então precisa de +uma função. 

 

Claro você vai encontrar muitos profissionais da área de programação aqui do fórum que contesta e não aplicada essa filosofia em seus programas. Mas basta olhar para o ranque do paradigma com base nas linguagens mais utilizadas notará que, todas são OOP e vêm da linguagem C do chamando  procedure call, onde você oculta a maior parte da implementação (código) com funções, sub-rotinas, método etc.

 

Isso é de enorme importância, principalmente para depuração do código; uma das principais etapas do desenvolvimento para todo programador onde além dos erros, que se tornam mais fáceis de ser isolados, detectados e corrigidos com o uso de funções, também auxilia na otimização e redução de linhas de código, principalmente aquelas repetições que surte um efeito muito indesejado na performance do programa e na moral do programador pois sem funções fica divisível de raciocinar meio tantas linhas assistemáticas.

 

Desista não !!!!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×