suzy Posted January 4, 2007 at 12:14 PM Report #74383 Posted January 4, 2007 at 12:14 PM { int nota, falta, i, al=1, contarf=0,contarn=0,contaa=0,total=0,media; for(i=0;i<=12;i++); { printf(" numero de faltas do aluno %d\n",al); scanf("%d",&falta); al++; if(falta<13) { printf(" voce esta reprovado por faltas\n"); contarf=contarf+1; } else printf(" qual o valor da sua nota\n"); scanf("%d",¬a); if(nota<10) { printf(" esta reprovado\n"); contarn=contarn+1; } else contaa=contaa+1; total=total+nota; media=total/12; } printf( "o numero de alunos aprovados e %d\n",contaa); printf(" o numero de alunos reprovados e %d\n",contarf+contarn); printf( " a media das notas da turma e %d\n", media); fflush(stdin); getchar(); } Viva!!! tenho aquim mais um problema, tenho que pedir a 12 alunos que inseram as suas faltas e ea sua nota, por isso fiz o ciclo, acontece que ele so pede a nota de um aluno o programa, tenho de fazer outro ciclo, dentro deste ? Mais uma vez muito Obrigada 😉
Hipnoted Posted January 4, 2007 at 01:32 PM Report #74391 Posted January 4, 2007 at 01:32 PM Só te vai pedir a nota se introzuzires um numero de faltas superior ou igual a 12. Tens de rever os if´s pois não estão lá muito bem pensados. PS: Tenta abrir e fechar os parêntesis em todos os ciclos e mete-os alinhados senão é dificil ajudar. 😉 "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"
Triton Posted January 4, 2007 at 01:32 PM Report #74392 Posted January 4, 2007 at 01:32 PM Não tenho muito tempo, mas tens ai uns erros de lógica e sintaxe, deixo aqui uma versão corrigida à pressa, não testei. int main(void) { int nota, falta, i, al=1, contarf=0,contarn=0,contaa=0,total=0,media; for(i=0;i<=12;i++, al++) { printf("numero de faltas do aluno %d: \n",al); scanf("%d",&falta); /*al++;*/ if (falta > 13) { printf("voce esta reprovado por faltas!\n"); contarf++; continue; } else { printf("qual o valor da sua nota: \n"); scanf("%d",¬a); if (nota < 10) { printf(" esta reprovado\n"); contarn++; } else { contaa++; total+=nota; } } } media=total/12; printf( "o numero de alunos aprovados e %d\n",contaa); printf(" o numero de alunos reprovados e %d\n",contarf+contarn); printf( " a media das notas da turma e %d\n", media); fflush(stdin); getchar(); return 0; } PS: Ganha hábitos de formatação de código, eu olhei para o teu código e ao início não percebia nada porque estava todo desorganizado. <3 life
Hipnoted Posted January 4, 2007 at 01:34 PM Report #74394 Posted January 4, 2007 at 01:34 PM Eu tou a ver que se o aluno tiver um numero de faltas inferior a 13 é reprovado. Não será ao contrário? "Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"
Triton Posted January 4, 2007 at 02:00 PM Report #74396 Posted January 4, 2007 at 02:00 PM Eu tou a ver que se o aluno tiver um numero de faltas inferior a 13 é reprovado. Não será ao contrário? Exacto, não revi o código a esse nível, mas também me parece que não seja o pretendido. Código corrigido. 😉 <3 life
TheDark Posted January 4, 2007 at 11:51 PM Report #74497 Posted January 4, 2007 at 11:51 PM O problema principal é teres um ponto e virgula a seguir ao for, por isso é que as instruções só executam uma vez: não pertencem ao ciclo for. Outra coisa: se os alunos que reprovam por faltas não têm direito a inserir a nota, tens que contar o número de alunos que conseguiram inserir a nota para depois calcular a média. Ou então deixar os alunos reprovados por faltas inserir a nota e dividir sempre por 12... Desaparecido.
Saco Posted January 5, 2007 at 06:44 AM Report #74530 Posted January 5, 2007 at 06:44 AM Já agora um pequeno reparo: Se não usas a variável i para mais nada podes meter o numero de aluno a ser incrementado no for, ou seja, for(al=1;al<=12;al++) Já agora, Triton um for com 3 ponto e vírgula? 🙂
Triton Posted January 5, 2007 at 11:34 AM Report #74542 Posted January 5, 2007 at 11:34 AM Ups, era suposto ser uma vírgula... 🙂 <3 life
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now