Mudanças entre as edições de "AP1"
Ir para navegação
Ir para pesquisar
Linha 105: | Linha 105: | ||
} | } | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
+ | [[AP2]] |
Edição das 13h03min de 18 de junho de 2015
Avaliação Prática 1
#include <stdio.h>
struct TEndereco{
char logradouro[40];
int numero;
char cep[10]; // "88100-000'\0'"
};
struct TCadastro_Aluno{
char matr[7]; // "151XXX'\0'"
char nome[40];
struct TEndereco endereco;
int frequencia; // de 0 a 100.
float nota[3];
} Aluno[10] = {
{"151001","Joselito dos Santos",{"Rua das Flores",130,"88123-456"},73,{5.5,6,8}},
{"151002","Marivalda da Silva",{"Rua dos Peixes",850,"88123-000"},100,{4,7,3}},
{"151003","Orvalino Souza",{"Av da Floresta",650,"88123-999"},95,{10,6.5,9}},
{"151004","Amelia Fermino",{"Trav das Cabras",15,"88123-555"},93,{8,7,6}},
{"151005","Jose Genevaldo",{"Rua das Abelhas",27,"88123-444"},56,{5.5,6,4.5}},
{"151006","Joselito dos Santos",{"Rua das Flores",210,"88123-456"},80,{5.5,9,8}},
{"151007","Joseane da Silva",{"Rua dos Peixes",50,"88123-000"},100,{4.5,7,3}},
{"151008","Liamare da Cruz",{"Av da Floresta",67,"88123-999"},75,{10,6.5,9}},
{"151009","Irdevam Felicio",{"Trav das Cabras",35,"88123-555"},74,{8,7.5,6}},
{"151010","Genevaldo Jesus",{"Rua das Abelhas",150,"88123-444"},60,{5.5,6,4.5}} };
/* retorna a média de um unico aluno cuja a estrutura foi passada por parâmetro */
float media_nota(struct TCadastro_Aluno aux){
float media;
media=(aux.nota[0]+aux.nota[1]+aux.nota[2])/3.0;
return media;
}
/* se media >= 7 e frequencia >= 75 ..
retorna: 1 para aprovado e 0 para reprovado */
int resultado(struct TCadastro_Aluno aux){
if(media_nota(aux) >= 7 && aux.frequencia >=75)
return 1;
else
return 0;
}
/* Listar todos os alunos com matricula, nome, media, CEP, frequencia e resultado*/
void listar_alunos(){
int i,tipo;
char res[2][20]={"Aprovado.","Reprovado."};
printf("\n\nLista geral de alunos:");
for(i=0;i<10;i++){
if(resultado(Aluno[i]))
tipo=0;
else
tipo=1;
printf("\n %s \t %s \t %s \t %0.1f \t %d%% \t %s",
Aluno[i].matr,
Aluno[i].nome,
Aluno[i].endereco.cep,
media_nota(Aluno[i]),
Aluno[i].frequencia,
res[tipo]);
}
}
/*
1) Entrar com um numero de matricula para saber quem é o aluno (nome), a media e a frequencia.
2) E se o aluno foi Aprovado ou Reprovado.
3) Listar toda a turma exibindo: matricula, nome, CEP, média, frequência e resultado (Aprovado ou Reprovado).
*/
void main(){
while(1){
int i,freq=0;
char matr[7];
float media=0;
printf("\n\nDigite o número de matrícula para saber a média e a frequencia: ");
scanf("%s",matr);
for(i=0;i<10;i++){
if(strcmp(matr,Aluno[i].matr)==0){
media=media_nota(Aluno[i]);
freq=Aluno[i].frequencia;
break;
}
}
if(i<10){
printf("\nNome: %s",Aluno[i].nome);
printf("\nMédia: %0.1f\tFrequência: %d %%",media,freq);
if(resultado(Aluno[i]))
printf("\tAprovado!\n");
else
printf("\tReprovado!\n");
} else
printf("\nMatrícula não encontrada!\n");
listar_alunos();
}
}