Ir ao conteúdo
  • Cadastre-se
Marcela da Silva de Souza

C Tarefa em c impossível

Recommended Posts

Olá gente preciso disso para hojre meu prof tá pedindo e não chego em um resultado q ele quer fiz de dois gitos não sei c é porque está faltando algo  e também o modelo 1 trava no for Zé:

 /*modelo 1*/

#include <stdio.h>

#include <stdlib.h>

int main()
int ano;
float Chico ;
float Zé;
ano = 0;
Zé= 1.10;
Chico = 1.50;
while (Zé < Chico)

{

Zé = Zé + 0.03;

Chico = Chico + 0.02;

ano = ano + 1;

}

printf("%d Anos deverao ser necessarios para que Zé seja maior que Chico será que demora. \n\n" , ano);

printf("%f A Altura de Zé daqui a 100 anos matuzalem\n\n", Zé);

printf("%f A altura de Chico daqui a 100 anos matuzalem\n\n", Chico);

system("PAUSE");

}

/*modelo 2*/


#include <iostream> 
using namespace std; 
int main() { 
   float chico=1.50, ze=1.10; 
   int anos=0; 
   while (chico >= ze) { 
      chico += 0.02; 
      ze += 0.03; 
      anos++; 
   } 
   cout << "ze, com " << ze << " m, ultrapassará a altura de Chico, com " << chico << " m, em: " << anos << "anos"<< endl; 

   return 0; 
}


 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Chico tem 1,50 metro e cresce 2 centímetros por ano, enquanto Zé tem 1,10 metro e cresce 3 centímetros por ano. Faça um programa em C que recebendo a altura e o crescimento anual de duas pessoas calcule e imprima quantos anos serão necessários para que a mais baixa seja maior que a outra. Caso isto não ocorra em 100 anos informar mensagem de impossibilidade. Encerre a entrada de dados quando for digitada uma idade negativa. (Não use vetores ou matrizes).

Desculpe me :tw_blush:

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include <stdio.h>
#include <locale>

int main()
{
    setlocale(NULL, "Portuguese");

    float alturaPessoa1 = 0.f, alturaPessoa2 = 0.f;
    float crescimentoAnualPessoa1 = 0.f, crescimentoAnualPessoa2;

    printf("Informe a altura da primeira pessoa: ");
    scanf("%f", &alturaPessoa1);

    printf("Informe o crescimento anual da primeira pessoa: ");
    scanf("%f", &crescimentoAnualPessoa1);


    printf("Informe a altura da segunda pessoa: ");
    scanf("%f", &alturaPessoa2);

    printf("Informe o crescimento anual da segunda pessoa: ");
    scanf("%f", &crescimentoAnualPessoa2);

    int qntAnos = 0;

    // Verifica se a pessoa 1 é maior que pessoa 2
    bool Pessoa1MaiorQuePessoa2 = (alturaPessoa1 > alturaPessoa2) ? true : false;


    while (Pessoa1MaiorQuePessoa2 ? alturaPessoa2 < alturaPessoa1 : alturaPessoa1 < alturaPessoa2)
    {
        qntAnos++;
        alturaPessoa1 += crescimentoAnualPessoa1;
        alturaPessoa2 += crescimentoAnualPessoa2;
    }
    
    if (qntAnos > 100 || qntAnos == 0)
    {
        printf("Não é possível a pessoa %d ser maior que a pessoa %d.\n", Pessoa1MaiorQuePessoa2 ? 2 : 1, Pessoa1MaiorQuePessoa2 ? 1 : 2);
        return 0;
    }
    
    printf("A pessoa %d vai ser maior que a pessoa %d em %d anos.\n", Pessoa1MaiorQuePessoa2 ? 2 : 1, Pessoa1MaiorQuePessoa2 ? 1 : 2, qntAnos);

    system("pause");

    return 0;
}

Saída:

Citação

Informe a altura da primeira pessoa: 1,50
Informe o crescimento anual da primeira pessoa: 0,2
Informe a altura da segunda pessoa: 1,10
Informe o crescimento anual da segunda pessoa: 0,3
A pessoa 2 vai ser maior que a pessoa 1 em 5 anos.
Pressione qualquer tecla para continuar. . .

 

PS: Usei 0.2 e 0.3 em vez de 2 e 3 porque o crescimento anual é em cm.

 

Para poder usar como 2 e 3, basta multiplicar por 0.1:

alturaPessoa1 += crescimentoAnualPessoa1 * 0.1f;
alturaPessoa2 += crescimentoAnualPessoa2 * 0.1f;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim não está rodando? Poderia postar algo para identificar onde está o erro?

 

Aqui rodou sem problema algum.

 

Tente esse código:

#include <stdio.h>
#include <Windows.h>
 
int main()
{
    float alturachico = 1.50f, alturaze = 1.10f;
    float crescimentoanualchico = 0.2f, crescimentoanualze = 0.3f;

    int qntAnos = 0;

    // Verifica se o Chico é maior que o Zé
    bool Pessoa1MaiorQuePessoa2 = (alturachico > alturaze) ? true : false;

    while (Pessoa1MaiorQuePessoa2 ? alturaze < alturachico : alturachico < alturaze)
    {
        qntAnos++;
        alturachico += crescimentoanualchico;
        alturaze += crescimentoanualze;
    }
    
    if (qntAnos > 100 || qntAnos == 0)
    {
        printf("Nao eh possivel %s ser maior que %s.\n", Pessoa1MaiorQuePessoa2 ? "Ze" : "Chico", Pessoa1MaiorQuePessoa2 ? "Chico" : "Ze");
        return 0;
    }
    
    printf("%s vai ser maior que a %s em %d anos.\n", Pessoa1MaiorQuePessoa2 ? "Ze" : "Chico", Pessoa1MaiorQuePessoa2 ? "Chico" : "Ze", qntAnos);

    system("pause");

    return 0;
}

 

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

×