Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
Douglas987

Programa para um sistema academico em C

Recommended Posts

Pessoal alguem podia ajudar a fazer esse programa:

 

Faça um programa pra um sistema acadêmico que gerencia o desempenho dos
alunos da turma de Engenharia Elétrica. O programa deve conter um registro com
os membros: nome, matrícula, nota, frequência e turma para os alunos. O programa
deve receber esses valores pelo teclado para um certo número de alunos
previamente digitados pelo teclado (para isso, utilize alocação de memória). Peça
para o usuário digitar uma opção do seguinte menu e faça o que se pede:
1 - Cadastrar aluno;
2 - Excluir um aluno;
3 - Mostrar todos os alunos;
4 - Mostrar dados do aluno por nome;
5 - Mostrar dados do aluno por matricula;
6 - Mostrar todos os alunos de determinada turma;
7 - Ordenar alunos pelo NOME;
8 - Ordenar alunos pela MATRICULA;
9 - Ordenar alunos pela NOTA;
10 - Mostrar os alunos Aprovados e Reprovados;
11 - Sair.
Considerações sobre cada uma das opções:
1 - Na opção CADASTRAR ALUNO, o usuário deve cadastrar aluno por aluno e
quando desejar, podendo voltar a essa opção quando houver necessidade. O programa
não deve aceitar alunos com o mesmo número de matrícula.
2 - Na opção EXCLUIR ALUNO o usuário deverá excluir determinado aluno utilizando
para isso o seu número de matrícula.
3 - Na opção MOSTRAR TODOS OS ALUNOS, o programa deve mostrar todos os
dados (Nome, Matrícula, Nota, Frequência, Turma) de todos os alunos que já foram
cadastrados. Caso não haja alunos cadastrados o programa deve exibir a mensagem
"Nenhum aluno cadastrado!".
4 - Na opção MOSTRAR DADOS DO ALUNO POR NOME, o usuário deve digitar o
nome de um aluno e o programa deve mostrar todas as informações daquele aluno. Caso
esse aluno não esteja cadastrado o programa deve exibir a mensagem "Aluno não
encontrado".
5 - Na opção MOSTRAR DADOS DO ALUNO POR MATRÍCULA, o usuário deve
digitar a Matrícula de um aluno e o programa deve mostrar todas as informações
daquele aluno. Caso esse aluno não esteja cadastrado o programa deve exibir a
mensagem "Aluno não encontrado".
6 - Na opção MOSTRAR TODOS OS ALUNOS DE DETERMINADA TURMA, o
programa deve exibir todos os alunos e informações dos alunos de uma turma. Para isso
o programa deve exibir um submenu com as seguintes opções: 1- Programação
Computacional; 2- Cálculo 1; 3 - Física 1; 4 - Introdução a Engenharia.

7 - Na opção ORDENAR ALUNOS PELO NOME, o programa deve ordenar todos os
nomes dos alunos em ordem alfabética e mostrar todas as suas informações ordenadas.
8 - Na opção ORDENAR ALUNOS PELA MATRÍCULA, o programa deve ordenar
todas as matrículas dos alunos em ordem crescente e mostrar todas as suas informações
ordenadas.
9 - Na opção ORDENAR ALUNOS PELA NOTA, o programa deve ordenar todas as
notas dos alunos em ordem crescente e mostrar todas as suas informações ordenadas.
10 - Na opção MOSTRAR OS ALUNOS APROVADOS E REPROVADOS, o
programa deve exibir todos os alunos aprovados e reprovados separadamente e suas
informações. Considerar alunos aprovados aqueles com nota acima de 7 e frequência
acima de 75% , sendo os demais reprovados.
11 - Na opção SAIR, o programa deve exibir a mensagem "Programa Finalizado." e
encerrar.
Outras considerações importantes:
A opção 1- CADASTRAR ALUNO e 2 - EXCLUIR ALUNO, só poderá ser realizada
por um usuário específico de alta prioridade (professores, coordenadores...). Para
garantir isso, toda vez que for acessado uma destas duas opções o programa deve pedir
uma senha específica. Atenção para no máximo três tentativas de senha, caso não
aconteça o programa deve sair imediatamente.
O programa deve ser executado enquanto o usuário não digitar a opção 11.
O campo FREQUÊNCIA deve aceitar números entre 0% e 100%. O campo NOTA deve
aceitar números entre 0 e 10. O campo MATRÍCULA deve aceitar números entre 00000
e 99999. O campo TURMA deve aceitar as turmas Programação Computacional,
Cálculo 1, Física 1 e Introdução a Engenharia. Qualquer valor fora dessa faixa devem
ser tratados adequadamente.

adicionado 1 minuto depois
#include<stdio.h>
#include<stdlib.h>
#include <string.h>

void verifi_senhap(char senhap[3]){
    
int i=0;
    
int n;
for(n=0;n<strlen(senhap);n++){
    
if((senhap[n]>='0' && senhap[n]<='9')&& (senhap[3])!=(senhap[2])){     
}else{
    
if((senhap[3])==(senhap[3])&&(senhap[3])==(senhap[4])&& (senhap[3])==(senhap[0])){
    
}else{
    
printf("DADO INVALIDO\n");
printf("\nDigite seu dia:\n");
gets (senhap);
    
i=strlen(senhap);
    
for(n=0;n<strlen(senhap);n++){
    
if((senhap[n]>='0' && senhap[n]<='9') && ((senhap[3])==(senhap[2]))){    
}else{
    
if((senhap[3])!=(senhap[3])){
    
}else{
    
printf("DADO INVALIDO\n");
printf("\nDigite seu dia:\n");
gets (senhap);
i=strlen(senhap);
for(n=0;n<strlen(senhap);n++){
    
if((senhap[n]>='0' && senhap[n]<='9') && ((senhap[3])==(senhap[2]))){
    
}else{
    
if((senhap[3])!=(senhap[3])){
    
    }else{
        printf("DADO INVALIDO\n");
        printf("\nERRO NO CADASTRO DE DADOS!\n");
        exit(0);
        }
    }
    }    
}
}
        }
    }
    }    
}
        }    
    
    
    
    
    
    
    
    
    
                        
void verifi_nome(char nome[50]){
    
int i;
for(i=0;i<strlen(nome);i++){
    
if((nome>='A' && nome<='Z') || (nome>='a' && nome<='z')){    
    
}else{
    
if(nome!=('\n') && nome!=('0')  && nome!=('1') && nome!=('2') && nome!=('3') && nome!=('4')&& nome!=('5') && nome!=('6') && nome!=('7') && nome!=('8') && nome!=('9')){
}else{
    
printf("DADO INVALIDO\n");
}
}
}
}
void verifi_turma(char turma[25]){
    
int i;
for(i=0;i<strlen(turma);i++){
    
if(((turma>='A' && turma<='Z') || (turma>='a' && turma<='z') || (turma>='0' && turma<='9'))){    
    
}else{
    
if(turma!=('!') && turma!=('#') && turma!=('$')&& turma!=('%')&& turma!=('&')&& turma!=('(')&& turma!=(')')&& turma!=('+')&& turma!=('-')&& turma!=('*')&& turma!=('/')&& turma!=('<')&& turma!=('>')&& turma!=('[')&& turma!=(']')){
        
}else{
    
printf("DADO INVALIDO\n");
}
}
}
}
void verifi_matricula(char matricula[5]){
int i=0,n;
i=strlen(matricula);
for(n=0;n<strlen(matricula);n++){
    
if((matricula[n]>='0' && matricula[n]<='9') && (matricula[5])!=(matricula[4])){ 
    
}else{
    
if((matricula[5])==(matricula[5])&&(matricula[5])==(matricula[6])&& (matricula[5])==(matricula[3])){
}else{
    
printf("DADO INVALIDO\n");
}
}
}
}
void verifi_frequencia(char frequencia[4]){
int i=0,n;
i=strlen(frequencia);
for(n=0;n<strlen(frequencia);n++){
    
if((frequencia[n]>='0' && frequencia[n]<='9') && (frequencia[4])!=(frequencia[3])){ 
    
}else{
    
if((frequencia[4])==(frequencia[4])&&(frequencia[4])==(frequencia[5])&& (frequencia[4])==(frequencia[2])){
}else{
    
printf("DADO INVALIDO\n");
}
}
}
}
typedef struct{
    
char nome[50],turma[25],matricula[5],frequencia[4],nota[2],senhap[3];
int op,alunos;
}info;  
int main(){
int i;
    
info A;        
int *pA;
pA = &A.op;
    
printf("Digite a quantidade de alunos:\n");
scanf("%i",&A.alunos);
system ("cls");
printf ("                                                SISTEMA ACADEMICO \n\n");
printf("Digite a opcao do menu: \n\n1 - Cadastrar aluno;\n\n2 - Excluir um aluno;\n\n3 - Mostrar todos os alunos;\n\n4 - Mostrar dados do aluno por nome;\n\n5 - Mostrar dados do aluno por matricula;\n\n6 - Mostrar todos os alunos de determinada turma;\n\n7 - Ordenar alunos pelo NOME;\n\n8 - Ordenar alunos pela MATRICULA;\n\n9 - Ordenar alunos pela NOTA;\n\n10 - Mostrar os alunos Aprovados e Reprovados;\n\n11 - Sair;\n\n");
    
scanf("%i",&A.op);
system ("cls");
switch(*pA){
    
case 1:
    
fflush(stdin);
    
printf("Insira sua senha de segurança:\n");
    
gets(A.senhap);
i=strlen(A.senhap);
verifi_senhap(A.senhap);
    
for(i=0;i<A.alunos;i++){
    
fflush(stdin);
printf("Digite o Nome do aluno:\n");
gets(A.nome);
verifi_nome(A.nome);
printf("Digite a Turma do aluno:\n");
gets(A.turma);
verifi_turma(A.turma);
printf("Digite a Matricula do aluno:\n");
gets(A.matricula);
verifi_matricula(A.matricula);
printf("Digite a Frequencia do aluno:\n");
gets(A.frequencia);
verifi_frequencia(A.frequencia);
        
}  
}
    return 0;
}

 

Editado por DiF
Botão CODE <>

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

Entre para seguir isso  





Sobre o Clube do Hardware

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

×