• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

suzy

referendo

4 mensagens neste tópico

tou a fazer este programa e nao consigo, da me na compilacao coisas sem nexos

:shocking:

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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites





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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora