Ir ao conteúdo
  • Cadastre-se

Main.cpp

Membros Plenos
  • Total de itens

    231
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

48

Sobre Main.cpp

  • Data de Nascimento 21-02-1970 (48 anos)

Informações gerais

  • Cidade e Estado
    Guarulhos
  • Sexo
    Masculino
  1. Alguns dias sem programar em java e já estou com saudades. Que coisa linda é o JavaFX, poderosa biblioteca do java para criação de programas com janelas gráficas ricas em detalhes e requintes. O JavaFX vai muito além disto, querem saber? comecem a pesquisar agora mesmo e se surpreenda com todos os seus poderos recursos. Mas o que chama mais atenção é o grau de facilidade no aprendizado, para quem já tem bons conhecimentos na parte lógica do java, ou ´para quem está migrando de outras linguagens. Mas o mundo é assim, estou satisfeito com o que sei em java, C/C++, pro momento e devo alcançar outros mares. Não temos muito o que dizer sobre a classe pública Polygon, que se extende da classe Shape, mas o essencial: Ela cria um polígono definido por um array de coordenadas, e estas coordenadas, são aplicadas aos parâmetros do polígono, tais como: largura, altura, ou desvio em graus para que se chegue a um ideal. Aqui estamos criando dois triângulos, e colocando um ao oposto do outro de tal maneira que os dois se transformem numa única figura, "A Estrela de Davi". Veja abaixo uma imagem do programa em execução: Veja abaixo o código do programa: import java.io.FileNotFoundException; import javafx.scene.shape.Polygon; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.FontPosture; import javafx.scene.text.FontWeight; import javafx.scene.transform.Rotate; import javafx.stage.Stage; import javafx.scene.layout.Pane; public class PROJETO extends Application { Pane root = new Pane ( ); Canvas canvas = new Canvas ( 600, 310 ); GraphicsContext ctx = canvas.getGraphicsContext2D ( ); Scene scene = new Scene ( root, 600, 310, Color.WHITE ); Polygon tr_1 = new Polygon ( ); Polygon tr_2 = new Polygon ( ); // criando a transformação de rotação Rotate rotate_1 = new Rotate ( ); Rotate rotate_2 = new Rotate ( ); // ///////////////////////////////////////////////////////////////////////// public void Informe ( ) { ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) ); ctx.setFill ( Color.RED ); ctx.fillText ( "Por: ", 50, 230 ); ctx.setFill ( Color.BLUE ); ctx.fillText ( "Samuel Lima", 80, 230 ); ctx.setFill ( Color.BLACK ); ctx.fillText ( "sa_sp10@hotmail.com", 50, 245 ); ctx.setFill ( Color.RED ); ctx.fillText ( " MUITO OBRIGADO", 250, 280 ); } // ///////////////////////////////////////////////////////////////////////// public void start ( Stage stage ) throws FileNotFoundException { stage.setTitle ( "JAVAFX - DESENHANDO A ESTRELA DE DAVI" ); ctx.setFont ( Font.font ( "Helvetica", FontWeight.BOLD, FontPosture.ITALIC, 15 ) ); // Criando moldura e dando efeitos root.setStyle ( "-fx-padding: 5;" + "-fx-border-style: solid inside;" + "-fx-border-width: 10;" + "-fx-border-insets: 5;" + "-fx-border-radius: 5;" + "-fx-border-color: red;" ); tr_1.getPoints ( ).addAll ( new Double [ ] { 0.0, 0.0, 15.0, 170.0, 170.0, 90.0, } ); tr_2.getPoints ( ).addAll ( new Double [ ] { 22.0, 0.0, 0.0, 170.0, 170.0, 90.0, } ); ctx.setFill ( Color.RED ); ctx.fillText ( "JAVAFX - DESENHANDO A ESTRELA DE DAVI", 145, 40 ); tr_1.setFill ( Color.TRANSPARENT ); // Localização - coluna tr_1.setLayoutX ( 94 ); // Localização - linha tr_1.setLayoutY ( 52 ); tr_1.setTranslateX ( 122 ); tr_1.setTranslateY ( 60 ); // Definindo o ângulo para a rotação rotate_1.setAngle ( -28 ); tr_1.setStyle ( " -fx-stroke: blue;" + " -fx-stroke-width: 10;" ); // Adicionando a rotação ao triângulo tr_1.getTransforms ( ).addAll ( rotate_1 ); // ///////////////////////////////////////////////////////////////////// // Localização - coluna tr_2.setLayoutX ( 166 ); // Localização - linha tr_2.setLayoutY ( 34 ); tr_2.setTranslateX ( 122 ); tr_2.setTranslateY ( 20 ); tr_2.setFill ( Color.TRANSPARENT ); // Definindo o ângulo para a rotação rotate_2.setAngle ( 25 ); tr_2.setStyle ( " -fx-stroke: blue;" + " -fx-stroke-width: 10;" ); // Adicionando a rotação ao triângulo tr_2.getTransforms ( ).addAll ( rotate_2 ); // ////////////////////////////////////////////////////////////////////// // Informe ( ); stage.setScene ( scene ); root.getChildren ( ).addAll ( canvas, tr_1, tr_2 ); stage.show ( ); } // ///////////////////////////////////////////////////////////////////////// public static void main ( String args ) { launch ( args ); } }
  2. Conjunto interseção são os elementos comuns entre conjuntos relacionados. Dados dois conjuntos A e B, chama-se conjunto diferença ou diferença entre A e B o conjunto formado pelos elementos de A que não pertencem a B. Conjunto união são todos os elementos dos conjuntos relacionados. Acompanhe mais no site abaixo: http://www.brasilescola.com/matematica/operacoes-com-conjuntos.htm Partindo destas informações criei este programa, em Linguagem C aplicando as lógicas necessárias para seu funcionamento. Veja algumas imagens do programa em execução: Veja abaixo o código do programa: #include <stdio.h> #include <conio.h> #define tam 5 void got_color ( int tam_lin_ini, int tam_lin_fim, int tam_ini_col, int tam_fim_col, int a, int b ) { int i, c; if ( a >= 1 && a <= 16 ) { textcolor ( a ); } if ( b >= 1 && b <= 16 ) { textbackground ( b ); } for ( i = tam_lin_ini; i < tam_lin_fim; i++ ) { for ( c = tam_ini_col; c < tam_fim_col; c++ ) { gotoxy ( c, i ); printf ( " " ); } } } int main ( void ) { // Interseccao e difereca entre vetores int V = 10; system ( "title INTERSECÇÃO UNIÃO E DIFERENÇA ENTRE VETORES" ); system ( "cls" ); int a = 0, i, j = 0, k = 0, h = 0, aux = 0, auxin = 0, vezes, temp; int Vetor [ tam ], Vet_or [ tam ], Vet [ tam ], Ve_t [ tam ], Vet_o_r [ tam ]; for ( i = 0; i < tam; i++ ) { got_color ( 2, 25, 3, 79, 2, 15 ); textcolor ( LIGHTRED ); gotoxy ( 19, 3 ); printf ( "INTERSECÇÃO UNIÃO E DIFERENÇA ENTRE VETORES" ); textcolor ( LIGHTBLUE ); gotoxy ( 32, 5 ); printf ( "Preenchendo o vetor A" ); textcolor ( LIGHTBLUE ); gotoxy ( 19, 7 ); printf ( "Informe o " ); textcolor ( LIGHTRED ); printf ( "%do", i + 1 ); textcolor ( LIGHTBLUE ); printf ( " número para o vetor A " ); textcolor ( LIGHTRED ); scanf ( "%d", &Vetor [ i ] ); fflush ( stdin ); } for ( i = 0; i < tam; i++ ) { clrscr ( ); system ( "Color C6" ); got_color ( 2, 25, 3, 79, 2, 15 ); textcolor ( LIGHTRED ); gotoxy ( 19, 3 ); printf ( "INTERSECÇÃO UNIÃO E DIFERENÇA ENTRE VETORES" ); textcolor ( LIGHTBLUE ); gotoxy ( 32, 5 ); printf ( "Preenchendo o vetor B" ); textcolor ( LIGHTBLUE ); gotoxy ( 19, 7 ); printf ( "Informe o " ); textcolor ( LIGHTRED ); printf ( "%do", i + 1 ); textcolor ( LIGHTBLUE ); printf ( " número para o vetor B " ); textcolor ( LIGHTRED ); scanf ( "%d", &Vet_or [ i ] ); fflush ( stdin ); } clrscr ( ); system ( "Color B5" ); got_color ( 2, 25, 3, 79, 2, 15 ); textcolor ( LIGHTRED ); gotoxy ( 19, 3 ); printf ( "INTERSECÇÃO UNIÃO E DIFERENÇA ENTRE VETORES" ); textcolor ( LIGHTBLUE ); gotoxy ( 25, 5 ); printf ( "Abaixo os dois vetores preenchidos" ); textcolor ( LIGHTBLUE ); gotoxy ( 29, 7 ); printf ( "Vetor A " ); textcolor ( LIGHTRED ); gotoxy ( 29, 9 ); for ( i = 0; i < tam; i++ ) { printf ( " %d ", Vetor [ i ] ); } getche ( ); textcolor ( LIGHTBLUE ); gotoxy ( 29, 11 ); printf ( "Vetor B " ); textcolor ( LIGHTRED ); gotoxy ( 29, 13 ); for ( j = 0; j < tam; j++ ) { printf ( " %d ", Vet_or [ j ] ); Vet_o_r [ a ] = Vet_or [ j ]; a++; } getche ( ); i = 0; aux = 0; auxin = 0; for ( i = 0; i < tam; i++ ) { for ( j = 0; j < tam; j++ ) { if ( Vetor [ i ] != Vet_or [ j ] ) { auxin++; } } if ( auxin == tam ) { Ve_t [ aux ] = Vetor [ i ]; } else { Ve_t [ aux ] = 0; } aux++; auxin = 0; } textcolor ( LIGHTBLUE ); gotoxy ( 20, 15 ); printf ( "Abaixo, a diferença entre os dois vetores " ); textcolor ( LIGHTRED ); gotoxy ( 29, 17 ); for ( i = 0; i < tam; i++ ) { if ( Ve_t [ i ] != 0 ) { printf ( " %i ", Ve_t [ i ] ); } } getche ( ); for ( i = 0; i < tam; i++ ) { Vet [ i ] = Vetor [ i ]; Vet [ i + 5 ] = Vet_or [ i ]; } for ( i = 0; i <= V; i++ ) { vezes = 1; j = i + 1; while ( j <= V ) if ( Vet [ j ] != Vet [ i ] ) j++; else { vezes++; V--; Vet [ j ] = Vet [ V + 1 ]; } } for ( i = 0; i <= V; i++ ) { temp = i; aux = Vet [ i ]; for ( j = ( i + 1 ); j <= V; j++ ) if ( Vet [ j ] <= aux ) { temp = j; aux = Vet [ temp ]; Vet [ temp ] = Vet [ i ]; Vet [ i ] = aux; } } textcolor ( LIGHTBLUE ); gotoxy ( 20, 19 ); printf ( "Abaixo, a união dos dois vetores já ordenados" ); textcolor ( LIGHTRED ); gotoxy ( 16, 21 ); for ( i = 0; i <= V; i++ ) printf ( " %d ", Vet [ i ] ); textcolor ( BLACK ); gotoxy ( 31, 23 ); printf ( "PRESSIONE QUALQUER TECLA " ); getche ( ); clrscr ( ); system ( "Color 10" ); got_color ( 2, 25, 3, 79, 2, 15 ); textcolor ( LIGHTRED ); gotoxy ( 19, 3 ); printf ( "INTERSECÇÃO UNIÃO E DIFERENÇA ENTRE VETORES" ); textcolor ( LIGHTBLUE ); gotoxy ( 25, 5 ); printf ( "Abaixo os dois vetores preenchidos" ); textcolor ( LIGHTBLUE ); gotoxy ( 29, 7 ); printf ( "Vetor A " ); textcolor ( LIGHTRED ); gotoxy ( 29, 9 ); for ( i = 0; i < tam; i++ ) { printf ( " %d ", Vetor [ i ] ); } getche ( ); textcolor ( LIGHTBLUE ); gotoxy ( 29, 11 ); printf ( "Vetor B " ); textcolor ( LIGHTRED ); gotoxy ( 29, 13 ); for ( a = 0; a < tam; a++ ) { printf ( " %d ", Vet_o_r [ a ] ); } getche ( ); for ( i = 0; i < tam; i++ ) { for ( j = 0; j < tam; j++ ) { if ( Vetor [ i ] == Vet_o_r [ j ] ) { Vet [ h ] = Vet_o_r [ j ]; h++; } } } textcolor ( LIGHTBLUE ); gotoxy ( 23, 15 ); printf ( "Números comuns entre os dois Vetores " ); textcolor ( LIGHTRED ); gotoxy ( 29, 17 ); k = h; if ( k == 0 ) { textcolor ( LIGHTGREEN ); printf ( " Vetores distintos" ); } for ( h = 0; h < k; h++ ) printf ( " %i ", Vet [ h ] ); /* textcolor ( LIGHTBLUE ); gotoxy ( 17, 19 ); printf ( "Por: " ); textcolor ( LIGHTMAGENTA ); printf ( "Samuel Lima" ); textcolor ( BLACK ); gotoxy ( 17, 20 ); printf ( "sa_sp10@hotmail.com" ); Sleep ( 1800 ); */ textcolor ( LIGHTRED ); gotoxy ( 36, 23 ); printf ( "MUITO OBRIGADO" ); getche ( ); exit ( 0 ); }
  3. Mesmo não sendo originalmente orientado a objetos, O C possui diversas bibliotecas gráficas criadas por terceiros com a finalidade de proporcionar, maior facilidade no aprendizado da linguagem. Todos devem entender que é praticamente impossível criar programas mais complexos para serem exibidos na tela do dos. Se o estudante de linguagem C não procurar meios de usar estas bibliotecas e ficar sempre preso na telinha preta, pode ter certeza que seus conhecimentos serão limitados, por não haver meios de progredir. Minha indicação é começar usando a conio, para formatações dos textos na saída do vídeo, e depois de um bom conhecimento, migrar para uma das várias bibliotecas gráficas disponível. O programa que apresento aqui, faz uso da biblioteca graphics.h, para utilização do mouse, cores e posicionamento na janela, esta biblioteca possui muitas outras funções mas para a criação do nosso menu não se fez necessário. Veja abaixo algumas imagens do programa em execução: Veja abaixo o código programa: #include <graphics.h> int menu_um; void imp_jan ( int x, int y, int lin, int col, int n ) { for ( int i = 0; i <= n; i++ ) { line ( x + i, y, x + i, y + lin ); line ( x + col + i, y, x + col + i, y + lin ); line ( x, y + i, x + col, y + i ); line ( x, y + i + lin, x + col + n, y + i + lin ); } } int main ( ); void menu_1 ( ) { clearviewport ( ); setcolor ( LIGHTGREEN ); imp_jan ( 1, 96 * 1 - 97, 383, 583, 20 ); settextstyle ( 0, 0, 13 ); settextstyle ( GOTHIC_FONT, 0, 2 ); setcolor ( 12 ); outtextxy ( 110, 40, "MENU CLICKES DO MOUSE"); settextstyle ( SIMPLEX_FONT, 0, 1 ); setcolor ( LIGHTBLUE ); outtextxy ( 130, 70, "BEM VINDO AO MENU 1"); getch ( ); closegraph ( ); main ( ); } void menu_2 ( ) { clearviewport ( ); setcolor ( LIGHTBLUE ); imp_jan ( 1, 96 * 1 - 97, 383, 583, 20 ); settextstyle ( 0, 0, 13 ); settextstyle ( GOTHIC_FONT, 0, 2 ); setcolor ( 12 ); outtextxy ( 110, 40, "MENU CLICKES DO MOUSE"); settextstyle ( SIMPLEX_FONT, 0, 1 ); setcolor ( LIGHTBLUE ); outtextxy ( 130, 70, "BEM VINDO AO MENU 2"); getch ( ); closegraph ( ); main ( ); } void menu_3 ( ) { clearviewport ( ); setcolor ( LIGHTRED ); imp_jan ( 1, 96 * 1 - 97, 383, 583, 20 ); settextstyle ( 0, 0, 13 ); settextstyle ( GOTHIC_FONT, 0, 2 ); setcolor ( 12 ); outtextxy ( 110, 40, "MENU CLICKES DO MOUSE"); settextstyle ( SIMPLEX_FONT, 0, 1 ); setcolor ( LIGHTBLUE ); outtextxy ( 130, 70, "BEM VINDO AO MENU 3"); getch ( ); closegraph ( ); main ( ); } void use_mouse ( ) { if ( ismouseclick ( WM_LBUTTONDOWN ) ) { int x_clicked, y_clicked; getmouseclick ( WM_LBUTTONDOWN, x_clicked, y_clicked ); if ( ( 90 <= x_clicked ) && ( x_clicked <= 120 ) ) { if ( ( 131 <= y_clicked ) && ( y_clicked <= 141 ) ) menu_um= 1; else if ( ( 161 <= y_clicked ) && ( y_clicked <= 181 ) ) menu_um = 2; else if ( ( 191 <= y_clicked ) && ( y_clicked <= 211 ) ) menu_um = 3; else if ( ( 221 <= y_clicked ) && ( y_clicked <= 241 ) ) menu_um = 4; } else menu_um = -1; } if ( ismouseclick ( WM_LBUTTONDBLCLK ) ) { clearmouseclick ( WM_LBUTTONDBLCLK ); if ( menu_um == 1 ) { menu_1 ( ); } if ( menu_um == 2 ) { menu_2 ( ); } if ( menu_um == 3 ) { menu_3 ( ); } if ( menu_um == 4 ) { clearviewport ( ); setcolor ( 0 ); imp_jan ( 1, 96 * 1 - 97, 383, 583, 20 ); settextstyle ( 0, 0, 13 ); settextstyle ( GOTHIC_FONT, 0, 2 ); setcolor ( 12 ); outtextxy ( 110, 40, "MENU CLICKES DO MOUSE"); settextstyle ( SIMPLEX_FONT, 0, 1 ); setcolor ( BROWN ); outtextxy ( 130, 280, "Por: " ); setcolor ( BLACK ); outtextxy ( 180, 280, "Samuel Lima" ); setcolor ( BLUE ); outtextxy ( 130, 300, "sa_sp10@hotmail.com" ); setcolor ( LIGHTRED ); outtextxy ( 200, 350, "MUITO OBRIGADO" ); getch ( ); exit ( 1 ); } } } void menu_principal ( ) { clearviewport ( ); setcolor ( GREEN ); imp_jan ( 1, 96 * 1 - 97, 383, 583, 20 ); settextstyle ( 0, 0, 13 ); settextstyle ( GOTHIC_FONT, 0, 2 ); setcolor ( 12 ); outtextxy ( 110, 40, "MENU CLICKES DO MOUSE"); settextstyle ( SIMPLEX_FONT, 0, 2 ); setcolor ( LIGHTBLUE ); outtextxy ( 130, 70, "Escolha uma opção abaixo"); settextstyle ( 0, 0, 13 ); setcolor ( LIGHTMAGENTA ); outtextxy ( 100, 131, "1 - " ); setcolor ( LIGHTBLUE ); outtextxy ( 150, 131, "Menu 1" ); setcolor ( LIGHTMAGENTA ); outtextxy ( 100, 161, "2 - " ); setcolor ( LIGHTBLUE ); outtextxy ( 150, 161, "Menu 2" ); setcolor ( LIGHTMAGENTA ); outtextxy ( 100, 191, "3 - " ); setcolor ( LIGHTBLUE ); outtextxy ( 150, 191, "Menu 3" ); setcolor ( LIGHTMAGENTA ); outtextxy ( 100, 221, "4 - " ); setcolor ( LIGHTBLUE ); outtextxy ( 150, 221, "Sair" ); while ( 1 ) { if ( !kbhit ( ) ) use_mouse ( ); } } int main ( ) { initwindow ( 603, 403, "MENU CLICKES DO MOUSE"); setbkcolor ( WHITE ); menu_principal ( ); closegraph ( ); }
  4. Tente esta constante: FROM_LEFT_1ST_BUTTON_PRESSED //Para pressionar o botão esquerdo do mouse Tente esta constante: RIGHTMOST_BUTTON_PRESSED //Para pressionar o botão direito do mouse Abra a biblioteca wincon.h, nesta biblioteca estão declarado estas opções e muitas outras. Ela é chamada pela windows.h, então você não precisa incluí-la. Só lembrando que você pode usar o mouse e todos os comandos dele no (CMD). Não vou me empenhar nisto agora porque não tenho tempo muita coisa pra fazer por aqui. Mas se ainda não conseguir, vou criar um post usando menu com uso de um único click.
  5. Para criação de jogos, cronômetros, relógios digitais, temporizadores, ou qualquer programa onde se necessite de um contador digital, apresento-lhes este excelente contador ascendente e descendente infinito e com retorno. Este ótimo programa ainda conta com um botão de duas funções, programado para pausar e continuar o contador em pleno funcionamento, modificando a cor do botão, dando a ideia de um botão apagado, possui ainda, um placar digital colocado no canto superior direito para indicar uma volta completa, com isto, a cada subida e descida ele marca no placar o número dos ciclos feitos, e isto segue infinitamente, salvo se o usuário fechar o programa. Bons programadores de java, e que já possuem bons conhecimentos em JavaFX, tem plena liberdade de fazerem modificações neste projeto a fim de que se enquadre as suas pretensões, mas não se esqueçam dos créditos ao autor do projeto que sou eu mesmo. Veja abaixo uma imagem do programa em execução: Veja abaixo um vídeo com o programa funcionando: Veja abaixo o código do programa: import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.stage.Stage; import javafx.scene.paint.Color; import javafx.scene.layout.Pane; import javafx.scene.shape.Circle; import javafx.scene.text.Font; import javafx.scene.text.FontPosture; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; import javafx.event.ActionEvent; import javafx.animation.KeyFrame; import javafx.animation.Timeline; import javafx.event.EventHandler; import javafx.util.Duration; import javafx.animation.*; import javafx.scene.input.MouseEvent; public class PROJETO extends Application { private Timeline videoTick; int i = 0, k = 0, l = 1, load = 1000; Boolean y = false; Canvas canvas = new Canvas ( 620, 350 ); GraphicsContext ctx = canvas.getGraphicsContext2D ( ); Pane root = new Pane ( ); Scene scene = new Scene ( root, 620, 350,Color.BLACK ); Text t_2 = new Text ( ); Text t_3 = new Text ( ); Circle btn_1 = new Circle ( 150, 300, 20 ); //////////////////////////////////////////////////////////////////////////// public void Informe ( ) { t_2.setX ( 200 ); t_2.setY ( 290 ); t_2.setFill ( Color.WHITE ); t_2.setText ( "Por: Samuel Lima\n" + "xxxxx@xxxxxx.com\n" +"\t\tMUITO OBRIGADO"); //Colocando efeito na fonte com css t_2.setStyle ( "-fx-font-style: italic;" + "-fx-font-size: 15px;" + "-fx-font-weight: bold;" + " -fx-effect: innershadow( three-pass-box ," + " rgba(0,0,0,0.7) , 6, 0.0 , 0 , 4 );"); } // ///////////////////////////////////////////////////////////////////////// public void button_person_1 ( ) { EventHandler < MouseEvent > eventHandler_1 = new EventHandler < MouseEvent > ( ) { @Override public void handle ( MouseEvent e ) { if ( i == 0 ) { videoTick.pause ( ); System.out.println ( "Pausado" ); btn_1.setFill ( Color.rgb ( 29, 111, 0 ) ); i++; } else { videoTick.play ( ); System.out.println ( "Ligado" ); btn_1.setFill ( Color.rgb ( 0, 255, 0 ) ); i = 0; } } }; btn_1.setFill ( Color.rgb ( 0, 255, 0 ) ); btn_1.addEventFilter ( MouseEvent.MOUSE_CLICKED, eventHandler_1 ); } // ///////////////////////////////////////////////////////////////////////// //Método usado como clock criado por mim public int Sleep ( int x ) { Duration duration = Duration.millis ( x ); videoTick = new Timeline ( new KeyFrame ( duration, new EventHandler < ActionEvent > ( ) { public void handle ( ActionEvent actionEvent ) { //Usando fonte em italic ctx.setFont ( Font.font ( "alarm clock", FontWeight.NORMAL, 150 ) ); //Coluna, linha, comprimento, altura ctx.clearRect ( 50, 70, 1000, 300 ); if ( k < 10 ) { ctx.setStroke ( Color.LIME ); ctx.setLineWidth ( 4.0 ); ctx.setFill ( Color.LIME ); ctx.fillText ( "0", 270, 230 ); ctx.strokeText ( "0", 270, 230 ); ctx.setStroke ( Color.LIME ); ctx.setLineWidth ( 4.0 ); ctx.setFill ( Color.LIME ); ctx.fillText ( " " + k, 270, 230 ); ctx.strokeText ( " " + k, 270, 230 ); } if ( k > 9 ) { ctx.setStroke ( Color.LIME ); ctx.setLineWidth ( 4.0 ); ctx.setFill ( Color.LIME ); ctx.fillText ( " " + k, 180, 230 ); ctx.strokeText ( " " + k, 180, 230 ); } if ( k >= 0 && y == false ) { k++; } if ( y == true ) { k--; if ( k == 0 ) { y = false; l++; } } if ( y == false && k == 21 ) { k = 19; y = true; } if ( y == true ) { t_3.setFont ( Font.font ( "alarm clock", FontWeight.NORMAL, 50 ) ); t_3.setX ( 480 ); t_3.setY ( 100 ); t_3.setFill ( Color.RED ); t_3.setText ( " " + l ); } } } ) ); videoTick.setCycleCount ( Animation.INDEFINITE ); videoTick.playFromStart ( ); return k; } // ///////////////////////////////////////////////////////////////////////// public void start ( Stage stage ) { stage.setTitle ( "JAVAFX - CONTADOR ASCENDENTE E DESCENDENTE" ); //Usando fonte em italic ctx.setFont ( Font.font ( "Helvetica", FontWeight.BOLD, FontPosture.ITALIC, 22 ) ); //Criando moldura em css root.setStyle ( "-fx-padding: 5;" + "-fx-border-style: solid inside;" + "-fx-border-width: 10;" + "-fx-border-insets: 5;" + "-fx-border-radius: 5;" + "-fx-border-color: yellow;"); ctx.setFill ( Color.RED ); ctx.fillText ( "JAVAFX - CONTADOR ASCENDENTE E DESCENDENTE", 36, 50 ); button_person_1 ( ); Sleep ( load ); Informe ( ); root.getChildren ( ).addAll ( canvas, t_2, t_3, btn_1 ); stage.setScene ( scene ); stage.show ( ); } // ///////////////////////////////////////////////////////////////////////// public static void main ( String [ ] args ) { Application.launch ( args ); } }
  6. Esta tabuada criada em linguagem C, usa como saída uma janela gráfica da biblioteca graphics.h. Não há nada de complicado neste exemplo, na verdade só tive mais trabalho para fazer a impressão na tela. Com certeza alguns vão se assustar com o tamanho do código, e outros até dirão: Porque duas funções para criar a tabuada sendo que só uma bem arranjada já funcionaria? Tudo isto foi tomado como solução para uma boa impressão das saídas na tela. Então não se preocupem com estes montes de ifs cobrindo a função moveto(); isto foi necessário para posicionamento das saídas formatadas onde foram copiadas em matriz de char dentro da função sprintf(); Veja abaixo uma imagem do programa em execução: Veja abaixo o código do programa: #include <stdio.h> #include <graphics.h> #define tam 10 void imp_jan ( int x, int y, int lin, int col, int n ) { for ( int i = 0; i <= n; i++ ) { line ( x + i, y, x + i, y + lin ); line ( x + col + i, y, x + col + i, y + lin ); line ( x, y + i, x + col, y + i ); line ( x, y + i + lin, x + col + n, y + i + lin ); } } int Tabuada_1 ( int n, int num [ tam ] [ tam ] ) { char buf [ 50 ]; char buf_1 [ 50 ]; int a = 0, i; n = 0; while ( n < 5 ) { setcolor ( 14 ); n++; settextstyle ( DEFAULT_FONT, HORIZ_DIR, 0 ); setcolor ( 0 ); if ( n == 1 ) a = 60; if ( n == 2 ) a = 200; if ( n == 3 ) a = 340; if ( n == 4 ) a = 480; if ( n == 5 ) a = 620; for ( i = 1; i <= 10; i++ ) { if ( i == 1 ) moveto ( a, 70 ); if ( i == 2 ) moveto ( a, 90 ); if ( i == 3 ) moveto ( a, 110 ); if ( i == 4 ) moveto ( a, 130 ); if ( i == 5 ) moveto ( a, 150 ); if ( i == 6 ) moveto ( a, 170 ); if ( i == 7 ) moveto ( a, 190 ); if ( i == 8 ) moveto ( a, 210 ); if ( i == 9 ) moveto ( a, 230 ); if ( i == 10 ) moveto ( a, 250 ); sprintf ( buf, "%d x %d = ", n, i ); setcolor ( 9 ); outtext ( buf ); sprintf ( buf_1, "%d", num [ n ] [ i ] ); setcolor ( 15 ); outtext ( buf_1 ); Sleep ( 80 ); } } return 0; } int Tabuada_2 ( int n, int num [ tam ] [ tam ] ) { char buf [ 50 ]; char buf_1 [ 50 ]; int a = 0, i; n = 5; while ( n < 10 ) { setcolor ( 14 ); n++; settextstyle ( DEFAULT_FONT, HORIZ_DIR, 0 ); if ( n == 6 ) a = 60; if ( n == 7 ) a = 200; if ( n == 8 ) a = 340; if ( n == 9 ) a = 480; if ( n == 10 ) a = 620; for ( i = 1; i <= 10; i++ ) { if ( i == 1 ) moveto ( a, 290 ); if ( i == 2 ) moveto ( a, 310 ); if ( i == 3 ) moveto ( a, 330 ); if ( i == 4 ) moveto ( a, 350 ); if ( i == 5 ) moveto ( a, 370 ); if ( i == 6 ) moveto ( a, 390 ); if ( i == 7 ) moveto ( a, 410 ); if ( i == 8 ) moveto ( a, 430 ); if ( i == 9 ) moveto ( a, 450 ); if ( i == 10 ) moveto ( a, 470 ); sprintf ( buf, "%d x %d = ", n, i ); setcolor ( 9 ); outtext ( buf ); sprintf ( buf_1, "%d", num [ n ] [ i ] ); setcolor ( 15 ); outtext ( buf_1 ); Sleep ( 80 ); } if ( n == 10 ) { settextstyle ( TRIPLEX_FONT, 0, 2 ); setcolor ( 10 ); outtextxy ( 260, 510, "MUITO OBRIGADO" ); getch ( ); exit ( 0 ); } } return 0; } int main ( ) { int i_ = 1; int n, i, num [ tam ] [ tam ]; for ( n = 1; n <= tam; n++ ) { for ( i = 1; i <= tam; i++ ) { num [ n ] [ i ] = ( n * i ); } } initwindow ( 780, 563, "TABUADA EM C" ); setcolor ( 14 ); imp_jan ( 1, 96 * i_ - 97, 545, 760, 20 ); settextstyle ( TRIPLEX_FONT, HORIZ_DIR, 2 ); setcolor ( 12 ); outtextxy ( 260, 40, "TABUADA EM C" ); Tabuada_1 ( n, num ); Tabuada_2 ( n, num ); closegraph ( ); return 0; }
  7. Fico surpreso que você ainda não sabia disto vangodp..Se eu soubesse pelo menos a metade do que você sabe em programação, estava muito satisfeito.Obrigado pelo comentário e forte abraço!! Depois posto este faz uso do mouse no (cmd) também.
  8. Criamos um caminho (path), e traçamos rotas dentro deste caminho usando Moveto para o ponto de partida, e LineTo para as outras rotas, de sorte que as quatro rotas formam um quadrado, e nestas estradas invisível, se move a nossa esfera 3D. O início dos ciclos depende do acionamento de um botão (Início), mas podemos pará-lo a qualquer momento clicando no botão (Pausa), porém se o botão pausa, não for acionado, o programa encerra as operações automaticamente no fim de 60 segundos, e posiciona a esfera no ponto de partida. Veja abaixo um vídeo com o programa funcionando: Veja abaixo o código do programa: import javafx.animation.PathTransition; import javafx.application.Application; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.scene.control.Button; import javafx.scene.input.MouseEvent; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import javafx.scene.shape.LineTo; import javafx.scene.shape.MoveTo; import javafx.scene.shape.Path; import javafx.scene.text.Font; import javafx.scene.text.FontPosture; import javafx.scene.text.FontWeight; import javafx.stage.Stage; import javafx.util.Duration; import javafx.scene.paint.PhongMaterial; import javafx.scene.shape.Sphere; public class PROJETO extends Application { // Criando o objecto Pane Pane root = new Pane ( ); // Criando o objecto scene Scene scene = new Scene ( root, 600, 310 ); Canvas canvas = new Canvas ( 600, 310 ); GraphicsContext ctx = canvas.getGraphicsContext2D ( ); // Criando um caminho (Path) Path path = new Path ( ); // Movendo-se para o ponto de partida MoveTo moveTo = new MoveTo ( 10, 160 ); // Criando a primeira linha LineTo linha_1 = new LineTo ( 460, 160 ); // Criando a segunda linha LineTo linha_2 = new LineTo ( 460, 10 ); // Criando a terceira linha LineTo linha_3 = new LineTo ( 10, 10 ); Button botao_Inicio = new Button ( "Inicio" ); Button botao_Pausa = new Button ( "Pausa" ); // Desenhando uma esfera final Sphere esfera = new Sphere ( 40 ); // Criando o material da esfera PhongMaterial cria_material = new PhongMaterial ( ); // ///////////////////////////////////////////////////////////////////////// public void Informe ( ) { ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) ); ctx.setFill ( Color.RED ); ctx.fillText ( "Por: ", 200, 220 ); ctx.setFill ( Color.BLUE ); ctx.fillText ( "Samuel Lima", 240, 220 ); ctx.setFill ( Color.BLACK ); ctx.fillText ( "sa_sp10@hotmail.com", 200, 235 ); ctx.setFill ( Color.RED ); ctx.fillText ( " MUITO OBRIGADO", 250, 290 ); } // ///////////////////////////////////////////////////////////////////////// public void stop_And_PlayButton ( ) { cria_material.setDiffuseColor ( Color.DARKBLUE ); cria_material.setSpecularColor ( Color.BLUE ); // Posiciona a esfera na horizontal e vertical esfera.setLayoutX ( 60 ); esfera.setLayoutY ( 80 ); esfera.setMaterial ( cria_material ); // Criando a transição do path PathTransition pathTransition = new PathTransition ( ); // Definindo a duração da transição pathTransition.setDuration ( Duration.millis ( 2000 ) ); // Configurando o nó para a transição pathTransition.setNode ( esfera ); // Configurando o caminho para a transição pathTransition.setPath ( path ); // Configurando a contagem de ciclos para a transição pathTransition.setCycleCount ( 60 ); // Configurando o valor de reversão automática para true pathTransition.setAutoReverse ( false ); botao_Inicio.setOnMouseClicked ( ( new EventHandler < MouseEvent > ( ) { public void handle ( MouseEvent event ) { System.out.println ( "Movimentando!!!" ); pathTransition.play ( ); } } ) ); botao_Inicio.setStyle ( "-fx-text-fill: black;" + "-fx-background-color: #DFB951;" + "-fx-border-radius: 20;" + "-fx-background-radius: 20;" + "-fx-padding: 5;" ); botao_Pausa.setStyle ( "-fx-text-fill: black;" + "-fx-background-color: #DFB951;" + "-fx-border-radius: 20;" + "-fx-background-radius: 20;" + "-fx-padding: 5;" ); botao_Inicio.setLayoutX ( 330 ); botao_Inicio.setLayoutY ( 250 ); botao_Pausa.setLayoutX ( 250 ); botao_Pausa.setLayoutY ( 250 ); botao_Pausa.setOnMouseClicked ( ( new EventHandler < MouseEvent > ( ) { public void handle ( MouseEvent event ) { System.out.println ( "Parado!!!" ); pathTransition.stop ( ); } } ) ); } // ///////////////////////////////////////////////////////////////////////// @Override public void start ( Stage stage ) { // Configurando um título para o stage stage.setTitle ( "JAVAFX - DESENHANDO E MOVENDO OBJETOS 3D" ); //Criando uma moldura retangular em canvas ctx.setStroke ( Color.rgb ( 96, 255, 0 ) ); ctx.setLineWidth ( 10.0 ); ctx.strokeRoundRect ( 10, 10, 580, 290, 10, 10 ); ctx.setFont ( Font.font ( "Helvetica", FontWeight.BOLD, FontPosture.ITALIC, 15 ) ); ctx.setFill ( Color.RED ); ctx.fillText ( "JAVAFX - DESENHANDO E MOVENDO OBJETOS 3D", 125, 40 ); Informe ( ); stop_And_PlayButton ( ); // Adicionando o scene para o stage stage.setScene ( scene ); // Adicionando todos os elementos ao path path.getElements ( ).addAll ( moveTo, linha_1, linha_2, linha_3 ); root.getChildren ( ).addAll ( esfera, canvas, botao_Inicio , botao_Pausa ); //Exibindo todo o conteúdo do stage stage.show ( ); } // ///////////////////////////////////////////////////////////////////////// public static void main ( String args [ ] ) { launch ( args ); } }
  9. Para exibir palavras com acentuação: Se estiver usando o windows siga estes passos abaixo: Abra o regedit como Administrador. Clique no menu editar e em localizar. Digite na caixa de pesquisa "OEMCP". O valor do OEMCP está em 850, se estiver, altere para 1252. Clique em ok, e reinicie o computador. No prompt de comando acesse suas propriedades, e escolha a fonte Lucida Console e clique ok. Coloque o código aqui, que rapidinho a galera te ajuda, tem bons programadores de C/C++ por aqui, pronto para ajudar.
  10. Depois que criei o relógio digital em java, que foi um sucesso, pensei comigo mesmo: ficaria ainda melhor se eu colocasse um alarme para despertar, a ideia é muito boa, más o tempo é muito curto. Finalmente, depois de alguns dias consegui fazer o que queria, abri o eclipse novamente, e comecei a programar, com a missão de acoplar um alarme no relógio digital, e no final ficou muito bom, mas ainda tinha um problema, estou usando o console do windows como saída, e quero apresentar as fontes coloridas. Meus amigos vocês não sabem o trabalho que me deu criar a classe J, esta classe foi criada usando a JNI, bons programadores de java sabe muito bem o que é isto, então já fiquem sabendo que vocès não conseguiram comppilar este código, a menos que os que realmente estiverem interessados, me peçam a classe J para testar o programa. Acompanhe seu funcionamento no vídeo: Veja abaixo o código do programa: import java.awt.Toolkit; import java.util.Scanner; public class PROJETO { public static void Inform ( ) { J jht = new J ( ); // ////////////////////////////////////////////////////////////////// // Parâmetros da função printfx // Coord x, Coord y, String, cor de frente, cor de fundo, // Comprimento, Tempo, frequência, duração. jht.printfx ( 22, 18, "Por: ", 12, 15, 5, 0, 0, 0 ); jht.printfx ( 27, 18, "Samuel Lima", 9, 15, 11, 0, 0, 0 ); jht.printfx ( 22, 19, "sa_sp10@hotmail.com", 0, 15, 20, 0, 0, 0 ); jht.printfx ( 28, 22, "MUITO OBRIGADO", 12, 15, 15, 0, 0, 0 ); } // /////////////////////////////////////////////////////////////////////// // Esta função não permite a entrada de caracteres public static int relogio ( char c ) { int i; for ( i = 0; i < ( c ); i++ ) { if ( c < '0' || c > '9' ) return 0; } return 1; } // /////////////////////////////////////////////////////////////////////// static String str_1; static String str_2; static String str_3; static String str_4; static String str_5; static int hora, min, seg, hr = 0, mn = 0, sg = 0; static int hralm, minalm, adc; // /////////////////////////////////////////////////////////////////////// public static boolean acerta_hora ( ) { if ( hora > 23 ) { return true; } return false; } public static boolean acerta_min ( ) { if ( min > 59 ) { return true; } return false; } public static boolean acerta_seg ( ) { if ( seg > 59 ) { return true; } return false; } // /////////////////////////////////////////////////////////////////////// // Para o alarme do relógio digital public static boolean acerta_hora_alm ( ) { if ( hralm > 23 ) { return true; } return false; } public static boolean acerta_min_alm ( ) { if ( minalm > 59 ) { return true; } return false; } // /////////////////////////////////////////////////////////////////////// public static void main ( String [ ] args ) throws Exception { J jht = new J ( ); int i; jht.Moldura ( 1, 24, 2, 70, 15 ); // Este laço repetidor força a repetição // em caso de erros nas entradas de dados do { jht.cls ( ); jht.poscolor ( 20, 2, 12, 15 ); System.out.println ( "RELÓGIO DIGITAL COM ALARME EM JAVA" ); jht.poscolor ( 20, 4, 9, 15 ); System.out.print ( "Hora atual => " ); jht.textcolor ( 12 ); @SuppressWarnings ( "resource" ) Scanner hms = new Scanner ( System.in ); str_1 = hms.nextLine ( ); if ( relogio ( str_1.charAt ( 0 ) ) == 0 ) { Toolkit.getDefaultToolkit ( ).beep ( ); // Apaga o caractere digitado jht.Apaga ( 4, 5, 34, 40, 15 ); continue; } // Conversão de String para inteiro hora = Integer.parseInt ( str_1 ); if ( acerta_hora ( ) ) { Toolkit.getDefaultToolkit ( ).beep ( ); // Apaga o número inválido digitado jht.Apaga ( 4, 5, 34, 40, 15 ); continue; } // ///////////////////////////////////////////// jht.poscolor ( 20, 5, 9, 15 ); System.out.print ( "Minutos => " ); jht.textcolor ( 12 ); str_2 = hms.nextLine ( ); jht.textcolor ( 12 ); if ( relogio ( str_2.charAt ( 0 ) ) == 0 ) { Toolkit.getDefaultToolkit ( ).beep ( ); continue; } // Conversão de String para inteiro min = Integer.parseInt ( str_2 ); if ( acerta_min ( ) ) { Toolkit.getDefaultToolkit ( ).beep ( ); continue; } // ////////////////////////////////////////////// jht.poscolor ( 20, 6, 9, 15 ); System.out.print ( "Segundos => " ); jht.textcolor ( 12 ); str_3 = hms.nextLine ( ); jht.textcolor ( 12 ); if ( relogio ( str_3.charAt ( 0 ) ) == 0 ) { Toolkit.getDefaultToolkit ( ).beep ( ); continue; } // Conversão de String para inteiro seg = Integer.parseInt ( str_3 ); if ( acerta_seg ( ) ) { Toolkit.getDefaultToolkit ( ).beep ( ); continue; } // ///////////////////////////////////////////// //Abaixo o bloco de código do alarme // Este laço repetidor força a repetição em caso // de erros nas entradas de dados do alarme do { jht.cls ( ); jht.poscolor ( 20, 2, 12, 15 ); System.out.println ( "ALARME DO RELÓGIO DIGITAL EM JAVA" ); jht.poscolor ( 20, 4, 9, 15 ); System.out.print ( "Hora programada => " ); jht.textcolor ( 12 ); str_4 = hms.nextLine ( ); if ( relogio ( str_4.charAt ( 0 ) ) == 0 ) { Toolkit.getDefaultToolkit ( ).beep ( ); // Apaga o caractere digitado jht.Apaga ( 4, 5, 39, 49, 15 ); continue; } // Conversão de String para inteiro hralm = Integer.parseInt ( str_4 ); if ( acerta_hora_alm ( ) ) { Toolkit.getDefaultToolkit ( ).beep ( ); // Apaga o número inválido digitado jht.Apaga ( 4, 5, 39, 49, 15 ); continue; } jht.poscolor ( 20, 5, 9, 15 ); System.out.print ( "Minutos programado => " ); jht.textcolor ( 12 ); str_5 = hms.nextLine ( ); jht.textcolor ( 12 ); if ( relogio ( str_5.charAt ( 0 ) ) == 0 ) { Toolkit.getDefaultToolkit ( ).beep ( ); // Apaga o caractere digitado jht.Apaga ( 4, 5, 42, 52, 15 ); continue; } // Conversão de String para inteiro minalm = Integer.parseInt ( str_5 ); if ( acerta_min_alm ( ) ) { Toolkit.getDefaultToolkit ( ).beep ( ); // Apaga o número inválido digitado jht.Apaga ( 4, 5, 42, 52, 15 ); continue; } adc = hralm + minalm; hr = hora; mn = min; sg = seg; break; } while ( true ); // /////////////////////////////////////////////////////////////// /* * Este laço repetidor funciona como contador Vai incrementando até * que atinge o número máximo em cada operação. */ while ( true ) { jht.Sleep ( 1000 ); sg++; if ( sg > 59 ) { sg = 0; mn++; } if ( mn > 59 ) { mn = 0; hr++; } if ( hr > 23 ) { hr = 0; } // /////////////////////////////////////////////////////////// //Abaixo a impressão do alarme em funcionamento jht.poscolor ( 20, 12, 9, 15 ); System.out.printf ( " H M " ); jht.poscolor ( 19, 14, 12, 15 ); System.out.printf ( " %d : %d", hr, mn ); if ( adc > 1 ) { jht.Apaga ( 10, 11, 19, 52, 15 ); jht.poscolor ( 20, 10, 9, 15 ); System.out.printf ( "ALARME EMITINDO" ); if ( adc == hr + mn ) { for ( i = 0; i < 10; i++ ) { //Som do alarme jht.Beep ( 1000, 1000 ); } //Quamdo o alarme termina de despertar //As variáveis abaixo são resetadas adc = 0; hralm = 0; minalm = 0; } } // ///////////////////////////////////////////////////////////// //Abaixo a impressão do relógio em funcionamento jht.cls ( ); jht.poscolor ( 20, 2, 12, 15 ); System.out.println ( "RELÓGIO DIGITAL COM ALARME EM JAVA" ); jht.poscolor ( 20, 4, 9, 15 ); System.out.print ( "Horas, minutos e segundos" ); jht.poscolor ( 20, 6, 9, 15 ); System.out.printf ( "H M S" ); jht.poscolor ( 19, 8, 12, 15 ); System.out.printf ( " %d : %d %d ", hr, mn, sg ); // ///////////////////////////////////////////////////////////// //Mostra a mensagem sobre o alarme enquanto ele não desperta //Isto é, enquanto as variáveis "hralm, minalm" estão carregadas if ( hralm > 0 && minalm > 0 ){ jht.poscolor ( 20, 10, 9, 15 ); System.out.printf ( "O alarme despertará as" ); jht.poscolor ( 19, 12, 12, 15 ); System.out.printf ( " %d : %d", hralm, minalm ); } // ///////////////////////////////////////////////////////////// Inform ( ); } } while ( true ); } } Pena que aqui no forum as síntaxs ficam sem cores, mas se quiserem ver o código com syntax hilight Cliquem no link abaixo: http://samuel-javaexamples.blogspot.com/2017/09/relogio-digital-com-alarme-em-java.html
  11. Já que criamos um didático gerador de cpfs válidos, Acho muito justo também criarmos um verificador. Isto é muito correto, precisamos saber se Nossos cpfs criados são válidos, por isto ser tão justo criei este programa que faz validação de um cpf inserido Em sua entrada de dados. Acompanhe nas imagens primeiro: Veja abaixo o código do programa: #include <stdio.h> #include <conio.h> int cpf; int Restr_caracteres ( char num [ 4 ] ) { int i, a = 0; a = strlen ( num ); for ( i = 0; i < a; i++ ) { if ( num [ i ] < '0' || num [ i ] > '9' ) return 0; } return 1; } void Verifica_Cpf ( ) { textcolor ( LIGHTRED ); gotoxy ( 23, 3 ); printf ( "VERIFICADOR DE CPF" ); textcolor ( LIGHTBLUE ); gotoxy ( 15, 5 ); printf ( "Digite um cpf válido => " ); if ( ( cpf == 11 ) ) { textcolor ( LIGHTRED ); printf ( "%d", cpf ); } } void Pausa ( ) { Sleep ( 400 ); textcolor ( LIGHTRED ); gotoxy ( 20, 22 ); printf ( "PRESSIONE QUALQUER TECLA" ); getche ( ); } void Janela ( ) { int n, c; c = 0; for ( n = 2; n <= 24; n++ ) for ( c = 3; c <= 63; c++ ) { gotoxy ( c, n ); textbackground ( WHITE ); printf ( " " ); } } int main ( ) { system ( "title VERIFICADOR DE CPF" ); int Vet_cpf [ 12 ]; int Vet_cpf_2 [ 12 ]; int Vet_cpf_3 [ 12 ]; int val_cpf [ 10 ] = { 10, 9, 8, 7, 6, 5, 4, 3, 2 }; int val_cpf_2 [ 11 ] = { 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 }; char c_pf [ 20 ]; int erro = 0; do { int a = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, l = 0, o = 0, u = 0, cont = 0; do { Janela ( ); Verifica_Cpf ( ); if ( erro == 1 ) { Verifica_Cpf ( ); } textcolor ( LIGHTRED ); gets ( c_pf ); //////////////////////////////////////////////////////////////////// cont = 0; for ( i = 0; c_pf [ i ] != '\0'; i = i + 1 ) { if ( c_pf [ i ] ) cont = cont + 1; } //////////////////////////////////////////////////////////////////// if ( Restr_caracteres ( c_pf ) == 0 ) { textcolor ( LIGHTBLUE ); gotoxy ( 20, 7 ); printf ( "voce digitou ==> " ); textcolor ( LIGHTRED ); printf ( "%s", c_pf ); textcolor ( BLACK ); gotoxy ( 20, 9 ); printf ( "\aIsto não é um cpf válido !" ); Pausa ( ); erro = 1; continue; } if ( cont < 11 || cont > 11 ) { textcolor ( LIGHTBLUE ); gotoxy ( 20, 7 ); printf ( "\aO cpf só pode ter " ); textcolor ( LIGHTRED ); printf ( "11 " ); textcolor ( LIGHTBLUE ); printf ( "números " ); Pausa ( ); erro = 1; continue; } break; } while ( ( cont < 11 || cont > 11 ) ); //////////////////////////////////////////////////////////////////////// textcolor ( LIGHTBLUE ); gotoxy ( 15, 7 ); printf ( "Ao lado o cpf informado => " ); textcolor ( LIGHTRED ); a = 0; for ( i = 0; i < 12; i++ ) { if ( i == 3 ) printf ( "." ); if ( i == 6 ) printf ( "." ); if ( i == 9 ) printf ( "-" ); printf ( "%c", c_pf [ i ] ); } //Convertemos o vetor de char em inteiro while ( c_pf [ a ] != '\0' ) { Vet_cpf [ a ] = c_pf [ a ] - '0'; a++; } o = Vet_cpf [ 9 ]; u = Vet_cpf [ 10 ]; for ( i = 0; i < 9; i++ ) { Vet_cpf_2 [ i ] = Vet_cpf [ i ] * val_cpf [ i ]; e = e += Vet_cpf_2 [ i ]; } f = e % 11; g = 11 - f; if ( g > 9 ) g = 0; Vet_cpf [ 9 ] = g; for ( i = 0; i < 10; i++ ) { Vet_cpf_3 [ i ] = Vet_cpf [ i ] * val_cpf_2 [ i ]; h = h += Vet_cpf_3 [ i ]; } j = h % 11; l = 11 - j; if ( l > 9 ) l = 0; textcolor ( LIGHTRED ); gotoxy ( 15, 9 ); if ( g == o && l == u ) printf ( "O cpf é válido" ); else printf ( "O cpf não é válido" ); Pausa ( ); } while ( 1 ); }
  12. Como não tenho o codeblock por aqui, vou te passar um link de um vídeo no youtube, segue passo a passo que vai dar certo adicionado 0 minutos depois
  13. Qual é a IDE que você usa? se for o eclipse está mais fácil.
  14. Vou tentar te ajudar, qual IDE você usa?
  15. Desenhamos os dez dígitos de ( 0, 9 ) numa imagem usando mesmo o JavaFX e salvamos com o nome: "DígitosVermelhos.png" . Fizemos o mapeamento de cada dígito contido na imagem e desenhamos num ponto estratégico de nossa janela. Ora, isto foi uma sugestão de um membro deste grupo, que me informou que com apenas uma imagem seria possível fazer este programa, na verdade já fizemos este trabalho antes mas na hora de criar o programa: "JavaFX - dígitos imagens" , nem me passou na caneça de fazer assim. Agora o que mais me chamou a atenção foi o fato dele ter sido tão bem recebido pelos programadores, já está entre os quatros mais visualizados entre os mais de 320 posts que temos no nosso blog de java. Veja abaixo as imagens usadas pelo programa: Veja abaixo um vídeo do programa em execução: Veja abaixo o código do programa: import java.io.FileNotFoundException; import javafx.animation.Animation; import javafx.animation.KeyFrame; import javafx.animation.Timeline; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.scene.image.Image; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import javafx.stage.Stage; import javafx.scene.text.Font; import javafx.scene.text.FontPosture; import javafx.scene.text.FontWeight; import javafx.util.Duration; public class PROJETO extends Application { Canvas canvas = new Canvas ( 600, 310 ); GraphicsContext ctx = canvas.getGraphicsContext2D ( ); Pane root = new Pane ( ); Scene scene = new Scene ( root ); private Timeline videoTick; int k = 0, l = 0, load = 1000; Boolean y = false; Image imagem_1 = new Image ( "Image2.png" ); Image imagem_2 = new Image ( "DígitosVermelhos.png" ); // ///////////////////////////////////////////////////////////////////////// public void Informe ( ) { //Usando fonte em italic ctx.setFont ( Font.font ( "Helvetica", FontWeight.BOLD, FontPosture.ITALIC, 13 ) ); ctx.setFill ( Color.RED ); ctx.fillText ( "Por: ", 200, 250 ); ctx.setFill ( Color.BLUE ); ctx.fillText ( "Samuel Lima", 240, 250 ); ctx.setFill ( Color.BLACK ); ctx.fillText ( "sa_sp10@hotmail.com", 200, 265 ); ctx.setFill ( Color.RED ); ctx.fillText ( " MUITO OBRIGADO", 250, 290 ); } // ///////////////////////////////////////////////////////////////////////// public void FuncUnidade ( ) { /* Os quatro primeiros parâmetros são: Coluna e linha, largura e altura de onde pretende-se iniciar o desenhao. ============================================ Os quatro últimos parâmetros são: Os dois primeiros: Coluna e linha aonde se deseja aplicar o desenho da imagem Os dois últimos: Largura e altura da imagem a ser desenhada. */ if ( k == 1 ) //Zero da direita ctx.drawImage ( imagem_2, 40, 40, 130, 150, 310, 100, 130, 150 ); if ( k == 2 ) //Dígito 1 da direita ctx.drawImage ( imagem_2, 150, 40, 70, 150, 310, 100, 70, 160 ); if ( k == 3 ) //Dígito 2 da direita ctx.drawImage ( imagem_2, 220, 40, 130, 150, 310, 100, 130, 150 ); if ( k == 4 ) //Dígito 3 da direita ctx.drawImage ( imagem_2, 340, 40, 130, 150, 310, 100, 130, 150 ); if ( k == 5 ) //Dígito 4 da direita ctx.drawImage ( imagem_2, 460, 40, 130, 150, 310, 100, 130, 160 ); if ( k == 6 ) //Dígito 5 da direita ctx.drawImage ( imagem_2, 30, 180, 130, 150, 310, 90, 130, 150 ); if ( k == 7 ) //Dígito 6 da direita ctx.drawImage ( imagem_2, 140, 180, 130, 150, 310, 90, 130, 150 ); if ( k == 8 ) //Dígito 7 da direita ctx.drawImage ( imagem_2, 260, 180, 110, 150, 310, 90, 110, 150 ); if ( k == 9 ) //Dígito 8 da direita ctx.drawImage ( imagem_2, 360, 180, 130, 150, 310, 90, 130, 150 ); if ( k == 10 ) //Dígito 9 da direita ctx.drawImage ( imagem_2, 480, 180, 120, 150, 310, 90, 130, 150 ); } // ///////////////////////////////////////////////////////////////////////// //Método usado como clock criado por mim public int Sleep ( int x ) { Duration duration = Duration.millis ( x ); videoTick = new Timeline ( new KeyFrame ( duration, new EventHandler < ActionEvent > ( ) { public void handle ( ActionEvent actionEvent ) { k++; ctx.clearRect ( 20, 80, 560, 150 ); if ( k < 11 ) { //Zero da esquerda ctx.drawImage ( imagem_2, 40, 40, 130, 150, 210, 100, 130, 150 ); FuncUnidade ( ); } if ( k == 11 ) { k = 1; l++; } if ( l == 1 ) { ctx.clearRect ( 20, 80, 560, 150 ); //Dígito 1 da esquerda ctx.drawImage ( imagem_2, 150, 40, 70, 150, 210, 100, 70, 150 ); FuncUnidade ( ); } if ( l == 2 ) { ctx.clearRect ( 20, 80, 560, 150 ); //Dígito 2 da esquerda ctx.drawImage ( imagem_2, 220, 40, 130, 150, 210, 100, 130, 150 ); FuncUnidade ( ); } if ( l == 3 ) { //Zero da direita ctx.drawImage ( imagem_2, 40, 40, 130, 150, 310, 100, 130, 150 ); //Zero da esquerda ctx.drawImage ( imagem_2, 40, 40, 130, 150, 210, 100, 130, 150 ); l = 0; k = 1; } } } ) ); videoTick.setCycleCount ( Animation.INDEFINITE ); videoTick.playFromStart ( ); return k; } // ///////////////////////////////////////////////////////////////////////// public void start ( Stage stage ) throws FileNotFoundException { stage.setTitle ( "JAVAFX - DÍGITOS IMAGENS II" ); //Criando uma moldura retangular em canvas ctx.drawImage ( imagem_1, 20, 40, 580, 70, 30, 30, 580, 70 ); ctx.setStroke ( Color.BLUE ); ctx.setLineWidth ( 10.0 ); ctx.strokeRoundRect ( 10, 10, 580, 290, 10, 10 ); Sleep ( load ); Informe ( ); root.getChildren ( ).add ( canvas ); stage.setScene ( scene ); stage.show ( ); } // ///////////////////////////////////////////////////////////////////////// public static void main ( String [ ] args ) { Application.launch ( args ); } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×