Ir ao conteúdo

Posts recomendados

Postado

problema com o programa ao entra na condicional não acha a conta valida

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<locale.h>
int cont=0;
struct cadastro
{
    char cpf[11][50];
    char nome[50][50];
    char rg[10][50];
    char conta[15][50];
    float saldo[50];
    float pagamento[50][50];
    float saquef[50][50];
    float transf[50][50];
    float depositof[50][50];
    int barra[50][50];
    int conts[50];
    int contt[50];
    int contd[50];
    int contp[50];
}pessoa;
void menu()
{
    setlocale(LC_ALL,"portuguese");
    printf("\n0. sair");
    printf("\n1. cadastrar nova conta");
    printf("\n2. depositar um valor na conta");
    printf("\n3. tranferenca de conta ");
    printf("\n4. saque valor da conta");
    printf("\n5. extrato bancario");
    printf("\n escolha sua opção:");

}
int banco(int opt)
{
    setlocale(LC_ALL,"portuguese");
    char conta[50],ctrans[50];
    int i,j;
    float valor;
    if(cont==0)
    {
        printf("\nSeja Bem vindo ao banco do ifba!");
        printf("\ndigite as informações abaixo para fazer o cadastro\n");
        printf("\nqual o seu cpf:");
        scanf("%s",pessoa.cpf[0]);
        fflush(stdin);
        printf("\nqual o seu nome:");
        scanf("%s",pessoa.nome[0]);
        fflush(stdin);
        printf("\nqual o seu rg:");
        scanf("%s",pessoa.rg[0]);
        fflush(stdin);
        strncat(pessoa.conta[0],pessoa.nome[0],3);
        strncat(pessoa.conta[0],pessoa.cpf[0],11);
        printf("\n o numero da sua conta é:%s\n",pessoa.conta[0]);
        cont++;
        system("pause");
        system("cls");
    }
     switch(opt)
        {
            case 1:
            printf("\nSeja Bem vindo ao banco do ifba!");
            printf("\ndigite as informações abaixo para fazer o cadastro\n");
            printf("\nqual o seu cpf:");
            scanf("%s",pessoa.cpf[cont]);
            fflush(stdin);
            printf("\nqual o seu nome:");
            scanf("%s",pessoa.nome[cont]);
            fflush(stdin);
            printf("\nqual o seu rg:");
            scanf("%s",pessoa.rg[cont]);
            fflush(stdin);
            for(i=0;i<cont;i++)
            {
                if(pessoa.cpf[cont]==pessoa.cpf[i])
                {
                    printf("cpf invalido!");
                    exit(0);
                }
            }
            strncat(pessoa.conta[cont],pessoa.nome[cont],3);
            strncat(pessoa.conta[cont],pessoa.cpf[cont],11);
            printf("\no numero da sua conta é:%s\n",pessoa.conta[cont]);
            cont++;
            break;
            case 2:
                printf("\n qual o numero da conta:");
                scanf("%s",conta);
                printf("\n%s",conta);
                printf("\n%s",pessoa.conta[0]);
                for(i=0;i<=cont;i++)
                {
                    if(conta==pessoa.conta[i])
                    {
                        printf("Seja Bem Vindo %s",pessoa.nome[i]);
                        printf("\nquanto deseja deposita: ");
                        scanf("%f",&valor);
                        pessoa.saldo[i]+=valor;
                        pessoa.depositof[pessoa.contd[i]][i]=valor;
                        pessoa.contd[i]++;
                        break;
                    }
                }
                if(pessoa.conta[i]!=conta)
                {
                    printf("conta invalida!");
                }
                break;
            case 3:
                printf("\n qual o numero da conta: ");
                scanf("%s",conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==pessoa.conta[i])
                    {
                        printf("\n qual o numero da conta que você ira transferir: ");
                        scanf("%s",ctrans);
                        for(j=0;j<cont;j++)
                        {
                            if(ctrans==pessoa.conta[j])
                            {
                                printf("\nqual o valor que deseja transferir: ");
                                scanf("%d",valor);
                                if(valor<=pessoa.saldo[i])
                                {
                                    printf("\nvalor transferido com sucesso!");
                                    pessoa.saldo[i]-=valor;
                                    pessoa.saldo[j]+=valor;
                                    pessoa.transf[pessoa.contt[i]][i]=valor;
                                    pessoa.contt[i]++;
                                }
                                else
                                {
                                    printf("saldo insuficiente!");
                                }
                            }
                        }
                    }
                    cont=i;
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            break;
            case 4:
                printf("\n qual o numero da conta: ");
                scanf("%s",conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==pessoa.conta[i])
                    {
                        printf("\ndigite o valor da retirada: \n");
                        scanf("%d",&valor);
                        if(valor<=pessoa.saldo[i])
                        {
                            printf("saque realizado com sucesso\n");
                            pessoa.saldo[i]-=valor;
                            pessoa.saquef[pessoa.conts[i]][i]=valor;
                            pessoa.conts[i]++;
                        }
                        else
                        {
                            printf("valor insuficiente!");
                        }
                    }
                    cont=i;
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            break;
            case 5:
                printf("\n qual o numero da conta: ");
                scanf("%s",&conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==pessoa.conta[i])
                    {
                        for(j=0;j<=pessoa.conts[i];j++)
                        {
                            printf("\nsaques: %f",pessoa.saquef[j][i]);
                        }
                        for(j=0;j<pessoa.contt[i];j++)
                        {
                            printf("\ntransferencias: %f",pessoa.transf[j][i]);
                        }
                        for(j=0;j<pessoa.contd[i];j++)
                        {
                            printf("\ndepositos: %f",pessoa.depositof[j][i]);
                        }
                        for(j=0;j<pessoa.contp[i];j++)
                        {
                            printf("pagamento de boleto: %f",pessoa.pagamento[j][i]);
                        }
                        cont=i;
                        break;
                    }
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            break;
            case 6:
                printf("\n qual o numero da conta: ");
                scanf("%s",&conta);
                 for(i=0;i<cont;i++)
                {
                    if(conta==pessoa.conta[i])
                    {
                        printf("digite o codigo de barra: ");
                        scanf("%d",&pessoa.barra[pessoa.contp[i]][i]);
                        printf("digite o valor da conta: ");
                        scanf("%f",&valor);
                        pessoa.saldo[i]-=valor;
                        pessoa.pagamento[pessoa.contp[i]][i]=valor;
                        pessoa.contp[i]++;

                        break;
                    }
                }

        }
}
int main()
{
    setlocale(LC_ALL,"portuguese");
    int opcao;
    float valor;
    banco(opcao);
    do
    {
        menu();
        scanf("%d",&opcao);
        banco(opcao);
        system("pause");
        system("cls");
    }while(opcao!=0);
}

 

  • Curtir 1
Postado

@João Vitor Sacramento Rocha         no case 4 a comparação não  funciona assim na linguagem  c  ,  mas funcionaria  no c++  , então use a função strcmp :

case 4:
        printf("\n qual o numero da conta: ");
        scanf("%s",conta);
        for(i=0;i<cont;i++){
            /*if(conta==pessoa.conta[i]){ aqui funcionaria se fosse no c++ */
            if(strcmp(conta,pessoa.conta[i])==0){
                printf("\ndigite o valor da retirada: \n");
                scanf("%d",&valor);
                if(valor<=pessoa.saldo[i]){
                    printf("saque realizado com sucesso\n");
                    pessoa.saldo[i]-=valor;
                    pessoa.saquef[pessoa.conts[i]][i]=valor;
                    pessoa.conts[i]++;
                }
                else{

 

Postado

da erro  esta  parte que voce modificou

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<locale.h>
int cont=0;
struct cadastro
{
    char cpf[11][50];
    char nome[50][50];
    char rg[10][50];
    char conta[15][50];
    float saldo[50];
    float pagamento[50][50];
    float saquef[50][50];
    float transf[50][50];
    float depositof[50][50];
    int barra[50][50];
    int conts[50];
    int contt[50];
    int contd[50];
    int contp[50];
}pessoa;
void menu()
{
    setlocale(LC_ALL,"portuguese");
    printf("\n0. sair");
    printf("\n1. cadastrar nova conta");
    printf("\n2. depositar um valor na conta");
    printf("\n3. tranferenca de conta ");
    printf("\n4. saque valor da conta");
    printf("\n5. extrato bancario");
    printf("\n escolha sua opção:");

}
int banco(int opt)
{
    setlocale(LC_ALL,"portuguese");
    char conta[50],ctrans[50];
    int i,j;
    float valor;
    if(cont==0)
    {
        printf("\nSeja Bem vindo ao banco do ifba!");
        printf("\ndigite as informações abaixo para fazer o cadastro\n");
        printf("\nqual o seu cpf:");
        scanf("%s",pessoa.cpf[0]);
        fflush(stdin);
        printf("\nqual o seu nome:");
        scanf("%s",pessoa.nome[0]);
        fflush(stdin);
        printf("\nqual o seu rg:");
        scanf("%s",pessoa.rg[0]);
        fflush(stdin);
        strncat(pessoa.conta[0],pessoa.nome[0],3);
        strncat(pessoa.conta[0],pessoa.cpf[0],11);
        printf("\n o numero da sua conta é:%s\n",pessoa.conta[0]);
        cont++;
        system("pause");
        system("cls");
    }
     switch(opt)
        {
            case 1:
            printf("\nSeja Bem vindo ao banco do ifba!");
            printf("\ndigite as informações abaixo para fazer o cadastro\n");
            printf("\nqual o seu cpf:");
            scanf("%s",pessoa.cpf[cont]);
            fflush(stdin);
            printf("\nqual o seu nome:");
            scanf("%s",pessoa.nome[cont]);
            fflush(stdin);
            printf("\nqual o seu rg:");
            scanf("%s",pessoa.rg[cont]);
            fflush(stdin);
            for(i=0;i<cont;i++)
            {
                if(strcmp(pessoa.cpf[cont],pessoa.cpf[i])==0)
                {
                    printf("cpf invalido!");
                    exit(0);
                }
            }
            strncat(pessoa.conta[cont],pessoa.nome[cont],3);
            strncat(pessoa.conta[cont],pessoa.cpf[cont],11);
            printf("\no numero da sua conta é:%s\n",pessoa.conta[cont]);
            cont++;
            break;
            case 2:
                printf("\n qual o numero da conta:");
                scanf("%s",conta);
                for(i=0;i<=cont;i++)
                {
                    if(strcmp(conta==pessoa.conta[i])==0)
                    {
                        printf("Seja Bem Vindo %s",pessoa.nome[i]);
                        printf("\nquanto deseja deposita: ");
                        scanf("%f",&valor);
                        pessoa.saldo[i]+=valor;
                        pessoa.depositof[pessoa.contd[i]][i]=valor;
                        pessoa.contd[i]++;
                        break;
                    }
                }
                if(pessoa.conta[i]!=conta)
                {
                    printf("conta invalida!");
                }
                break;
            case 3:
                printf("\n qual o numero da conta: ");
                scanf("%s",conta);
                for(i=0;i<cont;i++)
                {
                    if(strcmp(conta==pessoa.conta[i])==0)
                    {
                        printf("\n qual o numero da conta que você ira transferir: ");
                        scanf("%s",ctrans);
                        for(j=0;j<cont;j++)
                        {
                            if(strcmp(ctrans==pessoa.conta[j])==0)
                            {
                                printf("\nqual o valor que deseja transferir: ");
                                scanf("%d",valor);
                                if(valor<=pessoa.saldo[i])
                                {
                                    printf("\nvalor transferido com sucesso!");
                                    pessoa.saldo[i]-=valor;
                                    pessoa.saldo[j]+=valor;
                                    pessoa.transf[pessoa.contt[i]][i]=valor;
                                    pessoa.contt[i]++;
                                }
                                else
                                {
                                    printf("saldo insuficiente!");
                                }
                            }
                        }
                    }
                    cont=i;
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            break;
            case 4:
                printf("\n qual o numero da conta: ");
                scanf("%s",conta);
                for(i=0;i<cont;i++)
                {
                    if(strcmp(conta==pessoa.conta[i])==0)
                    {
                        printf("\ndigite o valor da retirada: \n");
                        scanf("%d",&valor);
                        if(valor<=pessoa.saldo[i])
                        {
                            printf("saque realizado com sucesso\n");
                            pessoa.saldo[i]-=valor;
                            pessoa.saquef[pessoa.conts[i]][i]=valor;
                            pessoa.conts[i]++;
                        }
                        else
                        {
                            printf("valor insuficiente!");
                        }
                    }
                    cont=i;
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            break;
            case 5:
                printf("\n qual o numero da conta: ");
                scanf("%s",conta);
                for(i=0;i<cont;i++)
                {
                    if(strcmp(conta==pessoa.conta[i])==0)
                    {
                        for(j=0;j<=pessoa.conts[i];j++)
                        {
                            printf("\nsaques: %f",pessoa.saquef[j][i]);
                        }
                        for(j=0;j<pessoa.contt[i];j++)
                        {
                            printf("\ntransferencias: %f",pessoa.transf[j][i]);
                        }
                        for(j=0;j<pessoa.contd[i];j++)
                        {
                            printf("\ndepositos: %f",pessoa.depositof[j][i]);
                        }
                        for(j=0;j<pessoa.contp[i];j++)
                        {
                            printf("pagamento de boleto: %f",pessoa.pagamento[j][i]);
                        }
                        cont=i;
                        break;
                    }
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            break;
            case 6:
                printf("\n qual o numero da conta: ");
                scanf("%s",conta);
                 for(i=0;i<cont;i++)
                {
                    if(strcmp(conta==pessoa.conta[i])==0)
                    {
                        printf("digite o codigo de barra: ");
                        scanf("%d",&pessoa.barra[pessoa.contp[i]][i]);
                        printf("digite o valor da conta: ");
                        scanf("%f",&valor);
                        pessoa.saldo[i]-=valor;
                        pessoa.pagamento[pessoa.contp[i]][i]=valor;
                        pessoa.contp[i]++;

                        break;
                    }
                }

        }
}
int main()
{
    setlocale(LC_ALL,"portuguese");
    int opcao;
    float valor;
    banco(opcao);
    do
    {
        menu();
        scanf("%d",&opcao);
        banco(opcao);
        system("pause");
        system("cls");
    }while(opcao!=0);
}

ainda  tenho que muda os outros

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!