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;
}
Question
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 to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.