Na horade compilar não acha erro algum... mas na hora de listar os filmes cadastrados, aparece erro tanto no nome quanto no ano...
Já fiz em C e em C++ e os nome e o ano não aparecem ou aparecem estranhos na função listar()
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#define TAM 200
int quantidade = 0;
typedef struct filme{
char nome[30];
int ano;
}novo[TAM];
void clear()
{
system("clear");
}
void pausar()
{
getchar();
}
void cadastrar(){
struct filme novo[TAM];
printf ("\nDigite o nome do filme a ser cadastrado: ");
scanf(" %s",novo[quantidade].nome);
printf("\nDigite o ano de gravacao filme: ");
scanf(" %d",&novo[quantidade].ano);
printf("\n\nO filme cadastrado foi: %s do ano %d", novo[quantidade].nome, novo[quantidade].ano);
quantidade++;
pausar();
clear();
}
void listar()
{
struct filme novo[TAM];
int k;
for(k=0; k<=quantidade; k++)
{
printf("Nome: %s Ano: %d \n", novo[k].nome, novo[k].ano);
}
pausar();
pausar();
}
int main(){
int opcao;
do{
printf("\n\t\t\t**** MENU ****");
printf("\n\n1) Cadastrar novo filme\n");
printf("2) Listar\n");
printf("3) Sair");
printf("\n\nDigite a opcao desejada\n");
scanf("%d",&opcao);
switch(opcao)
{
case 1:
cadastrar();
clear();
break;
case 2:
listar();
clear();
break;
case 3:
return 0;
}
} while(opcao<10000);
pausar();
return 0;
}