sexta-feira, 30 de novembro de 2012

Entendendo a função strcmp - strupr e strlwr

Este Programa mostra na prática como comparar strings com a função strcmp,
converter uma string para maiúscula com a função strupr, e converter uma string para minúscula com a função strlwr.
Estas funções toma uma única string como argumento.
Coloquei três estados no código más pode ser expandido facilmente, dado a
simplicidade e clareza; outros comandos foram necessariamente adicionados
ao programa, a saber, o do while para fazer a repetição do bloco, aliás é altamente
recomendado que se use um dos comandos repetidores do C, ao invés de se usar o goto
que traz muita confusão se for usado vários, os comandos if e else, e claro, as funções padrões.

Veja algumas imagens do programa em execução:







#include <ctype.h>
#include <conio.h>
#include <stdio.h>
void Janela5 ( ) {
     int lin, col;
     col = 0;
     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 main ( void ) {
     system ( "title ENTENDENDO A FUNÇÃO strcmp - strlwr E strupr " );
     char palavra [ 25 ];
     do {
         system ( "cls" );
         Janela5 ( );
         textbackground ( BLACK );
         textcolor ( LIGHTRED );
         gotoxy ( 19 , 3 );
         printf ( "ENTENDENDO A FUNÇÃO strcmp - strlwr E strupr " );
         textcolor ( YELLOW );
         gotoxy ( 32 , 5 );
         printf ( "sa_sp10@hotmail.com" );
         textcolor ( LIGHTBLUE );
         gotoxy ( 20 , 7 );
         printf ( "Digite a Sigla do Estado em que Você Nasceu" );
         textcolor ( LIGHTGREEN );
         gotoxy ( 21 , 9 );
         printf ( "Ou Digite \"SAIR\" Para encerrar o Programa  " );
         textcolor ( LIGHTRED );
         gets ( palavra );
         if ( strcmp ( strlwr ( palavra ) , "sp" ) == 0 ) {
              textcolor ( LIGHTRED );
              gotoxy ( 20 , 11 );
              printf ( "São Paulo - %s\n" , strupr ( palavra ) );
              Sleep ( 1800 );
              textcolor ( YELLOW );
              gotoxy ( 20 , 13 );
              printf ( "Você é Paulista" );
         } else if ( strcmp ( strlwr ( palavra ) , "rj" ) == 0 ) {
              textcolor ( LIGHTRED );
              gotoxy ( 20 , 11 );
              printf ( "Rio de Janeiro - %s\n" , strupr ( palavra ) );
              Sleep ( 1800 );
              textcolor ( YELLOW );
              gotoxy ( 20 , 13 );
              printf ( "Você é Carioca" );
         } else if ( strcmp ( strlwr ( palavra ) , "mg" ) == 0 ) {
              textcolor ( LIGHTRED );
              gotoxy ( 20 , 11 );
              printf ( "Minas Gerais - %s\n" , strupr ( palavra ) );
              Sleep ( 1800 );
              textcolor ( YELLOW );
              gotoxy ( 20 , 13 );
              printf ( "Você é Mineiro" );
         } else if ( strcmp ( strlwr ( palavra ) , "sair" ) == 0 ) {
              textcolor ( LIGHTRED );
              gotoxy ( 35 , 17 );
              printf ( "MUITO OBRIGADO!" );
              Sleep ( 1800 );
              exit ( 0 );
         } else {
              textcolor ( YELLOW );
              gotoxy ( 20 , 11 );
              printf ( "\aNenhum Estado corresponde a esta sigla %s\n" ,
                        palavra );
              Sleep ( 1800 );
              textcolor ( LIGHTBLUE );
              gotoxy ( 20 , 13 );
              printf ( "Ou talvez você tenha digitado errado!" );
         }
         Sleep ( 2800 );
     } while ( 1 );
}

Nenhum comentário:

Postar um comentário

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