Ir ao conteúdo
  • Cadastre-se

Erro no Uso de Comandos de Repetição (While/do-while/For)


Ricardo Negreiros

Posts recomendados

Então pessoal, vim pedir uma ajudinha de vocês pra finalizar esse código. Ele pede alguns dados de entrada, e através do processamento desses dados ele informa se determinado aluno foi ou não reprovado/aprovado por médias/frequência. Porém, no caso do usuário entrar com dados inválidos eu coloquei o comando do-while para repetir a opção até que a entrada seja válida. Deu certo, porém, ao final da execução do código ele está repetindo novamente a opção do menu "disciplina". E não sei como corrigir isso. Ficarei grato com a ajuda vocês!

 

Segue o código, em C:

 

.

.

.

 

 

//Algoritmo Tudo Estudado até agora em cima do Exemplo-Base (Exemplo-Base=Aprovação Alunos/*Até o momento: 1.Uso de Estruturas Sequenciais (printf/scanf); OK!                 2.Uso de Estruturas Condicionais (if-else if-else/switch); OK!                 3.Uso de Estruturas de Repetição (for/while/do-while); Yeah!!(Apenas do do-while);*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>main (){//inicio main    char nome[15], sobrenome[15];    int serie, numero, sala, disciplina, faltas, q_aulas_total_100pc, frequencia, bimestre;    float nota1, nota2, media;    printf("Qual o primeiro nome do aluno(a)?\n");    scanf("%s", &nome);    printf("Qual o sobrenome do aluno(a)?\n");    scanf("%s", &sobrenome);    do    {//inicio 'do' serie    printf("Qual a serie em em curso?\n");    scanf("%d", &serie);    if ((serie>=1) && (serie<=9))    {//inicio if serie    do    {//inicio 'do' bimestre    printf("Qual o bimestre desejado:\n1.Marco/Abril;\n2.Maio/Junho;\n3.Agosto/Setembro;\n4.Outubro/Novembro;\n");    scanf("%d", &bimestre);     if ((bimestre>=1) && (bimestre<=4))     {//inicio if bimestre    printf("Qual a sala a que pertence?\n");    scanf("%d", &sala);    printf("De qual disciplina deseja alterar a nota:\n");    do    {//inicio 'do' disciplina    printf("1.Portugues;\n2.Matematica;\n3.Historia;\n4.Geografia;\n5.Quimica;\n6.Fisica;\n7.inglês;\n8.Filosofia;\n9.Educacao Fisica;\n");    scanf("%d", &disciplina);      switch (disciplina)      {//inicio switch          case 1:          {//inicio case 1               //Português               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=48; //São 48 aulas por bimestre, de português;               frequencia=q_aulas_total_100pc-faltas; //A frequência necessária para aprovação é 75%. Subeentende-se que 75% da variável q_aulas_total_100pc signifique 36 aulas;               if (media>=6 && frequencia>=36)               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Portugues e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if (media>=6 && frequencia<36)               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Portugues e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if (media<6 && frequencia>=36)               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Portugues e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<36))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Portugues e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 1          break;          case 2:          {//inicio case 2               //Matemática               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=40;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=30))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Matematica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<30))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Matematica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=30))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Matematica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<30))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Matematica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 2          break;          case 3:          {//inicio case 3               //História               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=24;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=18))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Historia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<18))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Historia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=18))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Historia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<18))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Historia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 3          break;          case 4:          {//inicio case 4               //Geografia               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=24;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=18))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Geografia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<18))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Geografia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=18))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Geografia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<18))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Geografia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 4          break;          case 5:          {//inicio case 5               //Quimica               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=24;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=18))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Quimica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<18))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Quimica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=18))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Quimica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<18))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Quimica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 5          break;          case 6:          {//inicio case 6               //Física               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=24;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=18))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<18))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=18))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<18))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 6          break;          case 7:          {//inicio case 7               //Inglês               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=24;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=18))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de inglês e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<18))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de inglês e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=18))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de inglês e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<18))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de inglês e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 7          break;          case 8:          {//inicio case 8               //Filosofia               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=16;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=12))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Filosofia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<12))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Fiolosofia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=12))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Filosofia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<12))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Filosofia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 8          break;          case 9:          {//inicio case 9               //Educação Física               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=16;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=12))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Educacao Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<12))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Educacao Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=12))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Educacao Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<12))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Educacao Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 9          break;          default:               printf("Opcao Invalida. Escolha uma das opções disponiveis no Menu de Disciplinas.\n");      }/*fim switch */    }/*fim 'do' disciplina */ while (disciplina != '1' && disciplina != '2' && disciplina != '3' && disciplina != '4' && disciplina != '5' && disciplina != '5' && disciplina != '7' && disciplina != '8' && disciplina != '9');     }/*fim if bimestre */     else     printf("Bimestre Invalido. Entre com um bimestre valido.\n");    }/*fim 'do' bimestre */ while (bimestre != '1' && bimestre != '2' && bimestre != '3' && bimestre != '4');    }/*fim if serie */    else    printf("Serie Invalida. Entre com uma serie valida.\n");    }/*fim 'do' serie */ while (serie != '1' && serie != '2' && serie != '3' && serie != '4' && serie != '5' && serie != '6' && serie != '7' && serie != '8' && serie != '9');    system("pause");}//fim main
Link para o comentário
Compartilhar em outros sites

@Ricardo Negreiros

 

Acho que você errou as posições do do-while.

 

Basicamente coloquei esses testes:

printf("Qual a serie em em curso?\n");    scanf("%d", &serie);    //verifica se a opcao esta correta    if ((serie<1) || (serie>9))    {        do        {            printf("Qual a serie em em curso?\n");            scanf("%d", &serie);        }while (serie <1 || serie>9);    }//...printf("Qual o bimestre desejado:\n1.Marco/Abril;\n2.Maio/Junho;\n3.Agosto/Setembro;\n4.Outubro/Novembro;\n");    scanf("%d", &bimestre);    //verifica se a opcao esta correta     if ((bimestre < 1) || (bimestre> 4))     {         do         {             printf("Qual o bimestre desejado:\n1.Marco/Abril;\n2.Maio/Junho;\n3.Agosto/Setembro;\n4.Outubro/Novembro;\n");             scanf("%d", &bimestre);         }while (bimestre <1 || bimestre > 4);     }//...printf("1.Portugues;\n2.Matematica;\n3.Historia;\n4.Geografia;\n5.Quimica;\n6.Fisica;\n7.inglês;\n8.Filosofia;\n9.Educacao Fisica;\n");    scanf("%d", &disciplina);    //verifica se a opcao esta correta    if (disciplina < 1 || disciplina > 9)    {        do        {            printf("1.Portugues;\n2.Matematica;\n3.Historia;\n4.Geografia;\n5.Quimica;\n6.Fisica;\n7.inglês;\n8.Filosofia;\n9.Educacao Fisica;\n");            scanf("%d", &disciplina);        }while (disciplina < 1 || disciplina > 9);    }//...

Código completo:

 

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>//funcao alunovoid aluno(){    char nome[15], sobrenome[15];    int serie, numero, sala, disciplina, faltas, q_aulas_total_100pc, frequencia, bimestre;    float nota1, nota2, media;    printf("Qual o primeiro nome do aluno(a)?\n");    scanf("%s", &nome);    printf("Qual o sobrenome do aluno(a)?\n");    scanf("%s", &sobrenome);    printf("Qual a serie em em curso?\n");    scanf("%d", &serie);    //verifica se a opcao esta correta    if ((serie<1) || (serie>9))    {        do        {            printf("Qual a serie em em curso?\n");            scanf("%d", &serie);        }while (serie <1 || serie>9);    }    printf("Qual o bimestre desejado:\n1.Marco/Abril;\n2.Maio/Junho;\n3.Agosto/Setembro;\n4.Outubro/Novembro;\n");    scanf("%d", &bimestre);    //verifica se a opcao esta correta     if ((bimestre < 1) || (bimestre> 4))     {         do         {             printf("Qual o bimestre desejado:\n1.Marco/Abril;\n2.Maio/Junho;\n3.Agosto/Setembro;\n4.Outubro/Novembro;\n");             scanf("%d", &bimestre);         }while (bimestre <1 || bimestre > 4);     }    printf("Qual a sala a que pertence?\n");    scanf("%d", &sala);    printf("De qual disciplina deseja alterar a nota:\n");    //inicio 'do' disciplina    printf("1.Portugues;\n2.Matematica;\n3.Historia;\n4.Geografia;\n5.Quimica;\n6.Fisica;\n7.inglês;\n8.Filosofia;\n9.Educacao Fisica;\n");    scanf("%d", &disciplina);    //verifica se a opcao esta correta    if (disciplina < 1 || disciplina > 9)    {        do        {            printf("1.Portugues;\n2.Matematica;\n3.Historia;\n4.Geografia;\n5.Quimica;\n6.Fisica;\n7.inglês;\n8.Filosofia;\n9.Educacao Fisica;\n");            scanf("%d", &disciplina);        }while (disciplina < 1 || disciplina > 9);    }      switch (disciplina)      {//inicio switch          case 1:          {//inicio case 1               //Português               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=48; //São 48 aulas por bimestre, de português;               frequencia=q_aulas_total_100pc-faltas; //A frequência necessária para aprovação é 75%. Subeentende-se que 75% da variável q_aulas_total_100pc signifique 36 aulas;               if (media>=6 && frequencia>=36)               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Portugues e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if (media>=6 && frequencia<36)               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Portugues e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if (media<6 && frequencia>=36)               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Portugues e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<36))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Portugues e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 1          break;          case 2:          {//inicio case 2               //Matemática               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=40;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=30))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Matematica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<30))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Matematica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=30))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Matematica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<30))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Matematica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 2          break;          case 3:          {//inicio case 3               //História               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=24;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=18))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Historia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<18))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Historia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=18))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Historia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<18))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Historia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 3          break;          case 4:          {//inicio case 4               //Geografia               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=24;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=18))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Geografia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<18))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Geografia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=18))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Geografia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<18))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Geografia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 4          break;          case 5:          {//inicio case 5               //Quimica               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=24;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=18))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Quimica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<18))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Quimica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=18))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Quimica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<18))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Quimica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 5          break;          case 6:          {//inicio case 6               //Física               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=24;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=18))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<18))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=18))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<18))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 6          break;          case 7:          {//inicio case 7               //Inglês               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=24;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=18))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de inglês e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<18))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de inglês e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=18))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de inglês e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<18))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de inglês e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 7          break;          case 8:          {//inicio case 8               //Filosofia               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=16;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=12))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Filosofia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<12))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Fiolosofia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=12))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Filosofia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<12))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Filosofia e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 8          break;          case 9:          {//inicio case 9               //Educação Física               printf("Entre com a primeira nota:\n");               scanf("%f", &nota1);               printf("Entre com a segunda nota:\n");               scanf("%f", &nota2);               printf("Quantas faltas o aluno teve na disciplina selecinada?\n");               scanf("%d", &faltas);               media=(nota1+nota2)/2;               q_aulas_total_100pc=16;               frequencia=q_aulas_total_100pc-faltas;               if ((media>=6) && (frequencia>=12))               {                printf("Aprovado. Media suficiente e Frequencia Regular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Educacao Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media>=6) && (frequencia<12))               {                printf("Nao aprovado. Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Educacao Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else if ((media<6) && (frequencia>=12))               {                printf("Nao aprovado. Media Insuficiente.\n");                printf("Terá direito a fazer o Exame Final.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Educacao Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }               else// ((media<6) && (frequencia<12))               {                printf("Não aprovado. Media Insuficiente e Frequencia Irregular.\n");                printf("A media do aluno(a) %s %s,\nda %d serie,\nna disciplina de Educacao Fisica e %.2f;\nTeve um total de %d faltas no bimestre %d.\n", nome, sobrenome, serie, media, faltas, bimestre);               }          }//fim case 9          break;          default:               printf("Opcao Invalida. Escolha uma das opções disponiveis no Menu de Disciplinas.\n");      }/*fim switch */      printf("\n..................................INICIO\n");      getche();}int main(){    while (1)    {        aluno();        system("cls");    }    return 0;} 

 

obs: Tente organizar melhor seu código para ficar mais legível.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...