Ir para conteúdo
Fórum Script Brasil
  • 0

Algoritmo de menu de banco


guinrodrigues

Pergunta

Boa noite,

Estou tentando fazer um algoritmo que simule um menu de banco de forma simples. Ainda estou montando, a parte que eu fiz até agora é:

 

#include <stdio.h>
#include <stdlib.h>

int main(){

char conta, operacao;
float conta1, conta2, conta3, valor;

printf("***********************************\n");
printf("PORTAL DO SISBANCO\n");
printf("***********************************\n");
printf("Digite sua conta ou 0 para sair:\n");
conta = getchar();

while(conta != '0' && conta != '1' && conta != '2' && conta != '3') {

printf("Conta invalida! Tente novamente!\n");
printf("Digite sua conta:\n");
conta = getchar();

}
if(conta == '1') {

    printf("***********************************\n");
    printf("OPERACOES\n");
    printf("***********************************\n");
    printf("(1)Deposito\n");
    printf("(0)Para sair\n");
    printf("***********************************\n");
    printf("Escolha uma opcao:\n");
    scanf("%c", &operacao);

    while(operacao == '0'){
        printf("***********************************\n");
        printf("PORTAL DO SISBANCO\n");
        printf("***********************************\n");
        printf("Digite sua conta ou 0 para sair:\n");
        conta = getchar();
    }

    if(operacao == '1') {
        printf("Valor depositado (R$):\n");
        scanf("%f", &valor);
        conta1 += valor;
        printf("Deposito efetuado com sucesso!");
    }
} else if(conta == '2') {
    printf("***********************************\n");
    printf("OPERACOES\n");
    printf("***********************************\n");
    printf("(1)Deposito\n");
    printf("(0)Para sair\n");
    printf("***********************************\n");
    printf("Escolha uma opcao:\n");
    operacao = getchar();

    while(operacao == '0'){
        printf("***********************************\n");
        printf("PORTAL DO SISBANCO\n");
        printf("***********************************\n");
        printf("Digite sua conta ou 0 para sair:\n");
        conta = getchar();
    }

    if(operacao == '1') {
        printf("Valor depositado (R$):\n");
        scanf("%f", &valor);
        conta2 += valor;
        printf("Deposito efetuado com sucesso!");
    }

    } else if(conta == '3') {
    printf("***********************************\n");
    printf("OPERACOES\n");
    printf("***********************************\n");
    printf("(1)Deposito\n");
    printf("(0)Para sair\n");
    printf("***********************************\n");
    printf("Escolha uma opcao:\n");
    operacao = getchar();

    while(operacao == '0'){
        printf("***********************************\n");
        printf("PORTAL DO SISBANCO\n");
        printf("***********************************\n");
        printf("Digite sua conta ou 0 para sair:\n");
        conta = getchar();
    }

    if(operacao == '1') {
        printf("Valor depositado (R$):\n");
        scanf("%f", &valor);
        conta3 += valor;
        printf("Deposito efetuado com sucesso!");
    }
    while(operacao != '1' && operacao != '0'){

    printf("Operacao invalida! Tente novamente!\n");
    printf("Escolha uma opcao:");}
    }
return 0;

}

 

Ou seja, ainda estou criado o menu só com a opção de depósito, como se pode observar. Só existem 3 contas, a primeira sendo acessada pelo número 1, a segunda pelo número 2, e a terceira pelo número 3. Contudo, quando eu faco o teste, aparecem dois problemas:

1 - Sempre que eu insistir em digitar um numero inválido de conta, o programa supostamente deve ficar voltando a uma tela com um aviso que pede de novo o número da conta. Esse aviso aparece duplicado, sendo que no código ele só aparece uma vez! Quando eu uso if em vez de while, ele aparece só uma vez, sendo que eu preciso do laço pra que o programa SEMPRE emita esse aviso em caso de numero inválido, não apenas uma vez;

2 - Quando eu digitar um numero existente de conta, o programa deve entrar em outra tela com as opções de deposito ou sair, e que leia a minha opção desejada. Essa tela aparece, mas ele não lê a opção. Simplesmente finaliza! Não entendi o porquê.

Agradeço pela ajuda! :)

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...