suzy Posted November 10, 2007 at 01:29 AM Report Share #146466 Posted November 10, 2007 at 01:29 AM tou a fazer este programa e nao consigo, da me na compilacao coisas sem nexos ? desenvolva um programa que auxilie os professores na na obtencao dos resultados de uma sondagem assim , para cada n inqueritos, o programa deve pedir ao utilizador um caracter indicatvio da resposta do alunoa S ->SIM N-> NAO I-> INDECISO A ->Abtencao no caso de o aluno nao ter assinalado nenhuma opção ou nenhuma das anteirores deve ser colocado o caracrer X exemplo de execuçao: indique total de inquerito :10 1 inquerito opção escolhida (s(n/i/a); 2 inquerito... .... segundo a sonfdagem a resposta vencedora e o SIM. RESULTADOS DAS VARIAS OPÇOES SSSS NN I A XX FIZ ASSIM MAS DA COISAS PARVAS AINDA NAO TA ACABADO, MAS RESOLVI VER . #include<stdio.h> #include<string.h> #include<ctype.h> main() { char opcao; int numero,i,contasim=0,contanao=0,containdeciso=0,contai=0,contax=0; printf(" Indique total de inqueritos"); scanf("%d",&numero);// coloca 50 for(i=0;i<numero;i++){ printf("inquerito %d",i+1); scanf("%c",&opcao); if(opcao!='S' || opcao != 'N'|| opcao!='I' || opcao != 'A'){ opcao='X'; contax=contax+1; } if(opcao =='S'){ contasim=contasim+1; } if(opcao =='N'){ contanao=contanao+1; } if(opcao =='I'){ containdeciso=containdeciso+1; } if(opcao =='A'){ contai=contai+1; } } printf(" resultado das varias opcoes"); for(i=0;i<contasim;i++) putchar('S'); putchar('\n'); fflush(stdin); getchar(); } IDEIAS? Link to comment Share on other sites More sharing options...
TheDark Posted November 10, 2007 at 02:21 AM Report Share #146472 Posted November 10, 2007 at 02:21 AM O único problema que me deu foi só pedir os valores dos inquéritos pares. Mas isso resolves alterando a linha scanf("%c",&opcao); para scanf(" %c",&opcao); Nota o espaço antes do %c. Isto faz com que o scanf ignore espaços em branco, newlines e tabs antes de aceitar um caracter. De resto não me deu mais problemas. Se bem que o código ficava mais bonito se tivesses utilizado um switch em vez desses ifs todos 😄 Desaparecido. Link to comment Share on other sites More sharing options...
suzy Posted November 10, 2007 at 02:58 PM Author Report Share #146558 Posted November 10, 2007 at 02:58 PM printf(" resultado das varias opcoes"); for(i=0;i<contasim;i++) putchar('S'); putchar('\n'); fflush(stdin); getchar(); } mas isto nao me aparece no ecra, pq? Link to comment Share on other sites More sharing options...
TheDark Posted November 10, 2007 at 03:58 PM Report Share #146573 Posted November 10, 2007 at 03:58 PM É do 1º if. Está tudo a ser contabilizado na variável contax porque a condição do if dá sempre verdadeira. Se opcao for diferente de 'S', entra logo na condição porque 1 || qualquercoisa dá sempre 1. Se for igual a 'S', já não é igual a 'N' e a condição dá novamente verdadeira. Isso também só vai funcionar com maiúsculas. Por isso é que fazer um switch era mais simples. Desaparecido. Link to comment Share on other sites More sharing options...
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