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

If-else; do-while; codeblocks

Recommended Posts

# include <stdio.h>
#include <locale.h>
#include <math.h>
main()
{
char name[20];
float Ga,Gb,Gc,Gf,Gfa,Gfb;
int faltas,F,option;


setlocale(LC_ALL,"portuguese");
printf("\t\t\t\tNotas e Faltas - Critério UNISINOS\n\n");
printf("Digite seu nome: ");
scanf("%s",&name);
fflush(stdin);
system("cls");
printf("\t\t\t\Aprovação Com Base nas Faltas Semestrais");
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("Você ainda pode faltar %d períodos.\n",F);
 printf("Mas tenha cuidado para não reprovar devido a isso!");}
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 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);
printf("\nInforme a nota do Grau B (GB): ");
scanf("%f",&Gb);
Gf=(Ga+2*Gb)/3;
if (Gf>=6)
{printf("\n\nSeu grau final é: %.2f. Parabéns você foi aprovado!\n\n",Gf);}
else
{if (Gf<6)
 {printf("Seu grau final é: %.2f. Você não atingiu a média e terá que realizar o Grau C(GC)\n",Gf);
 printf("Informe o grau a ser substituido: \n\n");
 printf("\n1-Ga");
 printf("\n2-Gb\n");
 fflush(stdin);
 printf("\nOpção: ");
 scanf("%c",&option);}

fflush(stdin);
system("cls");
if (option==1)
{printf("Digite a nota da prova do GC: ");
 scanf("%f",Gc);
 Gfa=(Gc+2*Gb)/3;
if (Gfa>=6)
{printf("Você atingiu a média e foi aprovado. Parabéns, seu grau final, após recuperação, é %f!",Gfa);}
else
{printf("Seu grau final, após recuperação, é %f.\n",Gfa);
 printf("Você não atingiu a média e terá que repetir a disciplina no próximo semestre!");

if (option==2)
{printf("Digite a nota da prova do GC: ");
 scanf("%f",Gc);
 Gfb=(Ga+2*Gc)/3;}
if (Gfb>=6)
{printf("Você atingiu a média e foi aprovado. Parabéns, seu grau final, após recuperação, é %f!",Gfb);}
else
{printf("Seu grau final, após recuperação, é %f.\n",Gfb);
 printf("Você não atingiu a média e terá que repetir a disciplina no próximo semestre!");
   }//Fim do terceiro
  }//Fim do segundo else
 }//Fim do primeiro else
}
}

Pessoal, estou com um projeto de faculdade da disciplina "algoritmos". Ressalto que faço eng. química e além de ter apenas essa disciplina relacionada a códigos, meu conhecimento é bem raso. Bom, vamos lá:

 

Meu projeto exige que o programa deve prever a aprovação ou reprovação por faltas (isso foi conseguido);

Ele deve prever aprovação ou não com base nas notas dos graus (A ou B ) e caso a média (6) não seja atingida, o mesmo deve perguntar qual grau será substituído pela recuperação (Gc). Eu estruturei (tentei) que caso o grau substituído, pelo Gc, seja o A, isso irá gerar uma nova nota final (Gfa) e caso o grau substituído seja o B, isso irá gerar uma nota final também (Gfb), ou seja, Gfa e Gfb não podem coexistir.

 

Mas, o código dá erro após a tomada de decisão do menu (opção 1 ou 2), alguém sabe como consertar?? Outra coisa, feito isso eu devo abrir o programa para que várias pessoas possam usar, por exemplo uma turma, de maneira que terminado o programa com um aluno ele reinicie para outro aluno (dando opção de reiniciar ou não), porém isso não foi explicado, ou seja, não sei fazer. Mais ainda, estando com tudo estruturado da maneira como eu disse, ao final, ele deve calcular a média do Ga, do Gb e do grau final (Gf;Gfa;Gfb) e aí está minha maior dúvida! Como irei calcular a média do grau final da turma, após vários alunos utilizarem o programa, uma vez que alguns terão o grau final na variável Gf (passaram por média e não fizeram recuperação), outros na Gfa e outros na Gfb??

 

Eu sei que é muita coisa, mas se alguém puder me dar uma luz!! Isso deve estar pronto para a segunda que vem, mas estou bem perdido. Muito obrigado e desculpe se ficou confuso, caso queiram me ajudar e tenham alguma dúvida do que o programa deve executar, me avisem!!! Obrigado!!

Editado por Mateus Nunes
Clareza

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

×