Ir para conteúdo
foxjin23

Como fazer esse programa dicas de como fazer plis ? so quero saber como

Recommended Posts

A Faculdade AGF deseja fazer um acompanhamento acadêmico acerca de suas turmas ao longo do tempo. O intuito desse acompanhamento é gerar informações que sirvam de base para tomada de decisões que busquem a melhoria da qualidade do ensino na faculdade.

A faculdade possui um conjunto de disciplinas que são identificadas por um código e um nome. A cada semestre, são ofertadas turmas. Pode haver mais de uma turma para uma mesma disciplina em cada semestre. Os dados de cada turma são: ano, semestre, #alunos_matriculados, #trancamentos, #alunos_SS, #alunos_MS, #alunos_MM, #alunos_MI, #alunos_II, #alunos_SR.

O propósito deste trabalho é escrever um programa que forneça informações gerenciais aos administradores e coordenadores da faculdade, usando a linguagem de programação C e os conceitos vistos na disciplina.

O programa deverá mostrar o menu de opções mostrado abaixo: Menu de opções:

1) Cadastrar uma disciplina

2) Cadastrar um turma

3) Excluir disciplina

4) Excluir turma

5) Gerar relatório por disciplina

6) Gerar relatório geral

7) Sair do programa

Cada item de menu deverá ser realizado por um procedimento específico:

a) recuperar e gravar os dados das disciplinas e turmas em arquivo;

b) consultar disciplina por nome (ou parte do nome) na geração do relatório por disciplina;

b) permitir a exclusão de disciplina (excluindo todas as turmas associadas a ela);

c) conter comentários ao longo do código, facilitando o entendimento de suas partes;

d) respeitar as regras de endentação adotadas na disciplina;

e) usar nomes de variáveis significativos;

f) fazer uso adequado das estruturas de programação estudadas: switch, define, struct etc.;

g) não permitir o cadastramento de disciplinas ou turmas com dados incorretos;

h) uso correto das estruturas condicionais e de repetição e na declaração e chamada de funções.

 

 

 

O relatório por disciplina deverá mostrar as seguintes informações: Percentual de evasão (trancamentos + alunos_SR): Percentual de alunos aprovados:

Percentual de alunos aprovados com SS:

Percentual de alunos aprovados com MS:

Percentual de alunos aprovados com MM:

O relatório geral deverá mostrar as seguintes informações: Percentual de evasão (trancamentos + alunos_SR):

Percentual de alunos aprovados:

Percentual de alunos aprovados com SS:

Percentual de alunos aprovados com MS:

Percentual de alunos aprovados com MM:

Percentual de turmas com aprovação entre entre 0% e 30%:

Percentual de turmas com aprovação entre 30% e 50%:

Percentual de turmas com aprovação maior que 50%:

Disciplina com maior índice de aprovação:

Disciplina com menor índice de aprovação:

 

 

 

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

  • Conteúdo Similar

    • Por Caroline Nolasco
      Exemplo em Linguagem em C (Lista duplamente encadeada)
      criar uma listagem de alunos, a listagem precisa seguir algumas normas referentes ao interesse dos alunos como por exemplo, os alunos com deficiência tem prioridade para listagem, e devem estar no inicio da lista, e apos eles, caso tenha terá a listagem dos demais alunos para o curso sobre tecnologia. Caso alguns aluno desista do curso, seu nome precisa ser removido da lista é necessário permitir a pesquisa de algum aluno. Por fim será preciso imprimir uma lista com nome de todos alunos inscritos.
      Deverão criar estruturas de dados para permitir a listagem de alunos com base em seus nomes ao invés de números , e criar funções de adição, remoção, pesquisa e impressão. Ao criar a função principal main, os alunos precisarão criar um menu para usuário escolher qual ação desejar realizar se é matricula normal ou deficiência, remoção de alunos, pesquisa e impressão.
      O menu deve ser simples impresso a cada execução com a coleta de uma opção numérica.
    • Por Caroline Nolasco
      Exemplo em Linguagem em C (Lista duplamente encadeada)
      criar uma listagem de alunos, a listagem precisa seguir algumas normas referentes ao interesse dos alunos como por exemplo, os alunos com deficiência tem prioridade para listagem, e devem estar no inicio da lista, e apos eles, caso tenha terá a listagem dos demais alunos para o curso sobre tecnologia. Caso alguns aluno desista do curso, seu nome precisa ser removido da lista é necessário permitir a pesquisa de algum aluno. Por fim será preciso imprimir uma lista com nome de todos alunos inscritos.
      Deverão criar estruturas de dados para permitir a listagem de alunos com base em seus nomes ao invés de números , e criar funções de adição, remoção, pesquisa e impressão. Ao criar a função principal main, os alunos precisarão criar um menu para usuário escolher qual ação desejar realizar se é matricula normal ou deficiência, remoção de alunos, pesquisa e impressão.
      O menu deve ser simples impresso a cada execução com a coleta de uma opção numérica.
    • Por Gusttavo Ydominnus
      Implemente uma adaptação do jogo King of Tokyo1 para dois jogadores, que jogam em turnos alternados. Tenho que fazer esse jogo pra rodar no terminal do linux, alguém pode me ajudar já fiz a parte do menu para escolher os personagens agora falta o desenvolvimento do jogo.
       
    • Por Bruno Rafael
      Programa está inserindo normalmente, mais não está ordenando e nem mostrando os itens ordenados. 
       
      obs1: Usando bubblesort
      obs2: ordenando primeiro por nome e depois por idade
       
      #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct lista { int qtd; struct Aluno * inicio; }lista; typedef struct Aluno { char nome[30]; int idade; struct Aluno * prox; }Aluno; lista * aloca_lista(); Aluno * aloca_aluno(); int inserir(lista *l, char * nome, int idade); void mostrar(lista *l); int main() { char aux[30]; int i,aux2,aux3,aux4,tam=3,pass,trocou; Aluno * aluno[3]; lista * l1; l1 = aloca_lista(); aux4 = l1->inicio; int idade; char nome[30]; for(i=0; i<3; i++) { printf("\nDigite o nome do aluno[%d]: ",i+1); fflush(stdin); gets(nome); printf("\nDigite o numero: "); fflush(stdin); scanf("%d",&idade); inserir(l1,nome,idade); } trocou = 1; for(pass=0; pass<tam-1 && trocou==1; pass++) { trocou = 0; for(i=0; i<tam-pass-1; i++) { if(strcmp(aluno[i]->nome,aluno[i+1]->nome) == 0) { if(aluno[i]->idade > aluno[i+1]->idade) { aux2 = aluno[i]->idade; aluno[i]->idade = aluno[i]->prox->idade; aluno[i]->prox->idade = aux2; strcpy(aux,aluno[i]->nome); strcpy(aluno[i]->nome,aluno[i+1]->nome); strcpy(aluno[i+1]->nome,aux); trocou = 1; } } else if(strcmp(aluno[i]->nome,aluno[i+1]->nome)>0) { aux3 = aluno[i]->idade; aluno[i]->idade = aluno[i+1]->idade; aluno[i+1]->idade = aux3; strcpy(aux,aluno[i]->nome); strcpy(aluno[i]->nome,aluno[i+1]->nome); strcpy(aluno[i+1]->nome,aux); trocou = 1; } } } printf("\nmostrando:\n\n"); mostrar(l1); return 0; } lista * aloca_lista() { lista * novo; novo = (lista*)malloc(sizeof(lista)); novo->qtd = 0; novo->inicio = NULL; return novo; } Aluno * aloca_aluno() { Aluno * novo; novo = (Aluno*)malloc(sizeof(Aluno)); novo->idade = 0; strcpy(novo->nome," "); novo->prox = NULL; return novo; } int inserir(lista *l,char * nome, int idade) { Aluno * novo, * aux; novo = aloca_aluno(); novo->idade = idade; strcpy(novo->nome,nome); if(l->inicio == NULL) { l->inicio = novo; } else { aux = l->inicio; while(aux->prox != NULL) { aux = aux->prox; } aux->prox = novo; } l->qtd++; return 1; } void mostrar(lista *l) { Aluno * aux; aux = l->inicio; while (aux != NULL) { printf("\nNome: %s",aux->nome); printf("\nIdade: %d",aux->idade); aux = aux->prox; } }  
    • Por jasonAlves
      estou tentando resolver esse problema mas até o momento não consegui.
       
       
      Escreva um programa que leia um número inteiro maior do que zero e imprima a soma de todos os seus algarismos. Por exemplo, o número 251 corresponderá ao valor 8
      (2 + 5 + 1). Se o número lido for negativo, o mesmo deverá ser convertido para positivo.
       
      #include<stdio.h>
      #include<math.h>
      int num,resto,soma;
          int main(){
              printf("digite um numero inteiro\n");
              scanf("%i",&num);
              
              
               resto = num % 10;
               num = (num - resto)/10;
               
              
                  
              printf(" %i  %i ",num,resto);
                  
          
              
              return 0;
          }
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.