Jump to content

[C++] Ajuda: Funções


Recommended Posts

Posted

Muito boa noite, sou novo neste mundo de programaçao e tenho muitas dificuldades em fazer programas e estou a precisar de uma grande ajuda e que foi-me posto a frente um programa para fazer que tenho que fazer com funcoes, que tem que pedir sucessivamente valores para a temperatura e so termina quando o caracter eof for pressionado. ou seja, o programa so termina quando a combinaçao de teclas ctr+z for pressionado. este caracter ou indicaçao dele, nao devera constar no codigo. e ao terminar, o programa devera contabilizar todas as temperaturas inseridas e dar somente a mais alta.

Axo que explique mais ou menos o que preciso , eu acho que tenho que fazer com um contador mas nao sei como o fazer...

Sera que ninguem me pode ajudar sff preciso de ajuda para fazer o programa ....

que poder realizar o programa e meter aqui agradecia .. 

Posted

pelo menos o ciclo pode ser algo do género

int i=0;
float temp=0,maxtemp=0;
do{
  maxtemp=(maxtemp>=temp?maxtemp:tmp);
  i++;
  scanf("%f",&temp);
}while(temp!=EOF);

espero que ajude

Posted

Bem-vindo ao fórum Antonios.

que poder realizar o programa e meter aqui agradecia .. 

Acho que estás a ir pelo caminho errado. Nós podemos tirar-te as dúvidas qe tiveres mas realizar-te o programa todo não será um pouco demais?

É que assim não aprendes nada. Nunca vais aprender sem realmente tentar. 😉

"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Posted

pois eu eu mas nao tinha nenhuma noçao como ia fazer isto ... por isso e que meti logo a preguntar e aver se podiao me ajudar agradeco muito mesmo ao  rgcaldas, mas agora tenho um problema sera que me podias explicar para poder compreender como xegaste ate a esse resultado.. ???

Muito obrigado rgcaldas 😉

Posted

pelo menos o ciclo pode ser algo do género

int i=0;
float temp=0,maxtemp=0;
do{
  maxtemp=(maxtemp>=temp?maxtemp:tmp);
  i++;
  scanf("%f",&temp);
}while(temp!=EOF);

espero que ajude

acho que isso não vai funcionar. quando introduzires o EOF o scanf não o vai conseguir ler pois ele está à espera de um float, no máximo podes pegar no resultado do scanf e ficas a saber que o scanf falhou, mas não vais conseguir saber se foi por causa de um EOF ou não.

em principio vais ter que ler strings.

Posted

penso que isto deve funcionar...

#include <iostream>
#include <string>
#include <float.h>

using namespace std;

int main()
{
  int i=0;
  float tmp,max=-DBL_MAX;

  while(cin >> tmp)
  {
    i++;
    max=(max>=tmp?max:tmp);
  }

  cout << "==================" << endl;
  cout << "nº de valores: " << i << endl;
  cout << "maximo: " << max << endl;
}

para a próxima tenta colocar algum código quando colocares alguma dúvida...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.