Ir ao conteúdo
  • Cadastre-se

Problema com struct e função simples, alguem ajuda por favor!


Maratal

Posts recomendados

Tenho que fazer um caixa eletrônico, e estou com problema na parte de cadastro. 
Cadastrei nome, sobrenome, cpf, conta e senha sem problemas, tudo em strings. porém o saldo que é em float nao estou conseguindo.
 
Vou mandar só um pedaço do código, mostrando uma função de string funcionando e a do saldo que nao ta certa. Pois quando imprimo o valor pega lixo.
Se puderem rodar o codigo que voce vão entender o problema. Muito obrigado
 

#include <stdlib.h>#include <stdio.h>#include <string.h>    struct cliente{        float saldo;        char nome[14], sobrenome[52], cpf[14], conta[7], senha[7];    };/*FUNÇÃO CADASTRO: NOME E SOBRENOME*/ void nome(char nome[], char sobrenome[]){        printf("Primeiro nome: ");        fgets(nome,52,stdin);        fflush(stdin);        //2        printf("Sobrenome: ");        fgets(sobrenome,52,stdin);        fflush(stdin);}    /*FUNÇÃO CADASTRO: SALDO */ void saldo (float saldo){    printf("Dinheiro em conta: R$ ");    scanf(" %f",&saldo);    fflush(stdin);}int main(){    int num_contas=0, i, j, k=0, cpf_verif1, cpf_verif2, conta_verif, operacao;    int cem=20, cinquenta=20, vinte=20, dez=20, cinco=20, dois=20;    printf("Numeros de contas que serao cadastradas: ");    scanf (" %d", &num_contas);    fflush(stdin);    struct cliente cadastro[num_contas];    char contaux[6], SouN/*sim ou nao*/;    for (i=0; i<num_contas; i++){        printf("\nCadastro do cliente %d\n", i+1);        nome(cadastro[i].nome, cadastro[i].sobrenome);        saldo(cadastro[i].saldo);    }    for(i=0; i<num_contas; i++){    printf("\n\nNOME: %s\nSOBRENOME: %s\nSALDO: %.2f\n\n", cadastro[i].nome, cadastro[i].sobrenome, cadastro[i].saldo);    }return 0;}
Link para o comentário
Compartilhar em outros sites


#include <stdlib.h>

#include <stdio.h>

#include <string.h>

struct cliente {

float saldo;

char nome[14], sobrenome[52], cpf[14], conta[7], senha[7];

};

/*FUNÇÃO CADASTRO: NOME E SOBRENOME*/ void nome(char nome[], char sobrenome[]) {

printf("Primeiro nome: ");

fgets(nome,52,stdin);

fflush(stdin);

//2

printf("Sobrenome: ");

fgets(sobrenome,52,stdin);

fflush(stdin);

}

/*FUNÇÃO CADASTRO: SALDO */ void saldo (float *saldo) {

printf("Dinheiro em conta: R$ ");

scanf("%f",saldo);

fflush(stdin);

}

int main() {

int num_contas=0, i, j, k=0, cpf_verif1, cpf_verif2, conta_verif, operacao;

int cem=20, cinquenta=20, vinte=20, dez=20, cinco=20, dois=20;

printf("Numeros de contas que serao cadastradas: ");

scanf (" %d", &num_contas);

fflush(stdin);

struct cliente cadastro[num_contas];

char contaux[6], SouN/*sim ou nao*/;

for (i=0; i<num_contas; i++) {

printf("\nCadastro do cliente %d\n", i+1);

nome(cadastro.nome, cadastro.sobrenome);

saldo(&cadastro.saldo);

}

for(i=0; i<num_contas; i++) {

printf("\n\nNOME: %s\nSOBRENOME: %s\nSALDO: %.2f\n\n", cadastro.nome, cadastro.sobrenome, cadastro.saldo);

}

system("pause");

return 0;

}

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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