Programação em C - ajuda no código, coisa simples..?
Eu tenho este pequeno programa para fazer mas tou com alguma dificuldade em faze-lo
O programa pede ao utilizador uma palavra e duas letras, depois o programa irá procurar quantas vezes é que essas palavras aparecem na palavra inicialmente introduzida e que conte quantas vezes é que essa mesma letra aparece.
A minha ideia é fazer um ciclo for que encontra uma letra (da palavra) igual a uma letra introduzida, mas nao estou a conseguir faze-lo
este é o meu código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char palavra[10];
char l1[1], l2[1];
char p1, p2;
int conta1, conta2;
char aux, aux2;
printf("Introduza uma palavra (max 9 letras) ");
scanf("%s", palavra);
printf("\nIntroduza uma letra:");
scanf("%s", &l1);
printf("\nIntroduza uma segunda letra:");
scanf("%s", &l2);
aux=l1[0];
aux2=l2[0];
for(int x=0; x<=strlen(palavra); x++)
{
while(aux==palavra[x])
conta1++;
while(aux2==palavra[x])
conta2++;
}
printf("a letra %s aparece %d veze(s)", l1, conta1);
printf("a letra %s aparece %d veze(s)", l2, conta2);
system("pause");
}
uma ajuda??
Update:Obrigado pela ajuda vector =D
Comments
Olá!!!programa feito!!! tinha alguns problemas como aquele while lá gora ta legal ^.^ aí está!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(int argc, char *argv[])
{
char palavra[10];
char l1, l2;
char p1, p2;
int conta1=0, conta2=0;
char aux, aux2;
printf("Introduza uma palavra (max 9 letras) ");
scanf("%[a-z A-Z 0x0d]", palavra);
printf("\nIntroduza uma letra:");
l1=getche();
printf("\nIntroduza uma segunda letra:");
l2=getche();
aux=l1;
aux2=l2;
for(int x=0; x<=strlen(palavra); x++)
{
if(aux==palavra[x])
conta1++;
if(aux2==palavra[x])
conta2++;
}
printf("\na letra %c aparece %d veze(s)", l1, conta1);
printf("\na letra %c aparece %d veze(s)\n", l2, conta2);
system("PAUSE");
return EXIT_SUCCESS;
}
compilado no Dev-Cpp ok?
see ya!!! qualquer coisa de um toke!!!
obs:... \gota, deram ctrl+c ctrl+v no meu código.... affff
(obs: se tiver +1, pode passar, mas não se esqueça dos meus pontinhos....)
nao sei
Faz tempo que não programo em C, mas basicamente seu código está correto.
Qual a mensagem de erro que retorna?
Ao longo das linhas, peça que imprima o conteúdo das variáveis, para se ter a certeza de que de fato está armazenando.
P.S.: Eu estava dando uma olhadinha melhor e percebi que não tem a "main", então ele entra em loop infinito.
Vá lá... corija isso que resolve o seu problema.
#include <iostream>
using namespace std;
int main(){
char palavra[10];
char l1, l2;
int conta1=0, conta2=0;
printf("Introduza uma palavra (max 9 letras) ");
scanf("%s", palavra);
fflush(stdin);
printf("\nIntroduza uma letra:");
scanf("%c", &l1);
fflush(stdin);
printf("\nIntroduza uma segunda letra:");
scanf("%c", &l2);
fflush(stdin);
for(int x=0; x<=strlen(palavra); x++)
{
if(l1==palavra[x])
conta1++;
if(l2==palavra[x])
conta2++;
}
printf("a letra `%c` aparece %d veze(s)\n", l1, conta1);
printf("a letra `%c` aparece %d veze(s)\n", l2, conta2);
system("pause");
return 0;
}