Ir ao conteúdo
  • Cadastre-se

C Programa de cadastro e análise de dados de 5 Estudantes,


Posts recomendados

Boa Noite preciso de ajuda com esse desafio. 

 

TAREFA 1 – Programa de cadastro e análise de dados de 10 Estudantes:

1.Tela: Criar a tela a seguir que permita a entrada de dados de 10 estudantes diferentes. Assim que o usuário digitar os dados do último estudante, o programa deverá ir para a 2.tela.

 

Tela 1 – Interface (Tela) para cadastro de 10 estudantes

2.Tela: Criar a tela a seguir que apresente os dados analíticos, a partir dos dados digitados na Tela 1. Na sequência, encerrar o programa.

 

Tela 2 – Interface (Tela) do quadro analítico

OBSERVAÇÕES:

Todos indicadores do Quadro Analítico deverão ser calculados (nenhum digitado pelo usuário);

A “Maior Nota Individual” deverá ser a maior nota obtida por um estudante em qualquer uma das 2 avaliações;

A “Menor Nota Individual” deverá ser a menor nota obtida por um estudante em qualquer uma das 2 avaliações;

A “Média da Sala” deverá ser a média das médias dos 10 estudantes;

A “Melhor Média da Sala” deverá ser a maior média obtida por 1 estudante;

A “Pior Média da Sala” deverá ser a menor média obtida por 1 estudante.

  • Triste 1
Link para o comentário
Compartilhar em outros sites

Você tem mais liberdade para implementação da "tela 1" que na 2, use isso a seu favor; uma mensagem amistosa numa  'printf'  informativa seguindo um  'loop'  de leitura para gravação; aqui a gravação é facultativa porque os dados poderiam já estarem processados feitos durante a leitura, já que se trata de nomes e notas; eu recomento gravar isso no vetor multidirecional apenas para separar Captação de dados e Processamento quem sabe assim aprenda mais, e melhor; geralmente é assim que eu gosto e o que se vê na prática. observação: se essa atividade é seguinte de uma estudo de  vetores  então eles são obrigatórios, ou não fará sentido. Tente resolver e caso venha com tentativa (sincera) de solução fico feliz em tentar ajudar com as dúvidas, e não aguarde ninguém mais desocupado fazer isso por você. Até logo! 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

8 minutos atrás, Renato Cavalcanti Leite disse:

o professor não aceitou o modelo apresentado disse que mistura c e c++

 

Bem, o forum poderia recusar esse tópico também porque ele foi apresentado em um forum de C C++ e C# e você nunca disse em que linguagem vai escrever isso.

 

E talvez pudesse ter mostrado esse modelo aqui, já que comentou...

 

Escreva a segunda parte primeiro, usando constantes. Depois volte lá e crie  a leitura, que é trivial. Não perca tempo escrevendo o programa inteiro antes...

Link para o comentário
Compartilhar em outros sites

14 minutos atrás, Renato Cavalcanti Leite disse:

@arfneto realmente fez uma boa observação e linguagem C a escrita do programa 

 

E sabe que não disse quais são os dados  a serem coletados de cada estudante, sequer o formato das notas? Se os 10 alunos são supostos na mesma sala...

 

E seu professor talvez pudesse pesquisar sobre sintético/analítico e escrever melhor o enunciado...

 

Entenda que se os dados são por exemplo um nome e duas notas de 0 a 10 por exemplo poderia escrever AGORA algo assim:

 

typedef struct 
{
   char nome[30];
   float nota1;
   float nota2;

}   Aluno;

 

E um Aluno teria nome e duas notas.

E usar
 

    Aluno   aluno[10] = 
    {
        { "Johnny", 7., 9. },
        { "outro", 7.5, 9.3 },
        { "mais", 7.1, 4.9 },
        { "Will", 2., 3. },
        { "Bill", 5., 6. },
        { "Johnny", 7., 9. },
        { "outro", 7., 9. },
        { "mais", 7., 9. },
        { "Will", 7., 9. },
        { "Bill", 7., 9. }
    };

 

E assim já teria 10 alunos e 20 notas para o quadro SINTÉTICO, derivado dos dados ANALÍTICOS que serão depois digitados em outra parte do programa... Entende a diferença?

 

Mas os alunos estão em uma sala que pode ter 10 alunos e é um p0rr3 testar com 10 caras. Então que tal
 

typedef struct 
{
   int      N; // alunos na sala
   Aluno    al[10]; // so 10 COVID-19?

}   Sala;

 

E assim cada sala tem N alunos e cabem 10 no vetor que já está lá?

 

Claro que vai querer antes de tudo poder listar pra ver se está calculando com os dados certos. Então antes de perder tempo lendo todos esses valores é bom saber que pode testar com N = 4 por exemplo ;) 

E escrever antes de tudo uma função que lista os alunos da sala...

 

int         mostra_sala(Sala*);

 

Simples assim. Uma possível implementação de 5 linhas
 

int         mostra_sala(Sala* S)
{
    printf("Sala tem %d alunos:\n\n", S->N);
    for( int i=0; i<10; i+=1)
        printf( "%2d:    %-10s    %3.1f    %3.1f\n",
            i+1, S->al[i].nome, S->al[i].nota1,S->al[i].nota2 );
    return S->N;
};

 

Escreva em torno dos dados...

 

Veja esse trecho sofisticado, ou nem tanto:
 

    Sala sala_D;
    sala_D.N = 0; // sala vazia
    // coloca os alunos de teste
    // na sala D
    for( int i=0; i<10; i+=1) sala_D.al[i] = aluno[i];
    // pra testar modtra a sala
    sala_D.N = 10; // copiou os 10
    mostra_sala( &sala_D);

 

Sim, a sala D estava vazia aí foram copiados os 10 alunos do exemplo acima, porque ninguem quer ficar digitando essa coisa toda para testar as funções sintéticas. Ou quer?

E aí já pode escrever e testar as funções. E nem começou a pensar no programa ainda.

 

Tem mais notas? Tem a matrícula do aluno? A sala tem nome? Não importa. Mais de uma sala? Não importa. Escreva em torno dos dados

 

A função mostraria, com esse código aí
 

PS C:\src\ifdef> gcc -o notas -Wall -std=c17 notas.c
PS C:\src\ifdef> ./notas
Sala tem 10 alunos:

 1:    Johnny        7.0    9.0
 2:    outro         7.5    9.3
 3:    mais          7.1    4.9
 4:    Will          2.0    3.0
 5:    Bill          5.0    6.0
 6:    Johnny        7.0    9.0
 7:    outro         7.0    9.0
 8:    mais          7.0    9.0
 9:    Will          7.0    9.0
10:    Bill          7.0    9.0

 

E esse programa que é o que está acima
 

#include<stdio.h>

typedef struct 
{
   char nome[30];
   float nota1;
   float nota2;

}   Aluno;

typedef struct 
{
   int      N; // alunos na sala
   Aluno    al[10]; // so 10 COVID-19?

}   Sala;

int         mostra_sala(Sala*);

int main (void)
{
    Aluno   aluno[10] = 
    {
        { "Johnny", 7., 9. },
        { "outro", 7.5, 9.3 },
        { "mais", 7.1, 4.9 },
        { "Will", 2., 3. },
        { "Bill", 5., 6. },
        { "Johnny", 7., 9. },
        { "outro", 7., 9. },
        { "mais", 7., 9. },
        { "Will", 7., 9. },
        { "Bill", 7., 9. }
    };

    Sala sala_D;
    sala_D.N = 0; // sala vazia
    // coloca os alunos de teste
    // na sala D
    for( int i=0; i<10; i+=1) sala_D.al[i] = aluno[i];
    // pra testar mostra a sala
    sala_D.N = 10;
    mostra_sala( &sala_D);
    return 0;
};

int         mostra_sala(Sala* S)
{
    printf("Sala tem %d alunos:\n\n", S->N);
    for( int i=0; i<10; i+=1)
        printf( "%2d:    %-10s    %3.1f    %3.1f\n",
            i+1, S->al[i].nome, S->al[i].nota1,S->al[i].nota2 );
    return S->N;
};

 

Escreva assim, ou ao menos pense assim em torno dos dados que tem. Escreva o mínimo e comece a testar.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!