diogo ernesto Posted June 1, 2012 at 03:21 PM Report #459717 Posted June 1, 2012 at 03:21 PM (edited) Boas tardes, Tenho um projecto para a escola,cujo a função é inserir dados,apartir desses dados preciso da moda, mediana , media , nota mais alta , nota mais baixa , desvio padrao , sair, tudo isto num menu de switch.tenho que fazer num do while... e as funçoes que podem estar disponiveis de inicio é só inserir dados ou sair, só depois podem estar disponiveis as outras opçoes... alguem me pode ajudar? aqui está o inicio do meu programa... #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char op; do { printf ("\n\n\n Menu \n\n\n"); printf ("\n\n\n1-Introduzir classificaçoes\n\n\n"); printf ("\n\n\n2-Mediana\n\n\n"); printf ("\n\n\n3-Moda\n\n\n"); printf ("\n\n\n4-Media\n\n\n"); printf ("\n\n\n5-Nota Mais Alta\n\n\n"); printf ("\n\n\n6-Nota Mais Baixa\n\n\n"); printf ("\n\n\n7-Desvio Padrao\n\n\n"); printf ("\n\n\n8-Sair\n\n\n"); switch (op) { case 1:printf("Introduzir classificações\n"); break; case 2:printf("Mediana\n"); break; case 3:printf("Moda\n"); break; case 4:printf("Media\n"); break; case 5:printf("Nota Mais Alta\n"); break; case 6:printf("Nota Mais Baixa \n"); break; case 7:printf("Desvio Padrao\n"); break; case 8:printf("Sair"); break; default: ("Opcao invalida"); } }while ((op<=1) && (op >=7)); system("PAUSE"); return 0; } Edited June 1, 2012 at 03:47 PM by pmg GeSHi adicionado
pmg Posted June 1, 2012 at 03:50 PM Report #459722 Posted June 1, 2012 at 03:50 PM Escreve as funções espcificas e substitui os printf dentro do switch pela funcao respectiva. Alem disso, condiciona os printf do menu consoante tenhas ou nao dados. Vais precisar dum contador para o numero de dados e dum array (possivelmente obtido com malloc) para os dados propriamente ditos. What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
Flinger Posted June 1, 2012 at 05:44 PM Report #459743 Posted June 1, 2012 at 05:44 PM int main(int argc, char *argv[]) { char op; do { printf ("\n\n\n Menu \n\n\n"); printf ("\n\n\n1-Introduzir classificaçoes\n\n\n"); printf ("\n\n\n2-Mediana\n\n\n"); printf ("\n\n\n3-Moda\n\n\n"); printf ("\n\n\n4-Media\n\n\n"); printf ("\n\n\n5-Nota Mais Alta\n\n\n"); printf ("\n\n\n6-Nota Mais Baixa\n\n\n"); printf ("\n\n\n7-Desvio Padrao\n\n\n"); printf ("\n\n\n8-Sair\n\n\n"); switch (op) { ... } Primeira dica: o switch op vai-te ver qual é o valor da tua variável op, comparando-o com os valores que tens nos vários cases. Antes de comparares precisas ler esse valor do teclado, certo? do { printf ("\n\n\n Menu \n\n\n"); ... printf ("\n\n\n8-Sair\n\n\n"); switch (op) { case 1:printf("Introduzir classificações\n"); break; ... case 8:printf("Sair"); break; default: ("Opcao invalida"); } }while ((op<=1) && (op >=7)); Tu queres fazer imprimir o menu, ler a opção do teclado, e executar a função correspondente, enquanto a opção for diferente de 8, certo?
n2wb1e Posted June 1, 2012 at 05:58 PM Report #459749 Posted June 1, 2012 at 05:58 PM Deves chamar a funçao dentro da switch.
diogo ernesto Posted June 5, 2012 at 12:52 PM Author Report #460527 Posted June 5, 2012 at 12:52 PM nao pecebi muito bem podem fazer com exemplo sff?
Flinger Posted June 5, 2012 at 04:12 PM Report #460590 Posted June 5, 2012 at 04:12 PM O que é que não percebeste? Vamos lá tentar outra vez... switch (op) vai testar a variável op para um dos valores listados nos vários cases seguintes. Ora antes de tentares saber qual é o valor que está no op, tens que lhe atribuir algum valor. Supostamente tens de ler do teclado esse valor (introduzido por quem estiver a usar a o programa). Para leres esse valor do teclado tens de usar uma das funções de leitura, como o scanf ou o getc entre outras.
diogo ernesto Posted June 8, 2012 at 02:41 PM Author Report #461431 Posted June 8, 2012 at 02:41 PM (edited) já tenho isto o que me falta? #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int op,c[20],i; do { printf ("\n Menu \n"); printf ("\n1-Introduzir classificaçoes\n"); printf ("\n2-Mediana\n"); printf ("\n3-Moda\n"); printf ("\n4-Media\n"); printf ("\n5-Nota Mais Alta\n"); printf ("\n6-Nota Mais Baixa\n"); printf ("\n7-Desvio Padrao\n"); printf ("\n8-Sair\n"); printf ("Qual a opcao ->"); scanf ("%d",&op); switch (op) { case 1:printf("Introduzir classificações\n"); for(i=0;i<10;i++) { printf("\nAluno n. %d -> ",i+1); scanf ("%d",&c[i]); } break; case 2:printf("Mediana\n"); break; case 3:printf("Moda\n"); break; case 4:printf("Media\n"); break; case 5:printf("Nota Mais Alta\n"); break; case 6:printf("Nota Mais Baixa \n"); break; case 7:printf("Desvio Padrao\n"); break; case 8:printf("Sair\n"); break; default: ("Opcao invalida"); } }while ((op>=1) && (op <=7)); system("PAUSE"); return 0; } Edited June 8, 2012 at 05:51 PM by pmg GeSHi adicionado
HappyHippyHippo Posted June 8, 2012 at 02:47 PM Report #461434 Posted June 8, 2012 at 02:47 PM o que te falta ? em 7 dias adicionaste estas linhas no código int op,c[20],i; // <---------------- ... scanf("%d",&op); // <---------------- ... case 1: printf("Introduzir classificações\n"); for(i=0;i<10;i++) { // <---------------- printf("\nAluno n. %d -> ",i+1); // <---------------- scanf ("%d",&c[i]); // <---------------- } // <---------------- .. o que me parece que falta é : - vontade - interesse - estudo 2 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Flinger Posted June 11, 2012 at 03:24 PM Report #461995 Posted June 11, 2012 at 03:24 PM o que me parece que falta é : - vontade - interesse - estudo 😁 acordaste mal disposto Agora, voltando ao assunto, não vou fazer a aplicação por ti. Tu é que sabes que comportamento a tua aplicação tem agora e qual é o comportamento que tu queres. Quando tiveres dúvidas concretas (enunciados inteiros não entram na categoria dúvidas concretas), pergunta e nós damos uma maozinha.
pikax Posted June 11, 2012 at 03:28 PM Report #461997 Posted June 11, 2012 at 03:28 PM (edited) 😁 acordaste mal disposto Acho que nao 😛 nao pecebi muito bem podem fazer com exemplo sff? switch (op) { //.... case 2:printf("Mediana\n"); calcMediana(c); break; ; Edited June 11, 2012 at 03:29 PM by pikax 1 Report Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
HappyHippyHippo Posted June 12, 2012 at 02:11 PM Report #462208 Posted June 12, 2012 at 02:11 PM (edited) ora aqui está uma pessoa aplicada no estudo de uma linguagem de programação ... no entanto tenho uns reparos ao teu código: m**** /* a declaração do ponteiro para ponteiro para ponteiro para ponteiro para o tipo "m", necessita do nome da variável */ *******, fodas /* aqui tens o nome da variável "fodas", no entanto o tipo não está bem definido, sei que são bastantes referências mas não dizes o tipo de dados final. tens também o separados ',' que é desnecessário neste caso */ msm m**** fuck fuck fuck /* não podes usar nome de tipos separados, deveria ser "msm_m" e não "mam m" e a declaração de mais do que uma variável deverá ser feita com o separador ',' */ /* um reparo final, deverás colocar o caracter ';' no fim de cada declaração */ Edited June 12, 2012 at 02:11 PM by HappyHippyHippo 2 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
apocsantos Posted June 12, 2012 at 04:09 PM Report #462293 Posted June 12, 2012 at 04:09 PM Boa tarde, Nesta comunidade o respeito cultiva-se, estima-se, é obrigatório de acordo com as regras de utilização do fórum e está na base da cooperação saudável. Espero com isto ter deixado claro que não são nem serão tolerados insultos em qualquer tópico. Em caso de duvida basta consultar as regras: http://www.portugal-a-programar.pt/guidelines/ Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
jpaulino Posted June 12, 2012 at 07:23 PM Report #462344 Posted June 12, 2012 at 07:23 PM O tópico foi fechado pelos motivos apresentados pelo apocsantos!
Recommended Posts