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

Programa em C++


Aleck

Pergunta

Caros

Este programa precisa inserir nome do aluno e 4 notas.

Listar o nome a media e se media>=6 aprovado

se não reprovado meu código esta com erro podem me ajudar?

#include <stdio.h>
#define true 1

struct prs{
       char nome[100];
       float n1,n2,n3,n4,media;       
       struct prs *ptrprox;
       };
       struct prs *ptrprim, *ptratual, *ptrnovo;
       main(){
              char ch;                   
              ptrprim=(struct prs*)NULL;
              while (true){
                    printf ("\nDigite 'e' para inserir");
                    printf ("\nDigte 'l' para a lista");
                    printf ("\n");
                    ch=getche();
                           switch (ch){
                           case 'e':novonome(); break;
                           case 'l':listatudo(); break;
                           defaut: ("\n Digite opções validas");
                           }
                           }
                           } 
                           novonome(){
                                ptrnovo=(struct prs*) malloc(sizeof(struct prs));
                                if (ptrprim==(struct prs*)NULL){
                                                     ptrprim=ptrnovo;
                                                     ptratual=ptrnovo;
                                                     }else{
                                                           ptratual=ptrprim;
                                                           while(ptratual->ptrprox!=(struct prs*)NULL){
                                                                  ptratual=ptratual->ptrprox;
                                                                  }
                                                                  ptratual->ptrprox=ptrnovo;
                                                                  ptratual=ptrnovo;
                                                                  }
                                                                  printf ("\n Digite o nome ");                                                                  
                                                                  gets (ptratual->nome);
                                                                  ptratual->ptrprox=(struct prs*)NULL;
                                                                  printf ("\n Digite a primeira nota\n"); 
                                                                  gets (ptratual->nome);
                                                                  ptratual->ptrprox=(struct prs*)NULL;   
                                                                  printf ("\n Digite a segunda nota\n"); 
                                                                  gets (ptratual->nome);
                                                                  ptratual->ptrprox=(struct prs*)NULL;
                                                                  printf ("\n Digite a terceira nota\n"); 
                                                                  gets (ptratual->nome);
                                                                  ptratual->ptrprox=(struct prs*)NULL;
                                                                  printf ("\n Digite a quarta nota\n");                                                              
                                                                  gets (ptratual->nome);
                                                                  ptratual->ptrprox=(struct prs*)NULL;
                                                                  (*ptratual).media=((*ptratual).n1+(*ptratual).n2+(*ptratual).n3+(*ptratual).n4)/4;
                                                                  if((*ptratual).media>=6)
                                                                  printf("Aprovado");
                                                                  else{
                                                                       printf("Aluno reprovado");
                                                                       }
                                                                  }
                                                                  listatudo(){
                                                                       if(ptrprim==(struct prs*)NULL){
                                                                       printf ("\n lista vazia \n");
                                                                       (*ptratual).media=((*ptratual).n1+(*ptratual).n2+(*ptratual).n3+(*ptratual).n4)/4;
                                                                       if((*ptratual).media>=6)
                                                                       printf("Aprovado");
                                                                       else{
                                                                       printf("Aluno reprovado");
                                                                       }
                                                                       return;
                                                                       }
                                                                       ptratual=ptrprim;
                                                                       do{
                                                                          printf ("\n nome%s\n", ptratual->nome);
                                                                          ptratual=ptratual->ptrprox;                                                               
                                                                          printf ("\n Media %f\n", ptratual->media);
                                                                          ptratual=ptratual->ptrprox;
                                                                          }while (ptratual!=(struct prs*)NULL);
                                                                          }

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Qual o erro? Se for de compilação, posta a saída do compilador.

Abraço.

O erro é epresentado no calculo da média mesmo com a média abaixo de 6

surge a mensagem aprovado.

E quando digito L pata listar lista apenas como nome5.

Link para o comentário
Compartilhar em outros sites

  • 0

Este código precisa exibir nome do aluno a media e se foi aprovado ou não.

Utilizando lista encadeada.Esta apresentando erros.

O erro é apresentado no calculo da média mesmo com a média abaixo de 6

surge a mensagem aprovado.

E quando digito L pata listar lista apenas como nome5.

Editado por Aleck
Link para o comentário
Compartilhar em outros sites

  • 0
Alguém pode me ajudar com este problema???

Peço que evite a postagem de up's conforme a regra 3.6 (ver regras)

3.6 É proibida a abertura de tópicos com títulos como "Socorro", "Ajuda", "Urgente", etc, ou com títulos que não descrevam a dúvida, como "Uma dúvida simples", "Alguém pode me ajudar?", "Dúvida de Iniciante", etc. Tópicos assim serão editados sem aviso prévio.
Link para o comentário
Compartilhar em outros sites

  • 0

Acho que o problema tá aqui:

...
printf ("\n Digite a primeira nota\n");
gets (ptratual->nome);
ptratual->ptrprox=(struct prs*)NULL;  
printf ("\n Digite a segunda nota\n");
gets (ptratual->nome);
ptratual->ptrprox=(struct prs*)NULL;
printf ("\n Digite a terceira nota\n");
gets (ptratual->nome);
ptratual->ptrprox=(struct prs*)NULL;
printf ("\n Digite a quarta nota\n");                                                              
gets (ptratual->nome);
...

Você tá lendo as notas e armazenando na mesma variável ptratual->nome. Não teria que colocar em (*ptratual).n1, (*ptratual).n2, (*ptratual).n3, (*ptratual).n4?

Veja ai e posta o resultado. Abraço.

Link para o comentário
Compartilhar em outros sites

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,4k
×
×
  • Criar Novo...