Ir ao conteúdo

Posts recomendados

Postado

Pessoal,

Preciso implantar uma forma de apresentar o total de usuários cadastrados, segue uma parte do código:

int main () {
    
    FILE *Arquivo = fopen ("arquivo.txt", "a");
    char nome [100] = "";
    float altura, peso;
    int sexo;
    if (Arquivo == NULL){
    printf ("Arquivo nao encontrado!\n");
    return 0;
    }
    
    printf ("Programa para calculo de IMC!");
     
    printf ("\nDigite seu nome: \n");
    fgets (nome, 100, stdin);
    printf ("\nDigite sua altura (em metros): \n");
    scanf ("%f", &altura);
    printf ("\nDigite seu peso (kg): \n");
    scanf ("%f", &peso);
    printf ("\nDigite seu sexo, 1 para feminino e 2 para masculino: \n");
    scanf ("%i", &sexo);
    imc = peso/(altura*altura);
    printf ("O seu imc e: %.2f \n", imc);
    fprintf (Arquivo,"Nome: %sAltura (m): %.2f, Peso (KG): %.2f, IMC: %.2f\n", nome, altura, peso, imc);    
    
    switch (sexo){
    case 1: rotFeminino ();
    break;
    case 2: rotMasculino ();
    break;
    default:
    printf ("\n Opção inválida! \n");
    system ("Pause");
    }
    
    return 0;
}

 

  • Curtir 1
Postado

@Mariana Pires No caso seria na hora de leitura? por que não usa uma variável que identifica a contagem dos cadastros. Na hora de cadastro você usa `int id` para localizar o ultimo cadastro e incrementar a quantidade de cadastro.

int id = 0;
//localiza o ultimo id
//incrementa o id
//salva 

 

 

  • Curtir 1
  • Obrigado 1
Postado

@Mariana Pires Como você guarda cada cadastro por linha, você pode fazer um loop para ler as linhas, ai usa a variável i para imprimir no final. Exemplo:

char buffer[200];
FILE *Arquivo = fopen ("arquivo.txt", "a");
int i = 0;

//Leitura de arquivo - linha por linha - cadastro x linha
while(!feof(Arquivo)){
  i = (fgets(buffer, 200 , Arquivo) != NULL ? (i+1):i);
}

//Imprime
printf("Possui %d cadastros!\n", i);

 

  • Curtir 1
  • Obrigado 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!