Ir ao conteúdo
  • Cadastre-se
João Vitor Sacramento Rocha

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dê-nos uma breve descrição do problema e a pergunta

  • Curtir 1

Compartilhar este post


Link para o post
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

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

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!