Qualquer número multiplicado pela sequência dos números naturais, obtem - se os seus Múltiplos,
Veja abaixo a sequência dos Números Múltiplos de 2 até 5:
2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
E assim vai, até onde você quizer.
Portanto 2, 4, 6, 8 e 10 são Múltiplos de { 2 }, Partindo desta lógica ficou fácil criar este programa em linguagem C.
Breve resumo do funcionamento:
Na primeira tela O Programa começa pedindo um intervalo ao usuário para estabelecer os limites mínimos e máximos dos Múltiplos.
Na segunda tela ele pede que se digite o número para verificação dos Múltiplos
dentro dos limites estabelecidos previamente.
Coloquei limites no programa para que não se use números muito longo, e ficou limitado até 10,
se for digitado um número acima disto um beep é acionado junto com uma mensagem para o usuário
advertindo para os limites do programa e volta para o início da função main fazendo o bom uso da recursividade ,
e isto dentro de uma chave while bem imprementada.
Más se for digitado um número dentro dos parâmetros estabelecidos o programa segue o seu curso entrando num bloco
comandado por um for que recebe auxílio de um if e uma variável que termina todo
o processo, recebendo a carga nas costas de todos os Múltiplos do número solicitado.
Eis as saídas deste Programa no cmd:
Veja o código abaixo:
#include <stdio.h>
#include <conio2.h>
int main ( ) {
int a, b, i = 0, j = 0, num, result = 0;
system ( "title
PROGRAMA MULTIPLOS DE UM NUMERO II" );
while ( 1 ) {
system ( "cls" );
textcolor ( LIGHTRED );
gotoxy ( 27, 3 );
printf ( "PROGRAMA
MULTIPLOS DE UM NUMERO II" );
textcolor ( LIGHTBLUE );
gotoxy ( 25, 5 );
printf ( "Digite um
intervalo" );
textcolor ( YELLOW );
gotoxy ( 25, 7 );
printf ( "De: " );
scanf ( "%d", &a );
fflush ( stdin );
textcolor ( YELLOW );
gotoxy ( 25, 9 );
printf ( "Ate: " );
scanf ( "%d", &b );
fflush ( stdin );
if ( num == -1 ) {
textcolor ( LIGHTRED );
gotoxy ( 35, 7 );
printf ( "O ROCCO
AGRADECE" );
Sleep ( 1800 );
exit ( 0 );
}
system ( "cls" );
textcolor ( LIGHTRED );
gotoxy ( 27, 3 );
printf ( "PROGRAMA
MULTIPLOS DE UM NUMERO II" );
textcolor ( LIGHTBLUE );
gotoxy ( 18, 5 );
printf ( "digite um
numero entre 1 e 10: [ Zero para Sair ] " );
textcolor ( LIGHTRED );
scanf ( "%d", &num );
fflush ( stdin );
while ( ( num < 0 ) || ( num >= 10 ) ) {
textcolor ( YELLOW );
gotoxy ( 25, 7 );
printf ( "\aNumero
Acima de 0 e menor que 10\n" );
Sleep ( 1800 );
main ( );
}
if ( num == 0 ) {
textcolor ( LIGHTRED );
gotoxy ( 35, 7 );
printf ( "O ROCCO
AGRADECE" );
Sleep ( 1800 );
exit ( 0 );
}
result = b - a;
textcolor ( LIGHTGREEN );
gotoxy ( 20, 7 );
printf ( "Entre %d e
%d Temos %d Multiplos de %d ", a, b, result,
num );
textcolor ( LIGHTGRAY );
gotoxy ( 1, 9 );
for ( i = a; i < b; i++ ) {
if ( num > 0 ) {
j = num * i;
//result = b - a;
printf ( " %d ", j );
Sleep ( 50 );
}
}
getche ( );
for ( num = 0;; num++ ) {
textcolor ( LIGHTCYAN );
gotoxy ( 20, 17 );
printf ( "Digite: [ 1
para Repetir ou Negativo para sair ]\n" );
gotoxy ( 39, 21 );
scanf ( "%d", &num );
fflush ( stdin );
if ( num < 0 ) {
textcolor ( LIGHTRED );
gotoxy ( 35, 21 );
printf ( "O ROCCO
AGRADECE" );
Sleep ( 1800 );
exit ( 0 );
}
if ( num == 1 ) {
main ( );
} else {
textcolor ( LIGHTBLUE );
gotoxy ( 36, 21 );
printf ( "\aOPCAO
ERRADA" );
Sleep ( 1800 );
textcolor ( LIGHTBLUE );
gotoxy ( 36, 21 );
printf ( " " );
}
}
}
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.