Ir ao conteúdo
  • Cadastre-se

C alguém que saiba a linguagem c?


Jaque021

Posts recomendados

Faça um programa que receba o nome de um arquivo de entrada e outro de saída. O arquivo de entrada contém em cada linha o nome de uma cidade (ocupando 40 caracteres) e o seu número de habitantes. O programa deverá ler o arquivo de entrada e gerar um arquivo de saída onde aparece o nome da cidade mais populosa seguida pelo seu número de habitantes.

 

Fiz ate aqui mas não sei como faço para encontrar a cidade mais populosa e não sei se estar certo a questão. 

#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *f = NULL;
    f = fopen("arquivo.txt","w");
    if(f == NULL){
        exit(1);
    }
    char cidade[40];
    int habitantes[2],i=0,maior=0;
    for(i=0;i<2;i++){
        printf("Digite a cidade\n");
        scanf("%s",&cidade);
        printf("Digite a quantidade de  habitantes\n");
        scanf("%d",&habitantes);
        fprintf(f,"Cidade: %s   habitantes:%d \n", cidade,habitantes);
    }

    fclose(f);
}

 

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

@Jaque021     para saber qual a cidade mais populosa e o número de habitantes, você precisa colocar uma condição para que ele armazene essas duas informações,  então depois de pegar a quantidade de habitantes, coloque assim :

if(habitantes > maior){
    maior=habitantes;
    cidades = cidade;
}

e depois do loop e antes de fechar o arquivo, coloque essa informação no arquivo assim :

fprintf(f,"Cidade com mais habitantes : %s   maior numero de habitantes:%d \n", cidades,maior);

 

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

  • Membro VIP

Olá @Jaque021.

 

1 hora atrás, Jaque021 disse:

Faça um programa que receba o nome de um arquivo de entrada e outro de saída. O arquivo de entrada contém em cada linha o nome de uma cidade (ocupando 40 caracteres) e o seu número de habitantes. O programa deverá ler o arquivo de entrada e gerar um arquivo de saída onde aparece o nome da cidade mais populosa seguida pelo seu número de habitantes.

Então, tem alguns pontos que precisará tomar cuidado, veja:

 

1) INFORMAÇÕES SOBRE O ARQUIVO

1 hora atrás, Jaque021 disse:

Faça um programa que receba o nome de um arquivo de entrada e outro de saída.

Como citado, o nome do arquivo de entrada e do arquivo de saída vêm do usuário. No seu código, você já definiu no código fonte.

 

 

 

2) DADOS DAS CIDADES

1 hora atrás, Jaque021 disse:

O arquivo de entrada contém em cada linha o nome de uma cidade (ocupando 40 caracteres) e o seu número de habitantes.

Os dados das cidades estão no arquivo de entrada, mas no seu código, você está solicitando e lendo via teclado.

 

 

 

3) PROCESSAMENTO DOS DADOS

1 hora atrás, Jaque021 disse:

O programa deverá ler o arquivo de entrada e gerar um arquivo de saída onde aparece o nome da cidade mais populosa seguida pelo seu número de habitantes.

Como dito, os dados devem ser lidos do arquivo de entrada. Ai vai verificando o maior, e após, escreve APENAS o nome da cidade mais populosa, assim com a seu número de habitantes. No seu código, você está escrevendo as cidades que está lendo do teclado... está fugindo da proposta do enunciado.

 

Em relação a impressão, talvez seja necessário simplesmente escrever o nome da cidade e sua população, algo como:

fprintf(f,"%s %d\n", cidades,maior);

 

 

***

 

Obs.: talvez o processo de leitura de dados seja mais delicada, ou seja, daí você precisa trabalhar no processo da leitura dos dados do arquivo OU trabalhar para desenvolver logo a parte da verificação da cidade mais populosa, neste último caso, você poderia deixar, por enquanto, os dados sendo lidos via teclado, verificaria a cidade mais populosa e escreveria no arquivo... Depois, trocaria a leitura via teclado, para leitura do arquivo... entende?

 

No aguardo.

 

 

No aguardo.

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

46 minutos atrás, Simon Viegas disse:

Olá @Jaque021.

 

Então, tem alguns pontos que precisará tomar cuidado, veja:

 

1) INFORMAÇÕES SOBRE O ARQUIVO

Como citado, o nome do arquivo de entrada e do arquivo de saída vêm do usuário. No seu código, você já definiu no código fonte.

 

 

 

2) DADOS DAS CIDADES

Os dados das cidades estão no arquivo de entrada, mas no seu código, você está solicitando e lendo via teclado.

 

 

 

3) PROCESSAMENTO DOS DADOS

Como dito, os dados devem ser lidos do arquivo de entrada. Ai vai verificando o maior, e após, escreve APENAS o nome da cidade mais populosa, assim com a seu número de habitantes. No seu código, você está escrevendo as cidades que está lendo do teclado... está fugindo da proposta do enunciado.

 

Em relação a impressão, talvez seja necessário simplesmente escrever o nome da cidade e sua população, algo como:


fprintf(f,"%s %d\n", cidades,maior);

 

 

***

 

Obs.: talvez o processo de leitura de dados seja mais delicada, ou seja, daí você precisa trabalhar no processo da leitura dos dados do arquivo OU trabalhar para desenvolver logo a parte da verificação da cidade mais populosa, neste último caso, você poderia deixar, por enquanto, os dados sendo lidos via teclado, verificaria a cidade mais populosa e escreveria no arquivo... Depois, trocaria a leitura via teclado, para leitura do arquivo... entende?

 

No aguardo.

 

 

No aguardo.

Muito obrigada! 

 

adicionado 0 minutos depois

Obrigada!:D

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