Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- #include<stdlib.h>
- #include<ctype.h>
- typedef struct{
- int classificacao;
- float media;
- float nota1,nota2,nota3,nota4;
- char resultado[20];
- char nome[80];
- }dados;
- void info (dados *vet,int cand);
- void med(dados *vet,int i);
- void buble (dados*vet,int cand);
- void classific(dados *vet,int cand);
- void result(dados *vet,int cand, int vagas);
- void buble2 (dados*vet,int cand);
- void saida(dados *vet,int cand);
- void info (dados *vet,int cand){
- for(int i = 0; i < cand; i++){
- scanf("%s",vet[i].nome);
- scanf("%f",&vet[i].nota1);
- scanf("%f",&vet[i].nota2);
- scanf("%f",&vet[i].nota3);
- scanf("%f",&vet[i].nota4);
- }
- }
- void med(dados *vet,int i){
- float media;
- media = ((vet[i].nota1 + vet[i].nota2 +vet[i].nota3 + vet[i].nota4)/4);
- vet[i].media = media;
- }
- void buble (dados*vet,int cand){
- dados aux;
- for(int i = 0; i < cand; i++){
- for(int j = (i+1); j < cand; j++){
- if(vet[i].media < vet[j].media){
- aux = vet[i];
- vet[i] = vet[j];
- vet[j] = aux;
- }
- }
- }
- }
- /*for(int i=0;i<100;i++){
- for(int j=0;j<99;j++){
- if((strcmp(lista2[j],lista2[j+1]))>0){
- // trocou=true;
- strcpy(aux,lista2[j]);
- strcpy(lista2[j],lista2[j+1]);
- strcpy(lista2[j+1],aux);
- strcpy(aux,lista[j]);
- strcpy(lista[j],lista[j+1]);
- strcpy(lista[j+1],aux);
- }*/
- void classific(dados *vet,int cand){
- for(int i = 0; i < cand; i++){
- vet[i].classificacao = (i+1);
- }}
- void result(dados *vet,int cand, int vagas){
- for(int i = 0; i < cand; i++){
- if(vet[i].media < 7){
- strcpy(vet[i].resultado,"Desclassificado");
- }
- if(( vet[i].classificacao > vagas) && (vet[i].media >= 7)){
- strcpy(vet[i].resultado,"Classificado");
- }
- if((vet[i].classificacao <= vagas) && (vet[i].media >= 7)){
- strcpy(vet[i].resultado,"Aprovado");
- }
- }
- }
- void buble2(dados *vet, int cand){
- dados a;
- for(int i = 0; i < cand; i++){
- for(int j = (i+1); j < cand; j++){
- if(strcmp(vet[i].nome,vet[j].nome) > 0){
- a = vet[i];
- vet[i] = vet[j];
- vet[j] = a;
- }
- }
- }
- }
- void saida(dados *vet,int cand){
- for(int i = 0; i < cand; i++){
- printf("%s %.2f %d %s\n",vet[i].nome,vet[i].media,vet[i].classificacao,vet[i].resultado);
- }
- }
- int main(void){
- int vagas;
- int cand;
- scanf("%d %d",&vagas,&cand);
- dados *aluno;
- aluno =(dados*)malloc(sizeof(dados)*cand);
- info(aluno,cand);
- for(int i = 0; i < cand; i++){
- med(aluno,i);
- }
- buble(aluno,cand);
- classific(aluno,cand);
- result(aluno,cand,vagas);
- buble2(aluno,cand);
- saida(aluno,cand);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement