Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com char na estrutura do while


Nadia123

Pergunta

Ola, estou montando este programa para um trabalho da faculdade porem esta dando erro na hora de reconhecer quando insiro através da letra N que não quero mais continuar a inserir dados, mesmo colocando no do while(opcao!=N). Se alguém puder ajuda, obrigada. 

/*Crie uma matriz 50X3 de valores reais para armazenar as
notas dos alunos de uma turma de Algoritmos e
Programação. Cada linha representa um aluno e cada
coluna os seguintes valores: nota do módulo 1, nota do
módulo 2 e nota da avaliação institucional.
• Permita ao usuário entrar com os dados de no máximo 50 alunos,
portanto ao cadastrar as notas pergunte se deseja receber as
notas de um novo aluno (S-Sim ou N-Não).
• Encontre o aluno com maior nota do primeiro módulo.
• Calcule a média final dos alunos, considerando:
Média =0,4*Mod1+0,5*Mod2+0,1Av.
• Para cada aluno mostre se ele foi aprovado ou se fará substitutiva,
considerando o valor 5,0 para aprovação.*/
#include<stdio.h>
#define n 5
    int main()
{   
    int i, j, aluno=0;
    float matriz[n][3], M1, M2, AI, maior=0, media[n];
    char opcao; 
    
    for(i=1;i<=n;i++)
    {
        do
        {
             printf("\nAluno %i", i);
             do
            {
                printf("\nNota Modulo 1:\n");
                scanf("%f", &M1);
            
                if(maior<M1)
                {
                   maior=M1;
                   aluno=i;
                }
            
                if(M1<0 || M1>10)
                {
                    printf ("\n Apenas notas entre 0 e 10. Digite novamente.\n");
                }
            
            }while(M1<0 || M1>10);
    
            do
            {
                printf("\nNota Modulo 2:");
                scanf("%f", &M2);
            
                if(M2<0 || M2>10)
                {
                   printf ("\nApenas notas entre 0 e 10. Digite novamente.\n");
                }
            
            
            }while(M2<0 || M2>10);
        
            do
            {
                printf("\nNota da avaliacao institucional:\n");
                scanf("%f",&AI);
            
                if(AI<0 || AI>1)
                {
                    printf ("\nApenas notas entre 0 e 1. Digite novamente.");
                }
            
    
            
            }while(AI<0 || AI>1); 
            
            printf("\nDesejar inserir notas de um novo aluno? Digite S para sim, e N para não.\n");
            scanf(" %c", &opcao);
            
            if(opcao!='S' && opcao!='N')
            {
                printf("\nLetra invalida. Digite apenas S ou N.\n");
            }     
        
        }while(opcao == 'S');
        
        media=((0,4*M1)+(0,5*M2)+(0,1*AI));
    }
        printf("\nAs medias dos alunos foram:\n");
    
    for(i=1;i<=n;i++)
    {
        
        if(media>=5)
        {
           printf("\nMedia aluno %i: %.2f.\tSituacao: aprovado.\n", i, media);    
        }
        
        else if (media<5)
        {
            printf("\nMedia aluno %i: %.2f.\tSituacao: reprovado.\n", i, media);
        }
    }
    
    printf("\nA maior nota do primeiro modulo foi do aluno %i.", aluno);
    
    return 0;
}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...