AleXBoTTi 0 Denunciar post Postado Março 8, 2010 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
_Isis_ 202 Denunciar post Postado Março 8, 2010 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
AleXBoTTi 0 Denunciar post Postado Março 8, 2010 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
_Isis_ 202 Denunciar post Postado Março 8, 2010 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
iCl4w 0 Denunciar post Postado Março 15, 2010 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