Aproveitando o uso da função strftime (); da biblioteca padrão time.h do C,
que captura a data atual do sistema, criei este código que faz comparações
e mostra o total de anos passados desde o que foi digitado com o atual
que foi capturado.
Código indicado a aprendizes de linguagem C.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <time.h>
void Janela5 ( ) {
int lin, col;
col = 0;
for ( lin = 2; lin <= 24; lin++ )
for ( col = 2; col <= 78; col++ ) {
gotoxy ( col, lin );
textbackground ( BLACK );
printf ( " " );
}
}
int main ( void ) {
system ( "title
COMPARANDO DUAS DATAS" );
int year, ano, a_no, anos, m_es, meses, mes_es = 0;
struct tm *tm;
time_t t;
char data [ 15 ];
char mes [ 3 ];
time ( &t );
tm = localtime ( &t );
strftime ( data, 15, "%d/%m/%Y", tm );
textcolor ( LIGHTBLUE );
gotoxy ( 20, 7 );
Janela5 ( );
textcolor ( LIGHTRED );
gotoxy ( 32, 5 );
printf ( "COMPARANDO
DUAS DATAS" );
textcolor ( LIGHTBLUE );
gotoxy ( 25, 7 );
printf ( "Programa
desenvolvido por:" );
textcolor ( WHITE );
gotoxy ( 52, 7 );
printf ( "Samuel Lima" );
textcolor ( LIGHTMAGENTA );
gotoxy ( 34, 9 );
printf ( "sa_sp10@hotmail.com" );
textcolor ( LIGHTBLUE );
gotoxy ( 18, 11 );
do {
gotoxy ( 18, 11 );
textcolor ( LIGHTBLUE );
printf ( "Digite o ano
em que você nasceu " );
textcolor ( LIGHTRED );
scanf ( "%d", &ano );
fflush ( stdin );
strftime ( data, 15, "%Y", tm );
year = atoi ( data );
if ( ano >= year ) {
textcolor ( LIGHTBLUE );
gotoxy ( 18, 13 );
printf ( "O ano não
pode ser maior que o ano atual" );
Sleep ( 1800 );
textcolor ( WHITE );
gotoxy ( 30, 23 );
printf ( "PRESSIONE QUALQUER TECLA" );
getche ( );
gotoxy ( 18, 13 );
clreol ( );
gotoxy ( 30, 23 );
clreol ( );
gotoxy ( 50, 11 );
clreol ( );
}
} while ( ano >= year );
do {
textcolor ( LIGHTBLUE );
gotoxy ( 18, 13 );
printf ( "Digite o mês
" );
textcolor ( LIGHTRED );
scanf ( "%d", &m_es );
fflush ( stdin );
if ( ( m_es < 1 ) || ( m_es >= 13 ) ) {
textcolor ( LIGHTBLUE );
gotoxy ( 18, 15 );
printf ( "O mês tem que
está entre 1 e 12" );
Sleep ( 1800 );
textcolor ( WHITE );
gotoxy ( 30, 23 );
printf ( "PRESSIONE QUALQUER TECLA" );
getche ( );
gotoxy ( 18, 15 );
clreol ( );
gotoxy ( 30, 23 );
clreol ( );
gotoxy ( 31, 13 );
clreol ( );
}
} while ( ( m_es < 1 ) || ( m_es >= 13 ) );
strftime ( data, 15, "%Y", tm );
a_no = atoi ( data );
anos = a_no - ano;
strftime ( mes, 3, "%m", tm );
meses = atoi ( mes );
if ( m_es < meses ) {
mes_es = meses - m_es;
}
if ( m_es > meses ) {
mes_es = m_es - meses;
}
textcolor ( LIGHTBLUE );
gotoxy ( 18, 15 );
printf ( "Você tem
" );
textcolor ( LIGHTRED );
printf ( "%d", anos );
textcolor ( LIGHTBLUE );
printf ( " anos e" );
textcolor ( LIGHTRED );
printf ( " %d", mes_es );
textcolor ( LIGHTBLUE );
printf ( " mêses" );
Sleep ( 1800 );
textcolor ( LIGHTRED );
gotoxy ( 36, 23 );
printf ( "MUITO
OBRIGADO" );
getche ( );
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.