Pesquise e construa um software que seja capaz de utilizar a estrutura apresentada na Figura 1 para cadastro
de no mínimo 30 livros. Para tanto, combine a estrutura da Figura 1 com um vetor ou uma matriz. Seu software
deve possuir uma estrutura de menus que possibilite ao usuário do software o uso fácil deste, para inclusão,
exclusão, alteração e consulta dos livros.
Eu tive dúvidas em relação ao menu. Por exemplo, quando for incluir algum livro, ele deve ser incluído em um espaço vago, correto? E como vou percorrer a struct pra achar essa 'ficha' vazia?
Excluir talvez eu tenha conseguido fazer, mas por via das dúvidas, tá certinho?
Alterar, acho também que consegui...
aaaagora consulta de livros não sei se tá certo também... :s
bobeiras, né?
Uma ajudinha ia ser muito boom, obrigada ^^
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, aux=0;
struct livro
{
int codigo;
char nome[100];
char autor[100];
char editora[100];
int ano;
float preço;
}livro;
struct livro l[30];
int menu, aux_cod;
char condicao;
do
{
do
{
printf("Menu de opcoes:\n");
printf("1- Incluir livro\n");
printf("2- Excluir livro\n");
printf("3- Alterar livro\n");
printf("4- Consulta de livro\n");
}while((menu<1) || (menu>4));
switch (menu)
{
case 1:
printf("Digite o codigo:\n");
scanf("%d",&l[i].codigo);
fflush(stdin);
printf("Digite o nome do livro:\n");
scanf("%s",&l[i].nome);
fflush(stdin);
printf("Digite o nome do autor:\n");
scanf("%s",&l[i].autor);
fflush(stdin);
printf("Digite a editora do livro:\n");
scanf("%s",&l[i].editora);
fflush(stdin);
printf("Digite o ano do livro:\n");
scanf("%d",&l[i].ano);
printf("Digite o preço do livro:\n");
scanf("%f",&l[i].preço);
break;
case 2:
printf("Digite o codigo do livro:\n");
scanf("%d",&aux_cod);
//Procura o código do livro pela posição que ele se encontra. Quando encontrado,
//todos os dados serão apagados
for(i=0;i<30;i++)
{
if(l[i].codigo==aux_cod)
{
l[i].codigo=0;
l[i].nome='';
l[i].autor='';
l[i].editora='';
l[i].ano=0;
l[i].preço=0;
printf("Dados excluídos com sucesso.");
}
}
break;
case 3:
printf("Digite o codigo do livro:\n");
scanf("%d",&aux_cod);
printf("Digite o codigo:\n");
scanf("%d",&l[aux_cod].codigo);
fflush(stdin);
printf("Digite o nome do livro:\n");
scanf("%s",&l[aux_cod].nome);
fflush(stdin);
printf("Digite o nome do autor:\n");
scanf("%s",&l[aux_cod].autor);
fflush(stdin);
printf("Digite a editora do livro:\n");
scanf("%s",&l[aux_cod].editora);
fflush(stdin);
printf("Digite o ano do livro:\n");
scanf("%d",&l[aux_cod].ano);
printf("Digite o preço do livro:\n");
scanf("%f",&l[aux_cod].preço);
break;
case 4:
printf("Os livros são:\n");
for(i=0;i<30;i++)
{
printf("%d ", l[i].codigo);
printf("%s ", l[i].nome);
printf("%s ", l[i].autor);
printf("%s ", l[i].editora);
printf("%d ", l[i].ano);
printf("%f ", l[i].preço);
printf("\n\n");
}
}
printf("Deseja realizar mais alguma operação?\n\nS- Sim N- não\n");
scanf("%c",&condicao);
}while(condicao=='s' || condicao=='S');
return 0;
}
Pergunta
Nai
Olá gente, boa noite! ^^
Eu to resolvendo o seguinte exercício:
Pesquise e construa um software que seja capaz de utilizar a estrutura apresentada na Figura 1 para cadastro
de no mínimo 30 livros. Para tanto, combine a estrutura da Figura 1 com um vetor ou uma matriz. Seu software
deve possuir uma estrutura de menus que possibilite ao usuário do software o uso fácil deste, para inclusão,
exclusão, alteração e consulta dos livros.
Eu tive dúvidas em relação ao menu. Por exemplo, quando for incluir algum livro, ele deve ser incluído em um espaço vago, correto? E como vou percorrer a struct pra achar essa 'ficha' vazia?
Excluir talvez eu tenha conseguido fazer, mas por via das dúvidas, tá certinho?
Alterar, acho também que consegui...
aaaagora consulta de livros não sei se tá certo também... :s
bobeiras, né?
Uma ajudinha ia ser muito boom, obrigada ^^
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.