• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Antonios

[C++] Ajuda: Funções

6 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora