Advertisement
ThaisAlmeida

Final 2013.1

Aug 16th, 2014
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.98 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4.  
  5.  
  6. typedef struct{
  7.  
  8.  int codigo;
  9.  char titulo[50];
  10.  char autor[30];
  11.  char assunto[10];
  12.  char editora[20];
  13.  int ano;
  14.  int edicao;
  15.  }DADOS;
  16.  
  17.  void Registro (DADOS *dados, FILE *arquivo){
  18.  
  19.  printf("Digite o codigo do livro:\n");
  20.  scanf("%d",&dados->codigo);
  21.  
  22.  printf("Digite o autor:\n");
  23.  gets(dados->autor);
  24.  
  25.  printf("Digite o titulo:\n");
  26.  gets(dados->titulo);
  27.  
  28.  printf("Digite o assunto:\n");
  29.  gets(dados->assunto);
  30.  
  31.  printf("Digite a editora:\n");
  32.  gets(dados->editora);
  33.  
  34.  printf("Digite o ano:\n");
  35.  scanf("%d", &dados->ano);
  36.  
  37.  printf("Digite a edicao:\n");
  38.  scanf("%d", &dados->edicao);
  39.  
  40.  fwrite(dados,sizeof(DADOS),1,arquivo);
  41.  }
  42.  
  43. int Pesquisa (DADOS *dados,FILE *arquivo, char nome){
  44.  
  45.  int i=0;
  46.  
  47.  while(!feof(arquivo)){
  48.  
  49.  fread(dados,sizeof(DADOS),1,arquivo);
  50.  if (dados->titulo == nome){
  51.  
  52. return(i);
  53.  
  54. }else{
  55.  
  56. return(-1);
  57. }
  58. i++;
  59. }
  60. }
  61.  
  62. void Pesquisa2 (DADOS *dados,FILE *arquivo, int ano){
  63.  
  64.  fread(dados,sizeof(DADOS),1,arquivo);
  65.  while (!feof(arquivo)){
  66.  
  67.  if(dados->ano == ano){
  68.  
  69.  printf("O codigo do livro eh:\n %d", dados->codigo);
  70.  printf("O Titulo do livro eh:\n %s", dados->titulo);
  71.  printf("O autor eh:\n %s ", dados->autor);
  72.  printf("O assunto eh:\n %s ", dados->assunto);
  73.  printf("A editora eh:\n %s", dados->editora);
  74.  printf("Edicao:\n %d", dados->edicao);
  75.  }
  76.  }
  77. }
  78.  
  79.  
  80. int main()
  81. {
  82.   FILE *arquivo;
  83.   arquivo = fopen("acervo.cad","w");
  84.   int ano,opcao;
  85.   DADOS *dados;
  86.   char titulo[50];
  87.  
  88.   printf("1-Adicionar livro\n 2-Pesquisar livro\n 3-Imprimir registros anuais\n 4-sair\n");
  89.   printf("Digite o numero da sua opcao:\n");
  90.   scanf("%d", &opcao);
  91.  
  92.   if(opcao == 1){
  93.    Registro(dados,arquivo);
  94.   }
  95.  
  96.   if(opcao == 2){
  97.  
  98.  printf("Digite o titulo");
  99.  gets(titulo);
  100.  
  101.  Pesquisa(dados,arquivo,titulo);
  102. }
  103.  
  104. if(opcao == 3){
  105.  
  106.  printf("Digite o ano:");
  107.  scanf("%d", &ano);
  108.  Pesquisa2(dados,arquivo,ano);
  109. }
  110.  
  111. if(opcao == 4){
  112. exit(0);
  113. }
  114.  
  115. getche();
  116.  
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement