Me aajudem

7 respostas
S
Bem é o seguinte eu preciso fazer um programa q leia uma variável char, e depois descreva ela, isso em C++, mas esse programa  pode aceitar vogais, quando aparecer consoantes ele mostra a mensagem variável inválida, bem sou iniciante em C++, eu sei q é um programa de lógica simples, eu tentei faze-lo mas não está saindo, estou com um problema com o uso do if no C++ segue aki em baixo uma amostra do q eu fiz e não deu certo, bem como  dito sou iniciante tou afim de aprender não precisa esculachar, desde  agradeço.

#include 

#include 

#include <conio.h>

using namespace std;
int main()

{

char v;

v=’ ';
cout << "Digite uma vogal \n";
cin >> v;

{
if (v=='a')
cout <<" letra digitada foi a\n"  ; 
 
if (v=='e')
cout <<" letra digitada foi e\n ";

if (v=='i')
   cout <<" letra digitada foi i\n"  ; 

if (v=='o')
   cout <<" letra digitada foi o\n"  ; 
if (v=='u')
   cout <<" letra digitada foi u\n"  ; 
   } 
else cout <<"Esse programa aceita somente vogais;

system ("pause");

}

7 Respostas

douglas_vidotto

O ultimo else que voce colocou refere-se somente ao último if.

andersonarf

Caro companheiro,
faça algo assim…
Acho que o código fica mt mais limpo de se entender…

#include <cstdlib> 
#include <iostream> 
#include <conio.h> 
using namespace std; 

int main() 
{ 
char v; 
v=' '; 

cout << "Digite uma vogal: "; 
cin >> v; 

if ((v=='a') || (v=='e') || (v=='i') || (v=='o') || (v=='u'))
      cout <<"A letra digitada foi "<< v << "\n" ; 
else 
      cout <<"Esse programa aceita somente vogais"; 

system ("pause"); 
}
S

Thks pela ajuda, eu tinha tentado o if uzando o “ou” mas eu tinha colocado as condições usando o != não sei pq não tava indo aki, não sei se eh o compilador ai desisti e resolvi fazer um por um, mas o programa tah rolando redondinho, tentei colocar no programa outra opção se a pessoa digitar espaço eh pra aparecer “caracter inválido” tentei usar o NUll mas não tah indo, hehe se alguém tiver uma sugestão.

ViniGodoy

Oi. Da próxima vez, dê um título mais descritivo para seu tópico. Não use letras maiúsculas, pois elas podem dar a entender que você está gritando. Um título como “Dúvida operações lógicas em C++” seria muito melhor para esse caso.

S

ok´s

S
Bem meu código ficou assim adicionando agora que o programa mostra a vogal antecessora, não consigo q programa aceite o espaço se tiverem sugestões, segue abaixo o programa.
#include <cstdlib>   
#include <iostream>   
#include <conio.h>   
using namespace std;   
  
int main()   
{   
char v;
int resp;   
v=' '; 
  
cout << "Digite uma vogal: ";   
cin >> v;   
  
if ((v=='a') || (v=='e') || (v=='i') || (v=='o') || (v=='u')) // quando o usuário digitar uma vogal 
{
             cout <<"A letra digitada foi "<< v << "\n" ;
             if (v=='a')
             {
                        cout <<"nao contem vogal anterior \n" ;
                 
             }    
             if (v=='e')
             {
                        v=v-4; // para mostrar a vogal antecessora
                        cout <<"A vogal anterior eh "<< v << "\n" ;
             }
             if (v=='i')
             {
                        v=v-4;
                        cout <<"A vogal anterior eh "<< v << "\n" ;       
             }
             if (v=='o')
             {
                        v=v-6;
                        cout <<"A vogal anterior eh "<< v << "\n" ;
             }  
             if (v=='u')
             {
                        v=v-6;
                        cout <<"A vogal anterior eh "<< v << "\n" ;
             }
}
else   // quando o usuário digitar algum caracter que não é vogal
{
       if (v=='NULL')
       {
                   cout <<"caracter invalido\n";
       }
       else
           cout <<"Esse programa aceita somente vogais\n";
}   
 
system ("pause");   
}
Andre_Brito

O negócio é que o cin vai ler até que alguma letra seja entrada. Se um espaço por inserido, ele não dá a mínima - continua esperando um char. Então, de duas uma: ou você usa scanf ou você usa o cin.get().
Usando scanf:

scanf("%c", &v);

Usando cin.get()

v = cin.get();

Abraço.

Criado 16 de março de 2009
Ultima resposta 17 de mar. de 2009
Respostas 7
Participantes 5