Ir ao conteúdo
  • Cadastre-se

danilocc7

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Reputação

1
  1. Bom dia Simon, Eu estava fazendo em C, porém preciso entregar hoje esse trabalho em pseudocódigo e to meio desesperadao. Eu nao conheco a linguagem que meu professor usa para testar os programas em pseudo... To com duvida em questao da modularizacao da media, nao sei se faco uma estrutura da media, ou deixo variavel global, ou faco um procedimento só para media, pois, tambem preciso ordena-la adicionado 0 minutos depois @Vitor9332 Grande parte na linguagem C estava
  2. boa noite, estou tentando fazer um programa em pseudo, porém estou bastante perdido. qualquer ajuda será bem-vinda. segue: algoritmo struct reg_alunos inicio literal sair = “s” const alunos = 5 tipo reg_aluno = registro literal: nome[30]; inteiro: serie; real: freq; real: nota[2]; real: media; fim_registro; procedimento mostrar_dados(var reg_livro: aluno[alunos]) int i; para i de 1 ate alunos faca escrever(“nome:”, aluno.nome); escrever(“serie:”, aluno.serie); escrever(“frequencia:”,aluno.freq); escrever(“notas:”,aluno.nota[1],aluno.nota[2]. fim_para fim procedimento menu_escolhas() inteiro opcao = 0; ("controle de alunos\n"); escrever("-----------------/-------------------"); escrever("1 - cadastro"); escrever("2 - consulta"); escrever("3 - maior e menor media"); escrever("4 - maior e menor frequencia"); escrever("5 - alunos acima da media"); escrever("6 - sair"); escrever("escolha uma opcao"); leia opcao; escolha(opcao) repita enquanto (opcao != 6); caso 1: inteiro: i; literal: aluno; escrever(“cadastro de alunos”); registro_aluno(aluno) escrever(“deseja continuar (s/n)”) leia (sair); caso 2: escrever( “consulta aluno”); consulta(aluno, i) escrever(“deseja continuar (s/n)”) leia (sair); caso 3: escrever(“media dos alunos”) real: m,med,maior; inteiro:i; escrever (“a media das turmas:”) para i de 1 ate alunos faca med = media(aluno, real media); escrever (“aluno e medias”, aluno.nome, med) ; fim para ordena_maior(aluno, maior); escrever(“pior e melhor media”,maior[1],maior[alunos]); escrever (deseja sair (s/n)); leia (sair); caso 4: escrever (“maior e menor frequencia)”) int i; procedimento maior_frequencia(aluno); escrever( “pior e melhor frequencia nas aulas:”, freq[1].aluno, freq[alunos].aluno; escrever(deseja sair(s/n)); leia (sair); caso 5: inteiro i; escrever(“medias acima de 7:”); procedimento: passou(aluno) escrever(deseja sair(s/n)); leia (sair); caso 6: escrever(“sair”); procedimento registro_aluno(var reg_aluno: aluno[alunos]) para i de 1 ate alunos faca escrever (“informe o nome do aluno”) leia (aluno.nome); escrever(“informe a serie”) leia (“aluno.serie”) escrever (“informe as notas”) leia (aluno.nota[1], aluno.nota[2]; escrever (“informe a frequencia”) leia (“aluno.frequencia”) fim procedimento consulta(var reg_aluno: aluno[alunos], inteiro: i ) inteiro: i; literal: nome, continua = ‘s’; literal: aluno_pesquisado; repita escrever(“informe o nome do aluno que deseja pesquisar”); leia(aluno_pesquisado); para i de 1 ate alunos faca se (aluno_pesquisado <= aluno.nome ) faca mostrar_dados(); senao escrever(“deseja continuar? (s/n) leia (continua); ate continua = “n”; fim_se fim_para fim funcao real: media(var reg_aluno: aluno[alunos]; real aluno_media) inteiro k,i; para k de 1 ate alunos faca para i de 1 ate alunos faca aluno[k].media = (aluno.nota[1] + aluno.nota[2] )/ 2; fim_para fim_para retorne media[k]; fim procedimento ordena_maior (var reg_aluno: aluno[alunos]; real maior_media)\ real maior; inteiro: i,j,aux,k; para i de 1 ate alunos faca para j de 1 ate alunos faca se maior < maior[j] entao aux = maior; maior = maior[j]; maior[j] = aux; fim_para fim_para para k de 1 ate alunos faca escrever(“medias em ordem da menor para maior”, maior) fim_para fim procedimento ordena_menor(var reg_aluno: aluno[alunos]; real menor_media) real: menor; inteiro : i,j, aux; para i de 1 ate alunos faca para j de 1 ate alunos faca se menor>menor[j] entao aux=menor; menor=menor[j]; menor[j]=aux; fim_para fim_para fim procedimento maior_frequencia(var reg_livro: aluno[alunos]) inteiro: i,j,aux; para i de 1 ate alunos faca para j de 1 ate alunos faca se aluno.freq< aluno.freq[j] entao aux= aluno.freq; aluno.freq = aluno.freq[j]; aluno.freq[j] = aux; fim_para ; fim_para; escrever (“frequencia ordenada do menor para maior”freq.aluno) fim procedimento: passou(var reg_livro: aluno[alunos]) int i; para i de 1 ate alunos faca se (aluno.media > 7) faca escrever(“parabens aos alunos: “, aluno.nome); fim_para fim_se inicio principal int i repita menu escolhas() escrever (“deseja sair:”) leia (sair) ate sair = “n” fim obs: exercicio em anexo.
  3. Boa noite Arfneto, desculpe a demora para responder, acabei viajando e voltando só domingo. Eu alterei poucas coisas, segue: #include <stdio.h> #include <conio.h> #include <string.h> #define ALUNOS 5 struct reg_aluno { char nome[30]; int serie; float freq; float nota[2]; int i,j; float media; char aluno_pesquisado; }aluno[ALUNOS]; // Menu de opções void menu() { int opcao=0; printf("CONTROLE DE ALUNOS\n"); printf("-----------------/-------------------"); printf("1 - Cadastro\n"); printf("2 - Consulta\n"); printf("3 - Maior e menor media\n"); printf("4 - Maior e menor frequencia\n"); printf("5 - Alunos acima da media\n"); printf("6 - Sair\n"); printf("Escolha uma opcao\n"); scanf("%d",&opcao); switch(opcao) { case 1: cadastro(aluno); break; case 2: break; case 3: break; case 4: break; case 5: break; case 6: printf("Sair"); break; } } //fazer cadastro do aluno (case 1) void cadastro() { int media = 0; for (i=0;i<alunos;i++) { printf("Informe o nome"); gets(aluno[i].nome); printf("Informe a serie"); scanf("%i", &aluno[i].serie); printf("informe as notas"); for (j=0;j>2;j++) { scanf("%f", &aluno[i].nota[j]); } printf("Informe a frequencia"); scanf("%f", &aluno[i].freq); } } //consultar aluno por nome void consulta(aluno x) { printf("Informe o nome do aluno que deseja pesquisar"); gets(aluno_pesquisado); for(i=0;i<ALUNOS;i++) { if (aluno_pesquisado == aluno.nome[i]) { printf("Dados do aluno pesquisado %s %i %f %f", aluno.nome[i],aluno.serie[i],aluno.nota[j],aluno.freq[i]); } } } //maior e menor media float maior_menor_media(float media_aluno); { float media,i; for (i=0;i>ALUNOS;i++) { (media = (aluno[i].nota[0] + aluno[i].nota[1]) / 2 ); } maior = 0; menor = aluno[i].media; int k,posmaior,posmenor; for(i=0;i<ALUNOS;i++) { if(aluno[i].media > maior) posmaior = i; maior = aluno[i].media; } if(aluno[i].media < menor) { posmenor = i; menor = aluno[i].media; } for(k=0;k<ALUNOS;k++) { printf("[Maior Media] Aluno: %s, media %0.1f\n", aluno[posmaior].nome, aluno[posmaior].media); printf("[Menor Media] Aluno: %s, media %0.1f\n", aluno[posmenor].nome, aluno[posmenor].media); } } //maior e menor frequencia float aluno_frequencia(float *frequencia) { } //aluno acima da media(case 5) char nome_aluno(char acima_media) if (media>7) { printf("%s",aluno.nome) } } int main() { struct reg_aluno aluno[ALUNOS]; int i,j,notas; float media = 0; cadastro() } Eu mudei um pouco a ideia, quero fazer um procedimento do menu de opções contendo vários cases, e cada case ser feito uma chamada de procedimento ou função (não aprendi direito como fazer essa chamada). E na minha main eu apenas fazer a chamada do procedimento menu de opções. Estou com uma dúvida, no meu case 1 passa um procedimento, e precisa ser salvo os dados do aluno(informados pelo usuário), o procedimento consegue salvar os dados? Para o case 3 e 4, é necessário ser utilizado ponteiro? Eu criei uma variável na struct chamada media, acredito que ira facilitar para fazer o case 3. Obrigado desde já.
  4. Bom dia galera, beleza? Estou com dificuldades para aprender a sintaxe da struct. Segue o que fiz: #include <stdio.h> #include <conio.h> #include <string.h> #define alunos 5 struct reg_aluno { char nome[30]; int serie; float freq; float nota[2] }; void consulta() { printf("Todos os alunos",reg_aluno); } float aluno_media(reg_aluno x, float *m) { int i; for(i=0;i<2;i++) { *m = x.nota; } *m /= 2; } void menu() { int opcao=0; printf("CONTROLE DE ALUNOS\n"); printf("-----------------/-------------------"); printf("1 - Cadastro"); printf("2 - Consulta"); printf("3 - Maior e menor media"); printf("4 - Maior e menor frequencia"); printf("5 - Alunos acima da media"); printf("6 - Sair"); printf("Escolha uma opcao"); scanf("%d",&opcao); switch(opcao) { case 1: break; case 2: consulta(); break; } } int main() { struct reg_aluno aluno[1]; int i,j,notas; float media = 0; for (i=0;i<alunos;i++) { printf("Informe o nome"); gets(aluno.nome); printf("Informe a serie"); scanf("%i", &aluno.serie); printf("informe as notas"); for (notas=0;notas>2;notas++) { scanf("%f", &aluno.nota[notas]; } aluno_media(aluno,&media); printf("Informe a frequencia"); scanf("%f", &aluno.freq); } for(i=0;i<alunos;i++) { printf("%s %i %f %f %f,", aluno.nome,aluno.serie,aluno.nota[notas],aluno.freq); printf("media %f",media[notas]); } } } Bom, sou novato ainda e portanto deve possuir muitos erros. Minha ideia é fazer um procedimento contendo o menu e um case para cada escolha, e depois fazer as funcoes e ir retornando o que o usuario escolher, porém estou um pouco perdido. Aceito dicas... valeu galera (Exercício no anexo).
  5. Olá DIF, eu quero me auxiliem com dicas de como posso resolver, se uso somente matriz, vetor, e eu tento entender! Desse modo, eu vou aprendendo e postando meus resultados.
  6. Boa noite pessoal, Venho pedir dicas para resolucao do seguinte exercicio: (No vestibular de uma universidade, no curso de informática, inscreveram-se 1200 pessoas. Criar um algoritmo que leia o gabarito da prova que tinha 100 questões, sendo o valor de cada questão igual a 1 ponto. Exiba o numero de inscrição, o nome e as 100 respostas de cada candidato. O algoritmo devera imprimir: o numero de inscrição, o nome e a nota de cada candidato.) Eu nao sei por onde comecar, e procurei na net sobre exercicio mas nao achei nada. Quem puder dar uma luz de como eu comeco pelo menos, ja agradeco.

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