Ir ao conteúdo

Posts recomendados

Postado

Galera boa tarde/boa noite 

 

Me deparei com um exemplo a ser feito e estou bem perdida, gostaria da ajuda de vocês para receber uma luz de pelo menos como iniciar a resolução desse exemplo na programação orientada a objetos. Quem puder me ajudar ficarei muito agradecida.

 

calcular a real idade dos cachorros, utilizando as seguintes informações:

 

·         Conforme o porte do cachorro tem uma velocidade diferente de avançar os anos

·         Cachorros de raças pequenas vivem mais do que cachorros de raças grandes

·         Cachorros pequenos: multiplicar cada ano de vida por 12,5

·         Cachorros médios: multiplicar cada ano de vida por 10,5

·         Cachorros grandes: multiplicar cada ano de vida por 9

 

O programa deve possibilitar ao usuário digitar as informações sobre o porte e a idade do cachorro, com base nestas informações o programa realizará o cálculo e informará o resultado.

Postado

@Ana Cristina Tinoco Oi, bom dia!

 

Neste problema você tem que inicialmente pedir para que o usuário entre com os dados de Porte e Idade do cachorro e armazenar esses dados em duas variáveis e então você pode comparar, com um laço IF, se a string digitada pelo usuário é igual à "Grande" , "Medio" ou "Pequeno", após isso dentro desse laço IF fazer os cálculos correspondentes ao cálculo da idade real dos cachorros e printar o resultado na tela do usuário.  Em C/C++ para comparar duas Strings usamos a função strcmp(). Essa função é da biblioteca String.h Segue um vídeo de apoio: 

 

 

Caso não consiga fazer o código avisa aí que eu posso fazer um e postar para você! Abraços!

  • Curtir 1
Postado

Bom dia 

desculpe o incomodo, mas estou no mesmo problema com a mesma questão de meu curso, eu escrevi o inicio do código e não está passando pelo if e validando para terminar o restante do codigo, por favor poderia criar um codigo funcional de exemplo para me ajudar. 

 

esse é o codigo que fiz, tudo errado, mas como estou aprendendo ainda estou a tentar.

 

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

int main() {
    char porte[15];
    float idade, caoidade;
    idade = 0;
    caoidade = 0;

    printf("informe qual o porte do Cachorro:");
    scanf("%s",&porte);
    printf("Informe a idade do Cachorro:");
    scanf("%f",&idade);

    if (porte == "pequenos") {
        caoidade = idade * 12,5;
    }
    else if (porte == "medios") {
        caoidade = idade * 10;
    }
    else if (porte == "grandes") {
        caoidade = idade * 9;
    }
    else {
        prinf("A Informação esta incorreta:\n%s\n%f", porte, caoidade);
        }
    return 0;
}

Postado

Para comparar strings, use strcmp, que retorna 0 quando iguais:

  if (strcmp(porte, "pequenos") == 0) {
        caoidade = idade * 12,5;
    }
    else if (strcmp(porte, "medios") == 0) {
        caoidade = idade * 10;
    }
    else if (strcmp(porte == "grandes") == 0) {
        caoidade = idade * 9;
    } else {
        prinf("A Informação esta incorreta:\n%s\n%f", porte, caoidade);
        }

No final, imprima o resultado na tela:

  printf("\nA idade do cao:%f", caoidade);
  

 

Postado

Muito Obrigado, o unico problema agora é que aparece calculo correto de acordo com o informado na string porém o else está sendo impresso sem necessidade no final. aparecendo o else mesmo ja tendo encontrado os outros, olhe so no codigo

 

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

int main() {
    char porte[15];
    float idade, caoidade;
    idade = 0;
    caoidade = 0;

    printf("informe qual o porte do Cachorro:");
    scanf("%s", &porte);
    printf("Informe a idade do Cachorro:");
    scanf("%f", &idade);

      if (strcmp(porte, "pequenos") == 0) {
        caoidade = idade * 12.5;    }
    if (strcmp(porte, "medios") == 0) {
        caoidade = idade * 10;
    }
    if (strcmp(porte, "grandes") == 0) {
        caoidade = idade * 9;
    } else (printf("A Informação esta incorreta:\n"));

  printf("\nA idade do cao:%f", caoidade);
    return 0;
}

Postado

Faltou os outros "elses"

 

 

 if (strcmp(porte, "pequenos") == 0) {
        caoidade = idade * 12.5;    }
    else if (strcmp(porte, "medios") == 0) {
        caoidade = idade * 10;
    }
    else if (strcmp(porte, "grandes") == 0) {
        caoidade = idade * 9;
    } else (printf("A Informação esta incorreta:\n"));

 

Postado

O mesmo programa, em c++:


#include <iostream>
#include <string>

using namespace std;
  
int main() {
    string porte;
    float idade, caoidade;
    idade = 0;
    caoidade = 0;
    cout << "informe qual o porte do Cachorro:";
    cin >> porte;
    cout << "Informe a idade do Cachorro:";
    cin >> idade;
    if (porte == "pequenos") caoidade = idade * 12.5;    
    else if (porte == "medios") caoidade = idade * 10;
    else if (porte == "grandes") caoidade = idade * 9;
    else {
        cout << "\nA Informação esta incorreta:\n";
        return -1;
    }
    
    cout << "\nA idade do cao: " << caoidade;
    return 0;
}

 

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!