Colocar Resposta 
 
Avaliação do Tópico:
  • 2 votos - 5 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Podem me ajudar com este programa sff?
25-05-2009, 20:34
Mensagem: #1
Podem me ajudar com este programa sff?
este programa esta quase feito so que falta um promenor qualquer que nao consigo encontar se me podessem ajudar agradecia!

#include <stdio.h>

int main()
{
char frase[100];
int a, e, i, o, u;

scanf("%s", &frase);

int n;
char s;

for(n=0;n<s;n++)
{
a=0;
e=0;
i=0;
o=0;
u=0;
if(a == frase[n])
{
a=a + 1;
}
else if(e == frase[n])
{
e=e + 1;
}
else if(i == frase[n])
{
i=i + 1;
}
else if(o == frase[n])
{
o=o + 1;
}
else if(u == frase[n])
{
u=u + 1;
}
}
return 0;
}
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
25-05-2009, 20:43
Mensagem: #2
RE: Podem me ajudar com este programa sff?
Qual é o objectivo do teu programa?

BrunoBernardino.com
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
25-05-2009, 20:45
Mensagem: #3
RE: Podem me ajudar com este programa sff?
Convinha que desses uma breve descrição do objectivo desse programa, para te podermos ajudar...

Já agora, coloca o código entre tags [code], para preservar a indentação.

[Imagem: pplware_admin.png]
Os meus artigos | O meu site
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
25-05-2009, 21:05
Mensagem: #4
RE: Podem me ajudar com este programa sff?
este programa esta quase feito so que falta um promenor qualquer que nao consigo encontar se me podessem ajudar agradecia!

"""para descobrir quantas voguais é que há na frase, que o utilizador escreve....Exemplo: "Ola mundo" --> o programa deve dizer assim,O=2, a=1, u=1""""



#include <stdio.h>

int main()
{
char frase[100];
int a, e, i, o, u;

scanf("%s", &frase);

int n;
char s;

for(n=0;n<s;n++)
{
a=0;
e=0;
i=0;
o=0;
u=0;
if(a == frase[n])
{
a=a + 1;
}
else if(e == frase[n])
{
e=e + 1;
}
else if(i == frase[n])
{
i=i + 1;
}
else if(o == frase[n])
{
o=o + 1;
}
else if(u == frase[n])
{
u=u + 1;
}
}
return 0;
}
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
25-05-2009, 21:25 (Esta mensagem foi modificada pela última vez a: 25-05-2009 21:51 por Bruno Bernardino.)
Mensagem: #5
RE: Podem me ajudar com este programa sff?
Ok, tens aí bastantes erros...

Tenta assim: (edit: o Post abaixo do RaCcOn fez-me reparar que não conto com as vogais maiúsculas)
Código:
#include <stdio.h>

int main()
{
char frase[100];
int a, e, i, o, u, n;

scanf("%s", &frase);

n = 0;
a = 0;
e = 0;
i = 0;
o = 0;
u = 0;

while (frase[n] != "\0") {
    if ('a' == frase[n] || 'A' == frase[n]) {
        a++;
    } else if ('e' == frase[n] || 'E' == frase[n]) {
        e++;
    } else if ('i' == frase[n] || 'I' == frase[n]) {
        i++;
    } else if ('o' == frase[n] || 'O' == frase[n]) {
        o++;
    } else if ('u' == frase[n] || 'U' == frase[n]) {
        u++;
    }
    n++;
}

printf("\nResultados: a = %d, e = %d, i = %d, o = %d, u = %d\n",a,e,i,o,u);

BrunoBernardino.com
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
25-05-2009, 21:34 (Esta mensagem foi modificada pela última vez a: 25-05-2009 21:34 por RaCcOn.)
Mensagem: #6
RE: Podem me ajudar com este programa sff?
Não será algo deste género que tu queres?

Código:
#include<iostream>
#include<cstring>

using namespace std;

int main(){

int contador=0;
char frase[1001];

cout << "Digite a sua frase com até 1000 caracteres:" << endl;

gets(frase);

for (int i=0; i<strlen(frase) ;i++){

if( isalpha(frase[i]) ) {

if( frase[i]=='a' || frase[i]=='e' || frase[i]=='i' || frase[i]=='o' || frase[i]=='u')
contador++;
else if( frase[i]=='A' || frase[i]=='E' || frase[i]=='I' || frase[i]=='O' || frase[i]=='U' )
contador++;
}
}

cout << "A sua frase tem " << contador << " vogais" << endl;

return 0;
}
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
25-05-2009, 22:32
Mensagem: #7
RE: Podem me ajudar com este programa sff?
acho que existe mesmo uma funcao para testar se e vogal. de qualquer das maneiras nao se deve utilizar ifs/|| para testar varios atributos do mesmo tipo.
usa se um switch.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
27-05-2009, 01:41 (Esta mensagem foi modificada pela última vez a: 27-05-2009 12:56 por sLUGo.)
Mensagem: #8
RE: Podem me ajudar com este programa sff?
Não sei se venho tarde mas... Fiz isto assim em cima do joelho... Espero que ajude. Smile

Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

unsigned char counter[5] = {0,0,0,0,0};

void is_vogal (char *vogal) {
    unsigned int i;
    for (i=0;i<=strlen(vogal);i++) {           // percorre a string toda
        switch (tolower(vogal[i])) {         // coloca todas as vogais como minusculas
            case 'a' : counter[0] += 1; break; // caso seja 'a' , incrementa um valor na posição 0 do vector.
            case 'e' : counter[1] += 1; break; // caso seja 'e' , incrementa um valor na posição 1 do vector.
            case 'i' : counter[2] += 1; break; // caso seja 'i' , incrementa um valor na posição 2 do vector.
            case 'o' : counter[3] += 1; break; // caso seja 'o' , incrementa um valor na posição 3 do vector.
            case 'u' : counter[4] += 1; break; // caso seja 'u' , incrementa um valor na posição 4 do vector.
            default : continue;
        }
    }
}

int main (int argc, char **argv) {
    if (argc!=2) { printf ("Sintaxe:\n\n%s <string>",argv[0]); exit(0); } // a aplicação tem que ser chamada com 1 argumento
    is_vogal(argv[1]);  // "sobe" para a função "is_vogal" levando como argumento a string colocada quando se chamou o programa
    printf ("a = %d\ne = %d\ni = %d\no = %d\nu = %d\n\n", counter[0], counter[1], counter[2], counter[3], counter[4]);
    return 0;
}

Exemplo:

[tiago@startrek linguagem_c]$ ./is_vogal Hello World
Sintaxe:

./is_vogal <string>
[tiago@startrek linguagem_c]$ ./is_vogal "Hello World"
a = 0
e = 1
i = 0
o = 2
u = 0




Abraço
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
27-05-2009, 15:18 (Esta mensagem foi modificada pela última vez a: 27-05-2009 15:22 por gsantos.)
Mensagem: #9
RE: Podem me ajudar com este programa sff?
r_gama Escreveu:
Código:
scanf("%s", &frase);
O uso do scanf é altamente desencorajado pois possui falhas, que podem levar a falhas de segurança.

(25-05-2009 21:34)RaCcOn Escreveu:  Não será algo deste género que tu queres?
É sim, mas isso é C++.

(25-05-2009 22:32)Sight Escreveu:  acho que existe mesmo uma funcao para testar se e vogal.
Só em C++, salvo erro.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
27-05-2009, 17:12
Mensagem: #10
RE: Podem me ajudar com este programa sff?
(27-05-2009 15:18)_Planax_ Escreveu:  O uso do scanf é altamente desencorajado pois possui falhas, que podem levar a falhas de segurança.

creio que te referes ao scanf para ler strings correcto? se sim entao concordo contigo. ja nao me lembro bem qual era a funcao que utilizava o ano passado, mas acho que era a gets();
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 2 Visitante(s)