Você está na página 1de 3

1 /* Exerccio

2 Implementar um programa que tenha o seguinte menu inicial:


3 Menu:
4 (1) Inserir aluno
5 (2) Pesquisar aluno
6 (3) Calcular a mdia de todos os alunos
7 (4) Sair
8 A opo 1 deve requisitar dados de um aluno, calcular a mdia final das notas deste aluno, aps todos os
dados deste aluno devem ser inseridos em um arquivo.
9 A opo 2 deve pesquisar se o aluno existe no arquivo pela sua matrcula, e imprimir os dados do mesmo na
tela.
10 A opo 3 deve percorrer todo os cadastros do arquivo e calcular a mdia final da turma, imprimindo a mesma
na tela.
11 Provas tem peso 4 e trabalhos peso 1.
12 A opo 4 encerra o programa:
13 exit(1);
14 A estrutura utilizada para o aluno deve ser a seguinte:
15 Struct Aluno {
16 int matricula;
17 char aluno[100];
18 float nota_p1;
19 float nota_p2;
20 float nota_t1;
21 float nota_t2;
22 float media;
23 }; */
24
25 #include <stdio.h>
26 #include <stdio.h>
27 #include <locale.h>
28
29 struct alunos{
30
int matricula;
31
char nome [100];
32
float nota_p1;
33
float nota_t1;
34
float nota_p2;
35
float nota_t2;
36
float media;
37 };
38
39 int main()
40 {
41
setlocale(LC_ALL,"Portuguese");
42
struct alunos al;
43
int menu, matricula_digitada, matricula_teste, somatorio_alunos;
44
float somatorio_medias;
45
FILE *pf;
46
47
do
48
{
49
printf("Utilizando o seguinte cdigo:");
50
printf("\n1 - Inserir Aluno;");
51
printf("\n2 - Pesquisar Aluno;");
52
printf("\n3 - Calcular a mdia;");
53
printf("\n4 - Sair");
54
printf("\n\nDigite o nmero do que voc deseja fazer: ");
55
scanf("%d", &menu);
56
while(menu<1||menu>4)
57
{
58
printf("\nNmero invlido, digite novamente: ");
59
scanf("%d", &menu);
60
}
61
62
switch (menu)
63
{

64
case 1:
65
pf=fopen("Notas.txt","a+");
66
if(pf==NULL)
67
{
68
printf("O arquivo no pode ser aberto com sucesso!!!");
69
exit(1);
70
}
71
system("cls");
72
printf("Digite a matrcula do aluno: ");
73
scanf("%d", &al.matricula);
74
printf("\nDigite o nome do aluno: ");
75
scanf("%s", &al.nome);
76
printf("\nDigite a nota da primeira prova: ");
77
scanf("%f", &al.nota_p1);
78
while(al.nota_p1<0||al.nota_p1>10)
79
{
80
printf("Nota invlida, digite novamente: ");
81
scanf("%f",&al.nota_p1);
82
}
83
printf("\nDigite a nota do primeiro trabalho: ");
84
scanf("%f",&al.nota_t1);
85
while(al.nota_t1<0||al.nota_t1>10)
86
{
87
printf("Nota invlida, digite novamente: ");
88
scanf("%f",&al.nota_t1);
89
}
90
printf("\nDigite a nota da primeira prova: ");
91
scanf("%f",&al.nota_p2);
92
while(al.nota_p2<0||al.nota_p2>10)
93
{
94
printf("Nota invlida, digite novamente: ");
95
scanf("%f",&al.nota_p2);
96
}
97
printf("\nDigite a nota do segundo trabalho: ");
98
scanf("%f",&al.nota_t2);
99
while(al.nota_t2<0||al.nota_t2>10)
100
{
101
printf("Nota invlida, digite novamente: ");
102
scanf("%f",&al.nota_t2);
103
}
104
al.media = 0.4 * al.nota_p1 + 0.1 * al.nota_t1 + 0.4 * al.nota_p2 + 0.1 * al.nota_t2;
105
printf("\nMdia = %.2f", al.media);
106
fprintf(pf, "%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n", al.matricula, al.nome, al.nota_p1, al
.nota_t1, al.nota_p2, al.nota_t2, al.media);
107
printf("\n\nAluno salvo com sucesso.\n\n\n");
108
system("pause");
109
system("cls");
110
fclose(pf);
111
break;
112
113
case 2:
114
system("cls");
115
printf("Digite a matrcula a ser pesquisada: ");
116
scanf("%d",&matricula_digitada);
117
pf=fopen("Notas.txt","r");
118
if(pf==NULL)
119
{
120
printf("O arquivo no pode ser aberto com sucesso!!!");
121
exit(1);
122
}
123
matricula_teste = 0;
124
do
125
{
126
fscanf(pf, "%d\t%s\t%f\t%f\t%f\t%f\t%f\n", &al.matricula, &al.nome, &al.nota_p1, &al.
nota_t1, &al.nota_p2, &al.nota_t2, &al.media);
127
if (matricula_digitada == al.matricula)

128
{
129
printf("\nNOME\tP1\tT1\tP2\tT2\tMEDIA\n");
130
printf("%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n\n\n", al.nome, al.nota_p1, al.nota_t1,
al.nota_p2, al.nota_t2, al.media);
131
matricula_teste=1;
132
}
133
}while(!feof(pf));
134
if (matricula_teste == 0)
135
{
136
printf("\nA matrcula no foi encontrada.\n\n\n");
137
}
138
system("pause");
139
system("cls");
140
fclose(pf);
141
break;
142
143
case 3:
144
system("cls");
145
somatorio_medias = 0;
146
somatorio_alunos = 0;
147
pf=fopen("Notas.txt","r");
148
if(pf==NULL)
149
{
150
printf("O arquivo no pode ser aberto com sucesso!!!");
151
exit(1);
152
}
153
do
154
{
155
fscanf(pf, "%d\t%s\t%f\t%f\t%f\t%f\t%f\n", &al.matricula, &al.nome, &al.nota_p1, &al.
nota_t1, &al.nota_p2, &al.nota_t2, &al.media);
156
somatorio_medias = somatorio_medias + al.media;
157
somatorio_alunos++;
158
}while(!feof(pf));
159
somatorio_medias = somatorio_medias / somatorio_alunos;
160
printf("\nA mdia das notas dos %d alunos cadastrados foi: %.2f.\n\n\n", somatorio_alunos,
somatorio_medias);
161
system("pause");
162
system("cls");
163
fclose(pf);
164
break;
165
166
case 4:
167
exit(1);
168
169
}
170
}while(1);
171
return 1;
172 }

Você também pode gostar