Andre-Machado
(usa Linux Mint)
Enviado em 21/06/2019 - 18:35h
Estou tentando criar um sistema para cadastrar livros, mas está dando erro no código.
alguem tem como me dar uma luz? segue o código abaixo.
#include <stdio.h>
#include <stdlib.h>
// structs
struct
{
int codigo;
char titulo_livro [50];
char autor [30];
char editora [30];
}livro;
// fim da structs.
// inicio das funções
void cabecalho (){
printf("\t\t---------------------------------------------- ");
printf("\n\t\t-------Sistema de cadastro de livros----------");
printf("\n\t\t---------------------------------------------- ");
}
int menu (){
int op = 0;
printf ("\n1- Cadastrar livro");
printf("\n2- Listar livros cadastrados");
printf("\n0- Encerrar\n");
scanf("%d", &op);
return op;
}
void zeraVetor(livro *vet){
int i;
for (i = 0; i < 5; i++){
vet[i].codigo = 0;
}
}
int retornaUltimaPosicaoUsada (livro *vet){
int i = 0;
while (vet[i+1].codigo > 0){
i++;
}
return i;
}
void cadastraLivro (livro *vet){
int i = 0;
i = retornaUltimaPosicaoUsada(vet);
printf("Este será o livro de código: [%d]", i+1);
fflush(stdin);
vet [i + 1].codigo = i + 1;
printf("\n Digite o nome do livro");
scanf("%c", &vet[i+1].titulo_livro);
fflush(stdin);
printf("\n Digite o nome do autor do livro");
scanf("%c", &vet[i+1].autor);
fflush(stdin);
printf("\n Digite a editora do livro");
scanf("%c", &vet[i+1].editora);
fflush(stdin);
printf("\n Livro cadastrado com sucesso");
}
// fim das funções.
int main ()
{
livro vet [5];
int itemEscolhido;
zeraVetor(vet);
while (1==1){
system ("clear");
cabecalho();
itemEscolhido = menu();
switch (itemEscolhido){
case 1:
system ("clear");
cabecalho();
printf ("\n1- Cadastro de livros");
cadastraLivro(vet);
break;
}
}
}