fpontesmorales

prat_11 - Criar arquivo

Sep 11th, 2011
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.38 KB | None | 0 0
  1. /*5. [Farrer - Algoritmos Estruturados] Dado o arquivo cadastro com registros
  2. com os campos nome, sexo, corDosOlhos, peso e dataDeNascimento.  , separá-lo em dois arquivos:
  3. um chamado homens, com os registros  cujo campo SEXO apresente o valor 1 (sexo masculino)
  4. e o outro chamado  mulheres, com os registros cujo campo SEXO seja igual a 2 (sexo feminino).
  5. Os  registros dos novos arquivos deverão possuir os seguintes campos: nome, corDosOlhos,
  6. peso e dataDeNascimento. */
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #pragma pack(1)
  11.  
  12. typedef struct {
  13.   int sexo;
  14.   char nome[30];
  15.   char corDosOlhos[30];
  16.   float peso;
  17.   char dataDeNascimento[30];
  18. } bd;
  19.  
  20. int main(void) {
  21.  
  22.     FILE *arquivo;
  23.  
  24.  
  25.     if((arquivo=fopen("cadastro.data", "a+b")) == NULL) {
  26.         printf("Erro ao abrir o arquivo.\n");
  27.         exit(1);
  28.     }
  29.     cadastrar(arquivo);
  30.  
  31. }
  32.  
  33. cadastrar(FILE *arquivo){
  34.  
  35. bd cadastro;
  36. printf("Digite o sexo [ 1 - Masculino | 2 - Feminino ] : ");
  37. scanf("%d" , &cadastro.sexo);
  38. fflush(stdin);
  39. printf("Digite o nome da pessoa: ");
  40. gets(cadastro.nome);
  41. fflush(stdin);
  42. printf("Digite a cor dos olhos: ");
  43. gets(cadastro.corDosOlhos);
  44. printf("Digite o peso : ");
  45. scanf("%f" , &cadastro.peso);
  46. fflush(stdin);
  47. printf("Digite a data de nascimento: ");
  48. gets(cadastro.dataDeNascimento);
  49.  
  50. fwrite(&cadastro,sizeof(cadastro),1,arquivo);
  51. fclose(arquivo);
  52.  
  53. system("PAUSE");
  54.  
  55. }
Advertisement
Add Comment
Please, Sign In to add comment