Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AleXBoTTi

dificuldade em inserir " if "

Recommended Posts

BoA tarde..

estou com uma duvida em um exercicio se alguem puder me dar uma luz eu agradeço.

 

//Desenvolva um programa usando struct
// que crie um cadastro de Filmes que contenha o
// título, gênero e ano de lançamento.
//Se o ano informado for o ano atual, então o programa deverá imprimir uma mensagem "Este filme é lançamento".

#include <iostream>
typedef char string[30];

struct cadastro_filmes {
  string titulo;
  string genero;
  string ano_lancamento;

};

int main()
{
  struct cadastro_filmes filmes;
  fflush(stdin);

  printf("Entre com o titulo do filme: -> : ");
  gets(filmes.titulo);
  fflush(stdin);

  printf("Entre com o genero do filme: -> : ");
  gets(filmes.genero);
  fflush(stdin);

  printf("Entre com o ano de lacamento: ->: ");
  gets(filmes.ano_lancamento);

  if (filmes.ano_lancamento=2010)
        printf ("Este filme é lançamento \n\n");

  else
        printf ("filme desatualizado\n\n");


  fflush(stdin);

  printf("\n\n");

  printf("Titulo do Filme............: %s\n ",filmes.titulo);
  printf("Genero do Filme............: %s\n ",filmes.genero);
  printf("Ano de Lancamento..........: %s\n ",filmes.ano_lancamento);

  return 0;


 }

nao esta compilando e esta dando o seguinte erro

|error: incompatible types in assignment of `int' to `char[30]'|

Compartilhar este post


Link para o post
Compartilhar em outros sites

1- Não use fflush(stdin). Não interessa se seu professor usa ou se está escrito no livro. *

2- Não use gets. Também não interessa se seu professor usa ou se está escrito no livro. *

 

if (filmes.ano_lancamento=2010)

 

Você acha que está comparando ou atribuindo?

 

Pelo iostream, é C++. C++ já possui uma classe string. Não é necessário redefinir isso.

 

* Existem tópicos sobre isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1- Não use fflush(stdin). Não interessa se seu professor usa ou se está escrito no livro. *

2- Não use gets. Também não interessa se seu professor usa ou se está escrito no livro. *

 

 if (filmes.ano_lancamento=2010)

Você acha que está comparando ou atribuindo?

 

Pelo iostream, é C++. C++ já possui uma classe string. Não é necessário redefinir isso.

 

* Existem tópicos sobre isso.

 

Obrigado pelas dicas , mas estou aprendendo agora, eu "acho que estou comparando" mas devo não estar

porque nao esta dando certo...

 

oque poderia usar se nao usar gets ?

e tem um pq de não usar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois você não está comparando. Comparação de igualdade é '=='. '=' é atribuição. Preste atenção enquanto você escreve.

 

Tem trocentos tópicos perdidos sobre gets e fflush. Só fazer uma busca.

 

você está programando em C++...Use cin ou getline.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu até entendo isso!

 

Professor tem mania de colocar bibliotecas e dizer que programa em C++ e não sai do C, e até usa mal, usando fflush e gets!

 

Acham que C++ não passa de cin e cout!

 

É triste mas é verdade!

 

Pra comparar você pode usar tb o strcmp(string1,string2) no caso de C;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.