× Linguagem de Programação ADVPL

Perguntas Exercício de contar as vogais e as consoantes de uma palavra

Mais
8 anos 4 meses atrás #29700 por viniciusbsilva
Olá pessoal, eu sou novo na linguagem de AdvPl e estou tendo um problema na elaboração de um programa, nesse programa, eu preciso ler uma opção entre 1 e 2, 1 o programa continua, e 2 o programa encerra, depois ler uma palavra (caso digite 1) e posteriormente uma opção entre vogais e consoantes, após isso eu precisaria mostrar na tela a quantidade de vogais ou consoantes, dependendo a escolha que foi feita anteriormente, e ainda, voltar a tela inicial onde escolheria entre 1 e 2. Abaixo vou postar como está meu código até agora, se vocês tiverem uma outra ideia para elabora-ló eu agradeço. Espero que consigam me ajudar. Desde já agradeço.

Código:

User Function ATV013()
**********************
Local nOpcao1 := " "
Local cOpcao2 := " "
Local cPalavra := " "
Local Consoantes := " "
Local Vogais := " "
Local nVogais := 0
Local nConsoantes := 0
Local cPerg := "TATV013_1"
Local cPerg2 := "TATV013_2"
Local cPerg3 := "TATV013_3"
Local aConsoantes := {1,22}
Local aVogais := {1,5}
local nLetras := 0


fPutSX1(cPerg)
fPutSX2(cPerg2)
fPutSX3(cPerg3)

While nOpcao1 <> "2"

nLetras := 0
cPalavra := " "
nOpcao1 := " "
cOpcao2 := " "

If !Pergunte(cPerg, .T.)
Return
EndIf
nOpcao1 := mv_par01

If nOpcao1 = "2"
MsgAlert("Programa finalizado!", "Alerta de finalização")
Return

ElseIf nOpcao1 = "1"
If !Pergunte(cPerg2, .T.)
Return
EndIf
cPalavra := mv_par02
EndIf

If !Pergunte(cPerg3, .T.)
Return
EndIf

cOpcao2 := mv_par03

If cOpcao2 = "Vogais"

aVogais[1] := "a"
aVogais[2] := "e"
aVogais[3] := "i"
aVogais[4] := "o"
aVogais[5] := "u"
nVogais := 0
nLetras := 0

nLetras := Len(cPalavra)

For i := 1 To nLetras

For n := 1 To 5

If SubStr(cPalavra, I, 1) = aVogais

nVogais++

End If

Next n

Next i

MsgAlert("Na palavra, há: " + cValToChar(nVogais) + " vogais.", "Exibição dos resultados")

EndIf

If cOpcao2 = "Consoantes"

aConsoante[1] := "b"
aConsoante[2] := "c"
aConsoante[3] := "d"
aConsoante[4] := "f"
aConsoante[5] := "g"
aConsoante[6] := "h"
aConsoante[7] := "j"
aConsoante[8] := "k"
aConsoante[9] := "l"
aConsoante[10] := "m"
aConsoante[11] := "n"
aConsoante[12] := "p"
aConsoante[13] := "q"
aConsoante[14] := "r"
aConsoante[15] := "s"
aConsoante[16] := "t"
aConsoante[17] := "v"
aConsoante[18] := "w"
aConsoante[19] := "x"
aConsoante[20] := "y"
aConsoante[21] := "z"
aConsoante[22] := "ç"
nConsoantes := 0
nLetras := 0

nLetras <- Len(cPalavra)

For I := 1 To nLetra

For n := 1 To 22

If SubStr(cPalavra, i, 1) = aConsoantes

nConsoantes++

EndIf

Next j

Next n

MsgAlert("Na palavra, há: " + cValToChar(nConsoantes) + " consoantes.", "Exibição dos resultados")

EndIf

EndDo

Return

Static Function fPutSX1(cPerg)
******************************
Local aTam := {}
Local aHelpPor

aTam := {1, 0, "N"}

aHelpPor := {}
aAdd(aHelpPor, "Digite 1 para ler outra palavra ou digit" )
aAdd(aHelpPor, "e 2 para finalizar. " )
aAdd(aHelpPor, " " )

PutSX1(cPerg,"01","Escolha uma opção","","","mv_ch1",aTam[3],aTam[1],aTam[2],0,"G","","","","","mv_par01","","","","","","","","","","","","","","","","",aHelpPor,{},{})

Return

Static Function fPutSX2(cPerg2)
******************************
Local aTam := {}
Local aHelpPor

aTam := {20, 0, "C"}

aHelpPor := {}
aAdd(aHelpPor, "Digite uma palavra para que possa ser ap" )
aAdd(aHelpPor, "resentado o número de vogais ou o número" )
aAdd(aHelpPor, "de consoantes. " )

PutSX1(cPerg2,"02","Digite uma palavra","","","mv_ch2",aTam[3],aTam[1],aTam[2],0,"G","","","","","mv_par02","","","","","","","","","","","","","","","","",aHelpPor,{},{})

Return

Static Function fPutSX3(cPerg3)
******************************
Local aTam := {}
Local aHelpPor

aTam := {1, 0, "C"}

aHelpPor := {}
aAdd(aHelpPor, "Selecione a opção correspondente. " )
aAdd(aHelpPor, " " )
aAdd(aHelpPor, " " )

PutSX1(cPerg3,"03","Opções","","","mv_ch3",aTam[3],aTam[1],aTam[2],0,"C","","","","","mv_par03","Vogais","","","","Consoantes","","","","","","","","","","","",aHelpPor,{},{})

Return

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 4 meses atrás #29702 por lalberto
Amigo vou te ajudar se você colocar seu nome corretamente no cadastro ok.

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 4 meses atrás #29706 por viniciusbsilva
Como que eu faço isso?

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 4 meses atrás #29707 por lalberto
QUal seu nome correto e email ?

Eu Arrumo.

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 4 meses atrás #29708 por viniciusbsilva
O e-mail que consta no perfil é o certo, o nome é: Vinicios Barcelo da Silva

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 4 meses atrás #29709 por lalberto
Agora sei com quem estou falando, pelo menos né, apesar do email não corresponder com o nome, mas ta bom.

Vc vai se logar com viniciusbsilva agora e a senha a mesma que vc criou.

Bom Vou analisar seu programa, e te respondo até amanha ok, pois estou em cliente no momento.

:woohoo:

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.120 segundos
Joomla templates by a4joomla