Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Mateus Nunes

Programa simples - codeblocks

Recommended Posts

#include <stdio.h>
#include <locale.h>
#include <math.h>
main()
{
char name[20];
float valor,media,Ga=0,Gb=0,Gc=0,Gf=0,Gfa,Gfb,notama=0,notamb=0,notamf=0;
int num_alunos,faltas,F,option,nn=0,subs;

do{
setlocale(LC_ALL,"portuguese");
printf("\t\t\tXXXXXXXXXXXXXXXXXXXXXXX");
printf("\n\nPor favor, informe o número de alunos da turma: ");
scanf("%d",&num_alunos);
for(nn==0;nn<num_alunos;nn++)
{
system ("pause");
system ("cls");
printf("\t\t\Aprovação Com Base nas Faltas Semestrais\n\n");
do{
printf("\nInforme o número atual de faltas no semestre (períodos): ");
scanf("%d",&faltas);
if (faltas>=0 && faltas<8)
{F=8-faltas;
 printf("\nVocê ainda pode faltar %d períodos.\n",F);
 printf("Mas tenha cuidado para não reprovar devido a isso!\n\n");}
else
{if (faltas==8)
{printf("\nVocê não pode mais ter faltas.\n");
 printf("Tenha cuidado para não reprovar devido a isso\n\n");}
else
{if (faltas>8 && faltas<18)
 {printf("Você reprovou por excesso de faltas.\n");
  printf("Tenha mais cuidado no próximo semestre!");}
else
{printf("Número de faltas inválido.\n");
 printf("Tente novamente!");
  }//Fim do terceiro else
 }//Fim do segundo else
}//Fim do primeiro else
}while (faltas<0||faltas>18);


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

system("pause");
system("cls");
printf("\t\t\t\Cálculo das Notas dos Graus\n\n");
printf("\nInforme a nota do Grau A (GA): ");
scanf("%f",&Ga);
notama=notama+Ga;
printf("\nInforme a nota do Grau B (GB): ");
scanf("%f",&Gb);
notamb=notamb+Gb;
Gf=(Ga+2*Gb)/3;
if (Gf>=6)
{printf("\n\nSeu grau final é: %.2f. Parabéns você foi aprovado!\n\n",Gf);}
else
{
printf("\nSeu grau final é: %.2f. Você não atingiu a média e terá que realizar o Grau C\n",Gf);
printf("\nInforme o grau a ser substituído: 1-GA ou 2-GB?");
scanf("%d",&subs);
if (subs==1)
{
printf("\nInforme a nota do GC:");
scanf("%f",&Gc);
Gfa=(Gc+2*Gb)/3;
if (Gfa>=6) {printf("\nAprovado! Seu grau final, após recuperação, é %f!",Gfa);}
else
{printf("\nReprovado! Seu grau final, após recuperação, é %f.\n",Gfa);}
Ga=Gc;
}
if (subs==2)
{printf("\nInforme a nota do GC:");
scanf("%f",&Gc);
Gfb=(Ga+2*Gc)/3;
if (Gfa>=6) {printf("\nAprovado! Seu grau final, após recuperação, é %f!",Gfb);}
else
{printf("\nReprovado! Seu grau final, após recuperação, é %f.\n",Gfb);}
Gb=Gc;}
}//Fim do primeiro else

Gf=(Ga+2*Gb)/3;
notamf=notamf+Gf;
system ("pause");

} // fim do for
system ("cls");
printf("Média do Grau A (GA): %f",notama/num_alunos);
printf("\n\nMédia do Grau B (GB): %f",notamb/num_alunos);
printf("\n\nMédia do Grau Final (GF): %f\n\n",notamf/num_alunos);
system ("pause");
system ("cls");

printf("\nDeseja executar outra vez (s/n)?");
fflush(stdin); //Limpa o buffer
scanf("%c",&option);
}while(option=='s');//Fim do laço de repetição
printf("\n\n");

}//Fim do Programa

Existe a possibilidade desse programa mostrar em qual aluno está? Por exemplo, vou rodar o programa para 5 alunos, para não ficar confuso tem como aparecer o número do aluno para o qual eu estou inserindo as notas e faltas? Muito Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, pois você não esta armazenando as informações dos alunos, apenas esta usando variaveis, e no fim do loop você reutiliza novamente. O certo seria armazenar em uma struct, depois seria possivel identificar onde esta o aluno, inserindo apenas o 

numero do cadastro, ou usando uma funcao de busca.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×