Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carlos1000

Ajuda PHP

Recommended Posts

Olá pessoal estou tentando desenvolver um exercício de php e html onde pede para Criar uma caixa de texto para receber um número e exiba este número por extenso. 
Números válidos: Zero até 1000 
Dica: Utilize a função substr() para pegar trechos do texto. 

 

Esse é meu resultado até o momento, preciso completar ate mil, alguem pode me ajudar

 

<?php

$numero =$_REQUEST["txtNúmero"];

$unidade=array("Zero","Um","Dois","Três","Quatro","Cinco","Seis","Sete","Oito","Nove","Dez","Onze","Doze","Treze","Catorze","Quinze","Dezesseis","Dezessete","Dezoito","Dezenove");
$dezena=array("","","Vinte","Trinta","Quarenta","Cinquenta","Sessenta","Setenta","Oitenta","Noventa");
$centena=array("","Cem","Duzentos","Trezentos","Quatrocentos","Quinhentos","Seiscentos","Setecentos","Oitocentos","Novecentos","Mil");

if ($numero>=0 && $numero<=19) {
   echo "O extenso é:" . $unidade[$numero];
   }
else if ($numero>19 && $numero<=99) {
  $extrairdezena= substr ($numero,0,1);
  $extrairunidade= substr ($numero,1,1);
  if ($extrairunidade==0) {
  echo "O extenso é:" . $dezena[$extrairdezena];
  }

else {
  echo "O extenso é:" . $dezena[$extrairdezena] . "e" .
                        $unidade[$extrairunidade];
  }  
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Carlos1000 esse é um exercício bacana pra treinar laço de looping, fiz um exemplo aqui pra você entender a lógica e você mesmo mexer nele e adaptar no que for necessário.

<?php

//$numero = $_REQUEST["txtNúmero"];

$unidade = array("Um","Dois","Três","Quatro","Cinco","Seis","Sete","Oito","Nove","Dez","Onze","Doze","Treze","Catorze","Quinze","Dezesseis","Dezessete","Dezoito","Dezenove");

$dezena  = array("Vinte","Trinta","Quarenta","Cinquenta","Sessenta","Setenta","Oitenta","Noventa");

$centena = array("Cento","Duzentos","Trezentos","Quatrocentos","Quinhentos","Seiscentos","Setecentos","Oitocentos","Novecentos","Mil");

$bloco_loop_start_count  = 1;
$bloco_loop_start_dezena = 1;

for ($loop_centena = 0; $loop_centena  < 9; $loop_centena ++) { 

	// esse bloco inicial da contagem das unidades executa somente uma vez
	if($bloco_loop_start_count == 1){
		for ($loop_start_count =0; $loop_start_count < count($unidade); $loop_start_count ++) { 
			echo $unidade[$loop_start_count] . ", ";
		}	
		$bloco_loop_start_count = 0;// finaliza o bloco
	}
	// esse bloco inicial da contagem das dezenas executa somente uma vez
	if($bloco_loop_start_dezena == 1){
		for ($loop_start_count_dezena =0; $loop_start_count_dezena < count($dezena); $loop_start_count_dezena ++) {
			// 30/40/50 ...
			echo $dezena[$loop_start_count_dezena] . ", ";
			 
			$n_dezena_start = $dezena[$loop_start_count_dezena] . " e "; 
			for ($loop_dezena_start = 0; $loop_dezena_start  < 9; $loop_dezena_start ++) { 
				// 31,32,33 [...] / 41,42,43 [...]
				$n_unidade_start = $unidade[$loop_dezena_start];
				echo $n_dezena_start . $n_unidade_start .", ";
			}
		}
		$bloco_loop_start_dezena = 0;// finaliza o bloco
	}

	$n_centena = $centena[$loop_centena] . " e "; // 100 / 200 / 300 ...

	// faz a contagem de XX1 ao X19 utilizando as unidades / 101,102 [...] 119
	for ($loop_start_unidade = 0; $loop_start_unidade < count($unidade); $loop_start_unidade++) { 
		echo $n_centena . $unidade[$loop_start_unidade]. ", ";
	}

	// variável que faz o controle das dezenas pra aparecer somente de 1 à 9 ou de 1 à 19
	$count_unidade = 0;

	if($count_unidade < 9){
		
		//bloco das dezenas
		for ($loop_dezena = 0; $loop_dezena  < count($dezena); $loop_dezena ++) {

			echo $centena[$loop_centena] . " e " .$dezena[$loop_dezena].", ";

			$n_dezena = $dezena[$loop_dezena] . " e ";
			for ($loop_unidade_secundario = 0; $loop_unidade_secundario  < 9; $loop_unidade_secundario ++) { 
				// 1 ao 9
				$n_unidade_secundario = $unidade[$loop_unidade_secundario]. ", ";
				echo $n_centena . $n_dezena . $n_unidade_secundario;
				$count_unidade++;
			}
		}
		
	} else {
		for ($loop_unidade_principal = 0; $loop_unidade_principal  < count($unidade); $loop_unidade_principal ++) { 
			// 1 ao 19
			$n_unidade_principal = $unidade[$loop_unidade_principal] . ", "; 
			$count_unidade++;
		}
		echo $n_centena . $n_unidade_principal;
	}

	// finalmente chega no Mil
	// 8 é o laço que finaliza o array $centena novecentos
	if($loop_centena == 8){
		echo "Mil";
	}
}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por 4Unknow
      Bom dia comunidade Imasters.

      Venho aqui tratar de um problema dúvida que estou tendo com um layout que estou tentando usar o formulário php dele.
      Quando clico em enviar ele me enviar para um arquivo .php  (assets/vendor/simple-forms/sendmail.php)

      Ele não envia o e-mail, acredito que deveria aparecer uma mensagem que o contato foi enviado corretamente.
      Vou deixar os arquivos aqui em anexo quem puder me ajudar nessa, ficaria muito grato.
       
      Link Website (wetransfer.com)
    • Por Hacker_Buiu
      Tem que completar o perfil para curtir e ser curtido sem dar erro?
    • Por Hacker_Buiu
      Porque não ganho reputação com o meu bom trabalho?
    • Por Flaviaac
      Boa tarde pessoal,
      gostaria de pedir uma ajuda para criar um evento em um formulário HTML.
       

      Eu tenho um formulário em HTML e PHP,  e nele tem um campo do tipo select e um campo do tipo text(desabilitado).
      Gostaria que ao clicar no campo select e escolher qualquer opção da lista, automaticamente em seguida aparecesse dentro do campo text um valor respectivo a opção escolhida anteriormente.
       
      Exemplo:
      Tenho um campo select com tipos diferentes de materiais (vidro, papel, alumínio, etc.) e no campo text(desabilitado) terei a quantidade de anos que cada material demora a se decompor na natureza. O campo text inicialmente estará vazio, mas quando selecionar o material, aparecerá dentro deste text a quantidade de anos.
       
      obs.: Os valores do campo select e do campo text estão ambos na mesma tabela do banco de dados(MySQL), o campo select com valores string e o campo text com valores inteiros.
       
      Não sei se consegui explicar direito, mas acredito que terei que utilizar javascript para este evento, mas ainda não sei como.
      Alguém tem ideia de como eu poderia fazer isso ou alguma dica?
       
       
      Muito obrigada!!

       
    • Por iJeanClaud
      Olá, pessoal.
      Bom, eu sou programador e já trabalhei muito em sistemas PHP, Java, etc. 
      Recentemente um amigo meu veio conversar comigo a respeito de uma vaga que surgiu na empresa na qual ele faz parte do RH, trata-se de automação de testes
      por incrível que pareça, nunca havia ouvido falar sobre isso e nem sequer entendi a lógica e essa é minha maior dúvida.

      Pelo que entendi, pesquisando na internet e assistindo vídeos, é um teste mais aprofundado em softwares, independente da plataforma, tais como: verificar todos os possíveis erros em uma tela de login, de cadastro, etc. O problema nisso tudo é que eu não consigo entender qual a lógica disso, e como assim "automação de testes" sendo que no trabalho em si você já está testando uma coisa? Porque precisa de alguém pra trabalhar em cima de uma automação disso? Espero que entendam minha dúvida e agradeço a quem tentar, pelo menos um pouco, me ajudar com isso.

      Obrigado!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.