Jump to content
dramos21

[Resolvido] Estruturas

Recommended Posts

dramos21

Boas pessoal, Tou com uma dúvida nesta função horas, esta é uma função que me vai dar em horas o tempo que uma actividade do dia a dia de uma pessoa demora . Eu tenho uma estrutura definida Actividade que contem informação para o nome da actividade("titulo") e para a duração em minutos ( " minutos ");

Este exercício estava resolvido da seguinte maneira, e eu não consigo entender o que ele faz no ultimo if. Porque eu faria, if( encontrouAct == 0) e faria o printf. qual é o valor que encontrouAct fica apos o while se para a primeira vez que correr o ciclo corra tudo bem? Fica com o valor de 1? Se depois strcmp for != 0 ele fica com esse mesmo valor de 1 ou retorna a 0? Obrigado!

void horas( Actividade vActividades [], int n, char titulo[] )
{
  int i = 0;
  int encontrouAct = 0;
  int dura;
  printf( "%s ", titulo );
  while ( i < n && ! encontrouAct) {
 if ( strcmp( vActividades[ i ].titulo, titulo) == 0 ) {
 encontrouAct = 1;
 dura = vActividades[ i ].minutos;
 printf( "teve duracao %d:%d\n", dura / 60, dura % 60);
 }
  i++;
  }
  if ( ! encontrouAct )
  printf( ": Actividade inexistente\n");
  return;
}

Edited by pmg
GeSHi adicionada; formatacao removida

Share this post


Link to post
Share on other sites
pmg

if (!intvar) /* ... */;

if (intvar == 0) /* ... */;

Os dois codigos acima sao absolutamente iguais (assim como os 2 de baixo).

if (intvar) /* ... */;

if (intvar != 0) /* ... */;


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
dramos21

Mas supostamente o ! não significa o contrário? Eu tenho ali encontrouAct=0 ao inicio, apos o while, essa mesma variável pode ficar com o valor 1 , e nesse caso !encontrouAct é um valor diferente de 1 ou não? Mas ainda assim posso fazer como disse, igualar a 0 o encontrouAct que me é mais perceptível.

Share this post


Link to post
Share on other sites
pmg

se encontrouAct for zero, !encontrouAct é 1;

se encontrouAct for diferente de zero, !encontrouAct é 0;


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


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