segunda-feira, 9 de dezembro de 2013

Valor Absoluto e Valor Relativo

Se vc ainda não sabe, ou pra você que nunca ouviu falar, apresento este
programa em linguagem C, que é capaz de lhe mostrar, valores absolutos e valores Relativos de um número.

Se você quiser conhecer melhor o assunto siga este link abaixo:

http://www.escolakids.com/qual-o-valor-de-um-algarismo.htm

Os números digitados são colhidos pela função gets(); e armazenados no vetor de char num [10];
Más logo são convertidos em inteiros graças a função atoi.
Más o maior destaque do programa fica por conta da função Absoluto_Relativo();
Que se responsabiliza por barrar qualquer caractere, indesejado.
O programa também reprova números muito alto, acima de 9999, e finaliza se o usuário
digitar o dígito -1.

Eis algumas imagens do programa em execução:









#include <stdio.h>
#include <conio.h>
#include <string.h>
void Janela5(){
    int lin, col;
    for ( lin = 0; lin <= 25; lin++ ){
        for ( col = 0; col <= 80; col++ ){
            gotoxy( col, lin );
            if ( lin == 2 ){textbackground(LIGHTBLUE);printf( " ");}
            if ( col == 1 ){textbackground(LIGHTBLUE);printf(" ");}
            if ( lin == 25 ){textbackground(LIGHTBLUE);}
            if ( col == 80 ){textbackground(LIGHTBLUE);printf(" ");}
        }
    }textbackground( BLACK );
}
int Absoluto_Relativo ( char num [4] ){
    int i;
    for( i = 0; i < strlen ( num ); i++ ){
        if ( num [ i ] < '0' || num [ i ] > '9' )
            return 0;
    }
    return 1;
}
int main(){
    system ("title VALOR ABSOLUTO E VALOR RELATIVO");
    char num [ 10 ];
    int Vetor [ 3 ],  n = 0, un, de, ce, mi, erro = 0;
    system("cls");Janela5();
    textcolor(VERMELHOCLARO);gotoxy(29,3);printf("VALOR ABSOLUTO E VALOR RELATIVO");
    textcolor(AMARELO);gotoxy(24,5);printf("Programa desenvolvido por:");
    textcolor(CIANOCLARO);gotoxy(51,5);printf("Samuel Lima");
    textcolor(VERDECLARO);gotoxy(34,7);printf("sa_sp10@hotmail.com");
    textcolor(AZULCLARO);gotoxy(25,9);printf("Digite um Numero ou [ -1 ] Para sair: ");
    gets(num);fflush ( stdin );
    n =  atoi (num);
        if(n == -1){
            textcolor(VERMELHOCLARO);gotoxy(33,20);printf ("O ROCCO AGRADECE");Sleep(2000);exit(0);
        }
        while (n < 0 || n > 9999 ){
            textcolor(VERMELHOCLARO);gotoxy(25,11);printf("\aO Numero nao Pode Ser Negativo");
            textcolor(VERMELHOCLARO);gotoxy(25,12);printf("Nem Maior que 10000");
            getche(); erro = 0;main();
        }
        if ( Absoluto_Relativo ( num ) == 0 ){
            textcolor(VERDECLARO);gotoxy(34,12);printf("Voce digitou: %s", num);
            textcolor(VERDECLARO);gotoxy(34,13); printf("\aIsso nao e um numero Valido !");
            getche();erro = 0;main();
        }
    printf("\n");
    mi = (n / 1000);//separa milhares
    ce = ((n - ( mi * 1000)) / 100);//separa centenas
    de = ((n - ((mi * 1000) + (ce * 100))) / 10);//separa dezenas
    un = (n - ((mi * 1000) + (ce * 100) + (de * 10)));//separa unidades
    textcolor(VERDECLARO);gotoxy(25,11);printf("Voce digitou == ");
    textcolor(VERMELHOCLARO);gotoxy(40,11);printf(" %d %d %d %d ",mi, ce, de, un);
    getche();
    Vetor [ 0 ] = ( mi * 1000 );
    Vetor [ 1 ] = ( ce * 100 );
    Vetor [ 2 ] = ( de * 10 );
    Vetor [ 3 ] = ( un );
    textcolor(AZULCLARO);gotoxy(15,13);printf("O Valor Absoluto de %d = %d E o Valor Relativo de %d = %d ", mi, mi, mi, Vetor [ 0 ] );
    gotoxy(15,15);printf("O Valor Absoluto de %d = %d E o Valor Relativo de %d = %d ", ce, ce, ce, Vetor [ 1 ] );
    gotoxy(15,17);printf("O Valor Absoluto de %d = %d E o Valor Relativo de %d = %d ", de, de, de, Vetor [ 2 ] );
    gotoxy(15,19);printf("O Valor Absoluto de %d = %d E o Valor Relativo de %d = %d ", un, un, un, Vetor [ 3 ] );
    getche();
    textcolor(VERMELHOCLARO);gotoxy(33,23);printf ("O ROCCO AGRADECE");
    getche();exit(0);
}



Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.