-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfilms_history.c
69 lines (58 loc) · 1.51 KB
/
films_history.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <stdlib.h>
#include <stdio.h>
typedef struct cinema {
char nome[40];
char estilo[40];
int ano;
int duration;
}cinema;
int main() {
cinema* filme;
int qnt_filmes = 0;
int i = 0, j = 0, k = 0;
int option = 0;
char ch;
FILE* arquivotxt;
FILE* arquivobin;
printf("Gravar filme (1), exibir filmes (2)\n");
scanf("%d", &option);
switch (option) {
case 1: {
arquivotxt = fopen("ja_assistitxt", "a");
arquivobin = fopen("ja_assistibin", "ab");
printf("Quantos filmes ?\n");
scanf("%d", &qnt_filmes);
filme = malloc(sizeof(cinema) * qnt_filmes);
for (i = 0; i < qnt_filmes; i++) {
printf("nome[%d]:\n",i+1);
//scanf("%[^\n]s", filme[i].nome);
getchar();
gets(filme[i].nome);
printf("estilo[%d]:\n", i + 1);
//scanf("%[^\n]s", filme[i].estilo);
gets(filme[i].estilo);
printf("ano[%d]:\n", i + 1);
scanf("%d", &filme[i].ano);
printf("duracao[%d](min):\n", i + 1);
scanf("%d", &filme[i].duration);
fwrite(filme[i].nome,sizeof(char),40,arquivobin);
fwrite(filme[i].estilo,sizeof(char),40,arquivobin);
fwrite(&filme[i].ano,sizeof(int),1,arquivobin);
fwrite(&filme[i].duration,sizeof(int),1,arquivobin);
fprintf(arquivotxt, "%s\n", filme[i].nome);
fprintf(arquivotxt, "%s\n", filme[i].estilo);
fprintf(arquivotxt, "%d\n", filme[i].ano);
fprintf(arquivotxt, "%d\n", filme[i].duration);
fprintf(arquivotxt,"\n");
}
break;
}
case 2: {
break;
}
case 3: {
printf("caso 3?");
break;
}
}
}