Ir ao conteúdo
  • Cadastre-se

C problema para pega a strucks e fazer calculo


Posts recomendados

<

#include<stdio.h>
#include<stdlib.h>
struct cadastro
{
    char cpf[50][50];
    char nome[50][50];
    char rg[50][50];
}pessoa;
struct banco
{
    int ndc[50];
    int saldo[50];
    int saquef[50];
    int transf[50];
    int depositof[50];
}conta;
int menu()
{
    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 main()
{
    int cont=1,opcao,conta,valor,ctrans,i,j;
    char x1[50],x2[50],x3[50],x4[50],x5[50],x6[50],x7[50],x8[50],x9[50],D1[50],D2[50];
    short cpfval, CPF, cpf2;
    printf("\nqual o seu cpf: ");
    scanf("%s",pessoa.cpf[0]);
    printf("\nqual o seu nome: ");
    scanf("%s",pessoa.nome[0]);
    printf("\nqual o seu rg: ");
    scanf("%s",pessoa.rg[0]);
    printf("\nqual o seu cpf: ");
    scanf("%s",pessoa.cpf[0]);
    printf("\nqual o seu nome: ");
    scanf("%s",pessoa.nome[0]);
    printf("\nqual o seu rg: ");
    scanf("%s",pessoa.rg[0]);
    CPF=(int)pessoa.cpf[0]/100;
    strcpy(x1,(char)CPF /100000000);
    strcpy(x2,(char)(CPF/10000000)%10);
    strcpy(x3,(char)(CPF/1000000)%10);
    strcpy(x4,(char)(CPF/100000)%10);
    strcpy(x5,(char)(CPF/10000)%10);
    strcpy(x6,(char)(CPF/1000)%10);
    strcpy(x7,(char)(CPF/100)%10);
    strcpy(x8,(char)(CPF/10)%10);
    strcpy(x9,(char)CPF%10);
    strcpy(D1,((atoi(x1)*10)+(atoi(x2)*9)+(atoi(x3)*8)+(atoi(x4)*7)+
               (atoi(x5)* 6)+(atoi(x6)*5)+(atoi(x7)*4)+(atoi(x8)*3)+
               (atoi(x9)* 2))%11);
    if(atoi(D1)<2)
        strcpy(D1,"0");
    else
    {
        strcpy(D1,((char)11-D1);/* fazer com na linha de cima e os outros também */
    }
        D2 = ((x1*11)+(x2*10)+(x3*9)+(x4*8)+(x5*7)+(x6*6)+(x7*5)+(x8*4)+(x9*3)+(D1*2))%11;
    if(D2<2)
    {
        D2=0;
    }
    else
    {
        D2=11 - D2;
    }
    cpf2 = D1*10+D2;
    cpfval = CPF*100+cpf2;
    if(cpfval != cpfvali)
    {
        printf("numero invalido o programa sera encerrado!");
        system("pause");
        exit(0);
    }
    conta.ndc[0]=cpf2;
    printf("\n o numero da sua conta é: %d",conta.ndc[0]);
    system("pause");
    system("cls");
    menu();
    printf("escolha sua opção: ");
    scanf("%d",&opcao);
    do
    {

        menu();
        scanf("%d",opcao);
        switch(opcao)
        {
            case 1:
            printf("\nqual o seu cpf: ");
            scanf("%s",pessoa.cpf[cont]);
            printf("\nqual o seu nome: ");
            scanf("%s",pessoa.nome[cont]);
            printf("\nqual o seu rg: ");
            scanf("%s",pessoa.rg[cont]);
            CPF=(int)pessoa.cpf[cont]/100;
            strcpy(x1,(char)CPF /100000000);
            strcpy(x2,(char)(CPF/10000000)%10);
            strcpy(x3,(char)(CPF/1000000)%10);
            strcpy(x4,(char)(CPF/100000)%10);
            strcpy(x5,(char)(CPF/10000)%10);
            strcpy(x6,(char)(CPF/1000)%10);
            strcpy(x7,(char)(CPF/100)%10);
            strcpy(x8,(char)(CPF/10)%10);
            strcpy(x9,(char)CPF%10);
            strcpy(D1,((atoi(x1)*10)+(atoi(x2)*9)+(atoi(x3)*8)+(atoi(x4)*7)+
            (atoi(x5)* 6)+(atoi(x6)*5)+(atoi(x7)*4)+(atoi(x8)*3)+
            (atoi(x9)* 2))%11);
            if(atoi(D1)<2)
            strcpy(D1,"0");
            else
            {
                D1 = 11 - D1;/* fazer com na linha de cima e os outros também */
            }
                D2 = ((x1*11)+(x2*10)+(x3*9)+(x4*8)+(x5*7)+(x6*6)+(x7*5)+(x8*4)+(x9*3)+(D1*2))%11;
            if(D2<2)
            {
                D2=0;
            }
            else
            {
                D2=11 - D2;
            }
            cpf2 = D1*10+D2;
            cpfval = CPF*100+cpf2;

            if(cpfval != cpfvali)
            {
                printf("numero invalido o programa sera encerrado!");
                exit(0);
            }
            conta.ndc[0]=cpf2;
            printf("\n o numero da sua conta é: %d",conta.ndc[0]);
            system("pause");
            cont++;
            break;
            case 2:
                printf("\n qual o numero da conta: ");
                scanf("%d",&conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==conta.ndc)
                    {
                        printf("\nquanto deseja deposita: ");
                        scanf("%d",&valor);
                        if(valor<=conta.saldo)
                        {
                            conta.saldo+=saldo;
                            conta.depositof+=saldo;
                        }
                        break;
                    }
                }
                break;
            case 3:
                printf("\n qual o numero da conta: ");
                scanf("%d",&conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==conta.ndc)
                    {
                        printf("\n qual o numero da conta que você ira transferir: ");
                        scanf("%d",&ctrans);
                        for(j=0;j<cont;j++)
                        {
                            if(ctrans==conta.ndc[j])
                            {
                                printf("\nqual o valor que deseja transferir: ");
                                scanf("%d",valor);
                                if(valor<=conta.saldo)
                                {
                                    printf("\nvalor transferido com sucesso!");
                                    conta.saldo-=valor;
                                    conta.saldo[j]+=valor;
                                    conta.transf+=valor;
                                }
                                else
                                {
                                    printf("saldo insuficiente!");
                                }
                            }
                        }
                    }
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            break;
            case 4:
                printf("\n qual o numero da conta: ");
                scanf("%d",&conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==conta.ndc)
                    {
                        printf("\ndigite o valor da retirada: ");
                        scanf("%d",&valor);
                        if(valor==conta.saldo)
                        {
                            Printf("\nsaque realizado com sucesso!");
                            conta.saldo-=valor;
                            conta.saquef+=valor;
                        }
                        else
                        {
                            printf("valor insuficiente!");
                        }
                    }
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            break;
            case 5:
                printf("\n qual o numero da conta: ");
                scanf("%d",&conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==conta.ndc)
                    {
                        printf("\nsaques: %d",conta.saquesf);
                        printf("\ntransferencias: %d",conta.trnsf);
                        printf("\ndepositos: %d",conta.depositof);
                    }
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            system("pause");
            system("cls");
            menu();
            printf("escolha sua opção: ");
            scanf("%d",&opcao);
        }
    }while(opcao==0);
}

>

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

não consigo fazer com que se o cpf for igual ele entre no if

<


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<locale.h>
struct cadastro
{
    char cpf[50][50];
    char nome[50][50];
    char rg[50][50];
    long int num[50];
    float saldo[50];
    float saquef[50];
    float transf[50];
    float depositof[50];
}pessoa;
int 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 main()
{
    setlocale(LC_ALL,"portuguese");
    char conta;
    int cont=1,opcao,ctrans,i,j;
    float valor;
    short CPF;
    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);
    pessoa.num[0]=rand()%10000;
    printf("\n o numero da sua conta é: %d\n",pessoa.num[0]);
    system("pause");
    system("cls");
    do
    {
        menu();
        scanf("%d",&opcao);
        switch(opcao)
        {
            case 1:
            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[i]==pessoa.cpf[cont])
                {
                    printf("cpf invalido!");
                    break;
                }
            }
            pessoa.num[cont]=(rand()%10000)+cont;
            printf("\no numero da sua conta é: %d\n",pessoa.num[cont]);
            cont++;
            break;
            case 2:
                printf("\n qual o numero da conta: ");
                scanf("%d",&conta);
                for(i=0;i<=cont;i++)
                {
                    if(conta==pessoa.num[i])
                    {
                        printf("Seja Bem Vindo %s",pessoa.nome[i]);
                        printf("\nquanto deseja deposita: ");
                        scanf("%f",&valor);
                        pessoa.saldo[i]+=valor;
                        pessoa.depositof[i]+=valor;
                        break;
                    }
                }
                if(pessoa.num[i]!=conta)
                {
                    printf("conta invalida!");
                }
                break;
            case 3:
                printf("\n qual o numero da conta: ");
                scanf("%d",&conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==pessoa.num[i])
                    {
                        printf("\n qual o numero da conta que você ira transferir: ");
                        scanf("%d",&ctrans);
                        for(j=0;j<cont;j++)
                        {
                            if(ctrans==pessoa.num[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[i]+=valor;
                                }
                                else
                                {
                                    printf("saldo insuficiente!");
                                }
                            }
                        }
                    }
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            break;
            case 4:
                printf("\n qual o numero da conta: ");
                scanf("%d",&conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==pessoa.num[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[i]+=valor;
                        }
                        else
                        {
                            printf("valor insuficiente!");
                        }
                    }
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            break;
            case 5:
                printf("\n qual o numero da conta: ");
                scanf("%d",&conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==pessoa.num[i])
                    {
                        printf("\nsaques: %f",pessoa.saquef[i]);
                        printf("\ntransferencias: %f",pessoa.transf[i]);
                        printf("\ndepositos: %f",pessoa.depositof[i]);
                    }
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
        }
      system("pause");
      system("cls");
    }while(opcao!=0);
}
>

adicionado 0 minutos depois

não consigo fazer com que se o cpf for igual ele entre no if

<


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<locale.h>
struct cadastro
{
    char cpf[50][50];
    char nome[50][50];
    char rg[50][50];
    long int num[50];
    float saldo[50];
    float saquef[50];
    float transf[50];
    float depositof[50];
}pessoa;
int 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 main()
{
    setlocale(LC_ALL,"portuguese");
    char conta;
    int cont=1,opcao,ctrans,i,j;
    float valor;
    short CPF;
    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);
    pessoa.num[0]=rand()%10000;
    printf("\n o numero da sua conta é: %d\n",pessoa.num[0]);
    system("pause");
    system("cls");
    do
    {
        menu();
        scanf("%d",&opcao);
        switch(opcao)
        {
            case 1:
            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[i]==pessoa.cpf[cont])
                {
                    printf("cpf invalido!");
                    break;
                }
            }
            pessoa.num[cont]=(rand()%10000)+cont;
            printf("\no numero da sua conta é: %d\n",pessoa.num[cont]);
            cont++;
            break;
            case 2:
                printf("\n qual o numero da conta: ");
                scanf("%d",&conta);
                for(i=0;i<=cont;i++)
                {
                    if(conta==pessoa.num[i])
                    {
                        printf("Seja Bem Vindo %s",pessoa.nome[i]);
                        printf("\nquanto deseja deposita: ");
                        scanf("%f",&valor);
                        pessoa.saldo[i]+=valor;
                        pessoa.depositof[i]+=valor;
                        break;
                    }
                }
                if(pessoa.num[i]!=conta)
                {
                    printf("conta invalida!");
                }
                break;
            case 3:
                printf("\n qual o numero da conta: ");
                scanf("%d",&conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==pessoa.num[i])
                    {
                        printf("\n qual o numero da conta que você ira transferir: ");
                        scanf("%d",&ctrans);
                        for(j=0;j<cont;j++)
                        {
                            if(ctrans==pessoa.num[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[i]+=valor;
                                }
                                else
                                {
                                    printf("saldo insuficiente!");
                                }
                            }
                        }
                    }
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            break;
            case 4:
                printf("\n qual o numero da conta: ");
                scanf("%d",&conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==pessoa.num[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[i]+=valor;
                        }
                        else
                        {
                            printf("valor insuficiente!");
                        }
                    }
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
            break;
            case 5:
                printf("\n qual o numero da conta: ");
                scanf("%d",&conta);
                for(i=0;i<cont;i++)
                {
                    if(conta==pessoa.num[i])
                    {
                        printf("\nsaques: %f",pessoa.saquef[i]);
                        printf("\ntransferencias: %f",pessoa.transf[i]);
                        printf("\ndepositos: %f",pessoa.depositof[i]);
                    }
                }
                if(i==cont)
                {
                    printf("conta não cadastrada");
                }
        }
      system("pause");
      system("cls");
    }while(opcao!=0);
}
>

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!