Olá pessoal, estou fazendo uma lista de exercícios de programação em C, e estou tendo dificuldades em uma das últimas questões:
Faça um algoritmo para com base no nome, sexo ("M"=Masculino e "F"=Feminino), três notas e o número de faltas dos alunos de uma turma, onde o Flag será um nome igual a "fim", escrever: a. A situação final de cada aluno; b. A média das notas dos homens e a média das notas das mulheres; c. O percentual de homens e o percentual de mulheres reprovados por média; d. O percentual de homens e o percentual de mulheres reprovados por falta; e. O percentual geral de reprovação da turma. Obs.: As situações possíveis são: Aprovado, Reprovado por Falta ou Reprovado por Média. A média mínima para obter aprovação é 7,00 e o limite de faltas é 15. A reprovação por falta sobrepõe a reprovação por Média.
Fiz o seguinte algoritmo:
#include <stdio.h>
#include <stdlib.h>
int main(void){
char nome[100];
char sexo;
double nota1;
double nota2;
double nota3;
double media;
double mediaM = 0;
double mediaM2 = 0;
double mediaF2 = 0;
double mediaF = 0;
double porcM = 0;
double porcF = 0;
double porcR = 0;
int faltas;
int contM = 0;
int contF = 0;
int contPorcM = 0;
int contPorcF = 0;
scanf("%s",nome);
while (nome!=("fim")) {
printf("Digite o Sexo: ");
scanf("%c",&sexo);
printf("1ª Nota:");
scanf("%lf",¬a1);
printf("2ª Nota:");
scanf("%lf",¬a2);
printf("3ª Nota:");
scanf("%lf",nota3);
media = (nota1 + nota2 + nota3)/3;
printf("Quantidade de faltas: ");
scanf("%d",faltas);
if ((media>=7) && (faltas<=15)){
printf("Nome:%s,Sexo:%c,Media:%ln,Faltas:%d Aprovado(a)",nome,sexo,media,faltas);
}else{
printf("Nome:%s,Sexo:%c,Media:%ln,Faltas:%d Reprovado(a)",nome,sexo,media,faltas);
}
if (sexo=='M'|| sexo=='m'){
contM = contM +1;
mediaM = (mediaM + media);
}
if (sexo =='F'|| sexo=='f'){
contF = contF +1;
mediaF = (mediaF + media);
}
if ( (sexo == 'M' || sexo == 'm') && (media<7 || faltas>15)){
contPorcM = contPorcM + 1;
porcM = (contPorcM*100)/contM;
}
if ((sexo == 'F' || sexo == 'f') && (media<7 || faltas>15)){
contPorcF = contPorcF + 1;
porcF = (contPorcF*100)/contF;
}
if ((media<7) || (faltas>15)){
porcR = ((contPorcM + contPorcF)*100)/(contM + contF);
}
mediaM2 = (mediaM/contM);
mediaF2 = (mediaF/contF);
printf("Digite o nome: ");
scanf("%s",nome);
}
printf("Média das notas dos homens:%ln\n ",mediaM2);
printf("Média das notas das mulheres:%ln\n ",mediaF2);
printf("Percentual de Homens Reprovados:%ln\n ",porcM);
printf("Percentual de Mulheres Reprovados:%ln\n ",porcF);
printf("Percentual Geral de Reprovação da Turma:%ln\n ",porcR);
return 0;
}
Uso o gcc para compilar e está dando diversos erros, agradeço se alguém mais experiente puder analisar e apontar os erros.
Obrigado a todos.