Mudanças entre as edições de "AP1"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada)
(Sem diferença)

Edição atual tal como às 13h04min 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();
  }
}