rxpjunior Posted September 28, 2012 at 03:23 PM Report #476937 Posted September 28, 2012 at 03:23 PM (edited) Boa tarde a todos, primeiramente agradeço a oportunidade fazer parte do forum. Sou iniciante em programação e me surgiu a necessidade de fazer um programa em C++ que leia uma frase e depois me mostre em um vetor apenas as vogais. Abaixo segue o exemplo que fiz e que, infelizmente, não deu certo. Alguém pode me auxiliar neste problema? Agradeço. #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <string.h> using namespace std; main() { /*3 - Fazer um programa em C que leia uma frase e imprima somente as vogais. */ char frase[80]; int cont, cont2; int tamanho; printf("Entre com uma frase qualquer\n"); scanf("%c",&frase); tamanho=strlen(frase); char final[tamanho]; for (cont=0;cont<tamanho;cont++) { if (frase[cont]=='a') { final[cont2]='a'; cont2++; } else if (frase[cont]=='e') { final[cont2]='e'; cont2++; } else if (frase[cont]=='i') { final[cont2]='i'; cont2++; } else if (frase[cont]=='o') { final[cont2]='o'; cont2++; } else if (frase[cont]=='u') { final[cont2]='u'; cont2++; } } tamanho=strlen(final); for (cont2=0;cont2<tamanho;cont2++) { printf("%c",final[cont2]); } getch(); } Edited September 28, 2012 at 06:14 PM by Baderous geshi
HappyHippyHippo Posted September 28, 2012 at 03:36 PM Report #476938 Posted September 28, 2012 at 03:36 PM primeiro de tudo, seja bem vindo. bem ... não percebi porque é que um problema em C++, na secção de C++ está escrito em C. deverias era usar as tags do geshi para apresentar código, mas como é o teu primeiro post, estás desculpado mas não deixes de dar uma vista de olhos aqui (principalmente na parte de colocação de código) : http://www.portugal-a-programar.pt/index.php?app=core&module=help agora os erros de código: scanf("%c",&frase); está a pedir um caracter (%c) e quando tens um array/ponteiro (frase) não necessitas do operador &. o resto do código é o método normal de quem está a aprender. não está errado mas não se escreve dessa maneira. olha apra esta simplificação: if (frase[cont]=='a' || frase[cont]=='e' || frase[cont]=='i' || frase[cont]=='o' || frase[cont]=='u') { final[cont2]=frase[cont]; cont2++; } bem mais simples não ? no final estás a escrever caracter a caracter: for (cont2=0;cont2<tamanho;cont2++) { printf("%c",final[cont2]); } // e que tal assim ? printf("%s\n", final); IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
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