Ir ao conteúdo

devair1010

Membro Pleno
  • Posts

    6.318
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @Buzina Lopes seu código está bom, mas esses dois loop for par e for impar não estão funcionando bem não, experimente esse seu código com algumas modificações : #include <stdlib.h> #include <stdio.h> /* Dados 2 vetores de inteiros, obtenha os pares do primeiro vetor, os impares do segundo e devolva os impares do segundo seguido dos pares do primeiro em um vetor único*/ int main(){ int n1,n2,n3; printf("Digite o tamanho do primeiro vetor:\n"); scanf("%i",&n1); printf("Digite o tamanho do segundo vetor:\n"); scanf("%i",&n2); n3=n1+n2; int v1[n1],v2[n2],i,vres[n3],j,k=0; printf("Digite os numeros do primeiro vetor:\n"); for(i=0;i<n1;i++){ scanf("%d",&v1[i]); } printf("Digite os numeros do segundo vetor:\n"); for(i=0;i<n2;i++){ scanf("%d",&v2[i]); } for(i=0;i<n2;i++){ if(v2[i]%2!=0){ vres[k]=v2[i]; printf("valor de vres impar --> %d\n",vres[k]); k++; } } for(j=0;j<n1;j++){ if(v1[j]%2==0){ vres[k]=v1[j]; printf("valor de vres par ----> %d\n",vres[k]); k++; } } return 0; }
  2. @Edward07 eu também estava com problemas no meu hd externo hitachi, eu não conseguia abrir os arquivos que estavam nele, mas vi em um site que poderia ser a usb que era 2.0 e que se ligasse na usb traseira que é 3.0 funcionaria, então foi isso que fiz, ligue o hd na usb traseira que é 3.0 e deu certo consegui pegar todos os arquivos.
  3. @Jhonatan Dias dei uma olhada no seu código mas ele está bem difícil para mim, então quando eu tiver tempo vou ver se consigo te ajudar .
  4. @carloseduardo2015 creio que não tenha como fazer essa configuração não, mas se você configurar uma tecla de atalho, de qualquer forma você terá que pressionar uma tecla qualquer, então pressione a tecla end mesmo .
  5. @Israel Cristino não anexou o arquivo não, jovem .
  6. @Gustavo Andretto ficou muito bom essa interface, vou estudar seu código para entender seu funcionamento, valeu pela ajuda, obrigado .
  7. @Bruno R. Dos Santos pelo jeito é problema na placa-mãe , pois esse problema começou depois que colocou ela, seria melhor você voltar lá no tecnico que instalou essa placa e pedir para ele verificar o que está acontecendo.
  8. @Bruno R. Dos Santos a fonte não consegue saber não, só os outros componentes.
  9. @Bruno R. Dos Santos se você souber os nomes dos seus componentes então post a sua configuração do seu pc, a marca e modelo de sua fonte, processador, memórias, placa-mãe, placa de vídeo, hd . se não souber então instale um programa que mostra o seu hardware como o aida 32 ou everest e use ele para ver seus componentes desse pc .
  10. @Gustavo Andretto valeu pela dica vou tentar fazer assim . adicionado 2 minutos depois @Xaws obrigado pela dica, olhei esse tutorial e parece bom mesmo, vou seguir estudando ele .
  11. @Jhonatan Dias melhor postar aqui no fórum mesmo, assim outras pessoas, com mais experiência que eu, também podem dar um olhada e assim ajudar .
  12. @Jhonatan Dias posta o restante do código para podermos ver como está e em que podemos ajudar, essa função que você postou é apenas para cadastrar, e na função para excluir é preciso encontrar o dado para excluir e então pega os dados que estão acima dele e puxa todos um posição para baixo e diminui um no contador de posições.
  13. @Gustavo Andretto valeu, funcionou bem, mas eu queria colocar um nome sem que aparecesse o desenho do botão , estou pesquisando e ainda não descobri como fazer isso.
  14. @Xaws seu código funcionou bem, tem como colocar um texto em cima do combobox para informar que ali é onde se coloca o login ? eu estava tentando usar um EDIT e sendmessage para pegar o login e funcionou mas não muito bem pois ele pega a primeira informação e se digitar outra coisa ele não pega, mas mantem a primeira. veja esse código que eu estava tentando fazer funcionar : #include <windows.h> #include <stdio.h> #include <conio.h> #include <iostream> //SERÁ OS BOTÕES,FUNCIONA SEM NOME TAMBÉM,USE COM NOMES ASSIM PRA EVITAR SE PERDER! char login[20] = "LOGIN_AQUI"; char login1[20]; char senha[20] = "SENHA_AQUI"; char senha1[20]; HWND bot1; HWND bot2; HWND bot3; HWND bot4; HWND bot5; HDC hdc; HINSTANCE g_inst; HWND EditNum1,EditTotal; char s_valor1[20] = "0"; char texto[100],buffer[10]; int tt; LRESULT CALLBACK WinProc(HWND window,UINT msg, WPARAM wParam,LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nShowCmd){ MSG message; HWND hwnd; WNDCLASSEX wc2; wc2.cbClsExtra=0; wc2.cbSize=sizeof(wc2); wc2.cbWndExtra=0; wc2.hbrBackground=(HBRUSH) COLOR_BACKGROUND; wc2.hCursor=LoadCursor(NULL,IDC_ARROW); wc2.hIcon=LoadIcon(NULL,IDI_APPLICATION); wc2.hIconSm=LoadIcon(NULL,IDI_APPLICATION); wc2.lpfnWndProc=WinProc; wc2.lpszClassName="Janela"; wc2.lpszMenuName=NULL; wc2.style=0; RegisterClassEx(&wc2); hwnd = CreateWindowEx(0,"Janela"," AQUI O NOME DA SUA JANELA",WS_OVERLAPPED|WS_SYSMENU,300,100,900,400,NULL,NULL,NULL,NULL);/*Janela*/ bot1 = CreateWindowEx(0,"BUTTON","Area do Usuario" ,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,140,40,120,20,hwnd,(HMENU)1,0,0); bot2 = CreateWindowEx(0,"BUTTON","Area do Contador" ,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,140,80,120,20,hwnd,(HMENU)2,0,0); bot3 = CreateWindowEx(0,"BUTTON","SAIR" ,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,140,120,120,20,hwnd,(HMENU)3,0,0); bot4 = CreateWindowEx(0,"BUTTON","login" ,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,140,160,120,20,hwnd,(HMENU)4,0,0); bot5 = CreateWindowEx(0,"BUTTON","YOUTUBE" ,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,140,200,120,20,hwnd,(HMENU)5,0,0); EditNum1 = CreateWindowEx ( WS_EX_CLIENTEDGE, "EDIT", "insira o login aqui", WS_VISIBLE|WS_CHILD|WS_BORDER|ES_RIGHT , 350, 30, 150, 30, hwnd, NULL, g_inst, NULL ); ShowWindow(hwnd,SW_SHOW); UpdateWindow(hwnd); while(GetMessage(&message,NULL,0,0)){ TranslateMessage(&message); DispatchMessage(&message); } return message.wParam; } LRESULT CALLBACK WinProc(HWND hwnd,UINT msg, WPARAM wParam,LPARAM lParam){ switch(msg){ case WM_CLOSE: PostQuitMessage(0); break; case WM_CREATE: //Processo de criação da janela case WM_COMMAND: //Mensagem enviada quando um controle é clicado: if ((HIWORD(wParam) == BN_CLICKED)){ SendMessage( (HWND) EditNum1, (UINT) EM_GETLINE, (WPARAM) 1, (LPARAM) &s_valor1 ); } switch(LOWORD(wParam)){ //Verifica parâmetro case 1: //Se for o botão system ("start www.google.com"); break; case 2: #include "c:/Dev-Cpp/area3.c" case 3: exit(0); case 4: // Esse é o case dos botões do login SendMessage( (HWND) EditNum1, (UINT) EM_GETLINE, (WPARAM)hwnd, (LPARAM) &s_valor1); strcpy(login1,s_valor1); if(strcmp(login1,login) == 0){ MessageBox(0,"LOGIN ACEITO","",0); } else{ MessageBox(0,"LOGIN REJEITADO","",0); } break; case 5: system ("start www.youtube.com"); break; } break; default: return DefWindowProc(hwnd,msg,wParam,lParam); } return 0; }
  15. @Helen Fernanda de Souza no visualg não tem como usar arquivos pois ele é apenas para aprendizado de lógica de programação. Esse algoritmo de conversão que você quer fazer pode ser feito com um programa mais sofisticado como o codeblocks que usa a linguagem c e c++, com ele você pode fazer essa conversão .
  16. @iury rodrigues strcpy simplesmente copia uma variável e coloca na outra variável , usei ela pois para copiar vetores ela costuma funcionar melhor.
  17. devair1010

    C: Erro em interface

    @Xaws mas como faço com esse include area2 ? o que coloco e onde coloco ?
  18. @iury rodrigues você precisa colocar em qual posição do vetor está inserindo os números e palavras, e o vetor de palavras vet_palavras e resul_palavras é preciso declarar a quantidade de palavras e o tamanho das palavras . Talvez você tenha colocado essas informações no seu código mas como na hora de postar você não usou o botão <> que está na barra de ferramentas da janela de postar o código ficou sem essas informações . veja seu código com algumas modificações : #include<string.h> #include<stdio.h> #include<conio.h> #include<ctype.h> #include<math.h> #include<stdlib.h> //fiz modificação nos loops e logicas e designer do codigo e nos problemas de logica e vetores //declarando todas as variaveis globais que serão usadas no programa. char vet_palavras[50][20],vet2[6],resul_palavras[70][20]; int encontrado=0,escolha,i,vet_mult[6],resul_mult,n,vet[5]; void mult_vet(void); void palavras(void); void posi_nu(void); //primeira função para multplicar um vetor de interos void mult_vet(void) { //for que ira receber os valores a serem multiplicados e seu numero multiplicador for(i=1;i<=5;i++){ printf("XXX insira o %d valor para ser anexado a %d posicao do vetor: XXX ",i,i); scanf("%d",&vet_mult[i]); } printf("XXX insira o valor que voce deseja multiplicar pelos numeros digitados anteriormente: XXX "); scanf("%d", &n); printf("\n\n"); printf("\n XXX multiplicacao dos seus valores digitados: <-------\n"); //for para multiplicar os valores do vetor e logo em seguida imprimilos para usuario for(i=1;i<=5;i++){ resul_mult=(n*vet_mult[i]); printf("XXX valor: %d Multiplicado Por: %d resulta em: %d XXX\n", vet_mult[i],n,resul_mult); } } //função que ira mostrar um numero escolhido em palavras void palavras(void) { for(i=0;i<=5;i++){ printf("XXX insira a %d palavras: XXX",i+1); scanf("%s", &vet_palavras[i]); } //entrada do valor a ser imprimido printf("XXX insira um numero dentre 0 e 5: XXX"); scanf("%d", &n); if (n <=5) { // testando se o valor e menor que 5 for(i=0;i<=6;i++) { if(i==n) { strcpy(resul_palavras[i],vet_palavras[i]); } } printf("\n XXX %d = %s <------- \n",n,resul_palavras[n]); } else //printf para aviso de numero invalido digitado. printf("\n XXX numero inserido difenrente do intervalo entre 0 e 5 <------- \n"); getch (); } //função que ira ler um vetor e apos isso era retornar o valor de uma posição escolhida void posi_nu(void) { //entrada dos valores dentro do laço printf("XXX Digite os valores: XXX \n",i); for(int i=1;i<6;i++) scanf("%d",&vet[i]); //numero para ser pesquisado printf("XXX Digite um numero para ser pesquisado no vetor:XXX "); scanf("%d",&n); for(int i=1;i<6;i++) //testandoo valor para encontrar sua posição if(vet[i]==n){ printf("\n XXX O numero esta na %d posicao <------- \n",i); //saida dos valores encontrado=1; } if(encontrado!=1) printf("\n XXX insira um numero dos quais voce digitou <-------\n\n"); //caso contrario } //menu de string para escolher as opções que o programa poderá realizar int main () //função principal { /* system("color 85");*/ system("cls"); while(escolha!=4) { printf ("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n\n"); printf ("XXXXX escolha uma das opções abaixo XXXXX\n\n"); printf("1-XXX Multiplicar vetor XXX\n"); printf("2-XXX Descrever um numero XXX\n"); printf("3-XXX Mostrar a posicao de um numero XXX\n"); printf("4-XXX Sair XXX\n"); //entrada da opção printf("\nXXX digite um numero: XXX\n"); printf ("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n\n"); scanf("%d", &escolha); switch(escolha) { case 1: mult_vet(); //primeira função break; case 2: palavras(); //segunda função break; case 3: posi_nu(); //terceira função break; case 4: return 0; //sair default: printf("XXX insira uma opcao dentre 1 e 4 <-------\n"); } } /*return 0;*/ }
  19. devair1010

    C: Erro em interface

    @Xaws testei seu código da segunda listagem e ele funciona e aparece uma janela com dois botões, quando clica no primeiro ele abre uma janela do google chrome e no segundo mostra uma janela com mensagem, não vi essa segunda janela que você disse, como você está colocando esse include teste/area2 ? você salvou o código com esse nome ? e quando ele encontra esse include no código ele roda os comandos que estão nesse arquivo ? esse seu código aqui está funcionando bem , experimente ele aí : estou usando o DEV c++ versão 4.9.9.2 : #include <windows.h> #include <stdio.h> #include <shellapi.h> #define xtn 1 #define ztn 11 //HWND do controles HWND xot1; HWND zot2; LRESULT CALLBACK WinProc2(HWND window,UINT msg, WPARAM wParam,LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nShowCmd){; // <~~ Aqui da o 1º. erro MSG message; HWND hwnd; WNDCLASSEX wc; wc.cbClsExtra=0; wc.cbSize=sizeof(wc); wc.cbWndExtra=0; wc.hbrBackground=GetSysColorBrush(COLOR_BTNFACE); wc.hCursor=LoadCursor(NULL,IDC_ARROW); wc.lpfnWndProc=WinProc2; wc.lpszClassName="Janela"; wc.lpszMenuName=NULL; wc.style=0; RegisterClassEx(&wc); hwnd = CreateWindowEx(0,"Janela","EXEMPLO 1",WS_OVERLAPPED|WS_SYSMENU,300,100,900,400,NULL,NULL,NULL,NULL); ShowWindow(hwnd,SW_SHOW); UpdateWindow(hwnd); while(GetMessage(&message,0,0,0)){ TranslateMessage(&message); DispatchMessage(&message); } return message.wParam ; } LRESULT CALLBACK WinProc2(HWND window,UINT msg, WPARAM wParam,LPARAM lParam){ // ~~ Aqui da o 2º. erro switch(msg){ case WM_CLOSE: PostQuitMessage(0); break; case WM_CREATE: //Processo de criação da janela xot1 = CreateWindowEx(0,"BUTTON","Area do Usuario" ,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON, 140,40,120,20,window,(HMENU)1,0,0); //Cria botão zot2 = CreateWindowEx(0,"BUTTON","Area do Contador" ,WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON, 140,80,120,20,window,(HMENU)2,0,0); break; case WM_COMMAND: //Mensagem enviada quando um controle é clicado: switch(wParam){ //Verifica parâmetro{ case 1: //Se for o botão ShellExecute (NULL,"open","www.google.com",NULL,NULL,NULL); break; case 2: //goto area2; MessageBox (0,"SUCESSO","",0); } break; } return DefWindowProc(window,msg,wParam,lParam); }
  20. devair1010

    C: Erro em interface

    @Xaws posta o código para podermos ver como está, também estou estudando sobre interface e gostaria de ver como você resolveu .
  21. devair1010

    jogo da velha

    estou tentando fazer uma interface para esse jogo da velha, e apesar de que funcionou não estou conseguindo colocar um placar informando as vitórias, alguém pode me ajudar ? para rodar esse código no code blocks é preciso criar um projeto clicando em file / new / project e escolher Win32 GUI project e depois escolher Dialog Based, depois colocar o nome e escolher a pasta onde salvar, em seguida abra esse mesmo arquivo que você salvou, mas na hora que você for na pasta onde está o arquivo não abra o nome do arquivo mas sim o arquivo main c++, em seguida selecione o código todo e delete e em seguida coloque esse código e salve ele, com isso pode compilar, e depois que fechar o arquivo e você quiser abri-lo novamente abra o arquivo com o nome do projeto mesmo. aqui está o código usando a API Win32 : #include <windows.h> #include <time.h> #define DIVISIONS 5 static BOOL fState[DIVISIONS+2][DIVISIONS] ; int qj=2,vl_nivel,i,j,qa,att; int vet2[4][4]; HPEN hpen; LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow){ static TCHAR szAppName[] = TEXT ("Checker1") ; HWND hwnd ; MSG msg ; WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = NULL ; wndclass.lpszClassName = szAppName ; if (!RegisterClass (&wndclass)){ MessageBox (NULL, TEXT ("Program requires Windows NT!"), szAppName, MB_ICONERROR) ; return 0 ; } hwnd = CreateWindow (szAppName, TEXT ("Jogo Da Velha"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL) ; ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0)){ TranslateMessage (&msg) ; DispatchMessage (&msg) ; } return msg.wParam ; } int verifica_se_ganhou(int g,int h){ for(i=2;i<5;i++){ for(j=1;j<4;j++){ vet2[i][j]=fState[i][j]; } } if(fState[2][1]==h&&fState[2][2]==h&&fState[2][3]==h){ g=1;vet2[2][1]=3;vet2[2][2]=3;vet2[2][3]=3; } else{ if(fState[3][1]==h&&fState[3][2]==h&&fState[3][3]==h){ g=1;vet2[3][1]=3;vet2[3][2]=3;vet2[3][3]=3; } else{ if(fState[4][1]==h&&fState[4][2]==h&&fState[4][3]==h){ g=1;vet2[4][1]=3;vet2[4][2]=3;vet2[4][3]=3; } else{ if(fState[2][1]==h&&fState[3][1]==h&&fState[4][1]==h){ g=1;vet2[4][1]=3;vet2[4][1]=3;vet2[4][1]=3; } else{ if(fState[2][2]==h&&fState[3][2]==h&&fState[4][2]==h){ g=1;vet2[2][2]=3;vet2[3][2]=3;vet2[4][2]=3; } else{ if(fState[2][3]==h&&fState[3][3]==h&&fState[4][3]==h){ g=1;vet2[2][3]=3;vet2[3][3]=3;vet2[4][3]=3; } else{ if(fState[2][1]==h&&fState[3][2]==h&&fState[4][3]==h){ g=1;vet2[2][1]=3;vet2[3][2]=3;vet2[4][3]=3; } else{ if(fState[2][3]==h&&fState[3][2]==h&&fState[4][1]==h){ g=1;vet2[2][3]=3;vet2[3][2]=3;vet2[4][1]=3; } } } } } } } } return g; } int raciocinio(int p){ if(fState[3][2]==0){ fState[3][2]=1;/*1 é computador*/ return 1; } if(fState[2][1]==p&&fState[3][1]==p&&fState[4][1]==0){/* --- */ fState[4][1]=1; return 1; } if(fState[2][1]==p&&fState[3][1]==p&&fState[2][1]==0){/* --- */ fState[2][1]=1; return 1; } if(fState[2][1]==p&&fState[3][1]==p&&fState[2][1]==0){/* --- */ fState[2][1]=1; return 1; } if(fState[2][2]==p&&fState[3][2]==p&&fState[4][2]==0){/* - */ fState[4][2]=1; /* - */ return 1; /* - */ } if(fState[2][2]==p&&fState[4][2]==p&&fState[3][2]==0){ fState[3][2]=1; return 1; } if(fState[3][2]==p&&fState[4][2]==p&&fState[2][2]==0){ fState[2][2]=1; return 1; } if(fState[2][3]==p&&fState[3][3]==p&&fState[4][3]==0){ fState[4][3]=1; return 1; } if(fState[2][3]==p&&fState[4][3]==p&&fState[3][3]==0){ fState[3][3]=1; return 1; } if(fState[3][3]==p&&fState[4][3]==p&&fState[2][3]==0){ fState[2][3]=1; return 1; } if(fState[2][1]==p&&fState[2][2]==p&&fState[2][3]==0){ fState[2][3]=1; return 1; } if(fState[2][1]==p&&fState[2][3]==p&&fState[2][2]==0){ fState[2][2]=1; return 1; } if(fState[2][2]==p&&fState[2][3]==p&&fState[2][1]==0){ fState[2][1]=1; return 1; } if(fState[3][1]==p&&fState[3][2]==p&&fState[3][3]==0){ fState[3][3]=1; return 1; } if(fState[3][1]==p&&fState[3][3]==p&&fState[3][2]==0){ fState[3][2]=1; return 1; } if(fState[3][2]==p&&fState[3][3]==p&&fState[3][1]==0){ fState[3][1]=1; return 1; } if(fState[4][1]==p&&fState[4][2]==p&&fState[4][3]==0){ fState[4][3]=1; return 1; } if(fState[4][1]==p&&fState[4][3]==p&&fState[4][2]==0){ fState[4][2]=1; return 1; } if(fState[4][2]==p&&fState[4][3]==p&&fState[4][1]==0){ fState[4][1]=1; return 1; } if(fState[2][1]==p&&fState[3][2]==p&&fState[4][3]==0){ fState[4][3]=1; return 1; } if(fState[2][1]==p&&fState[4][3]==p&&fState[3][2]==0){ fState[3][2]=1; return 1; } if(fState[3][2]==p&&fState[4][3]==p&&fState[2][1]==0){ fState[2][1]=1; return 1; } if(fState[2][3]==p&&fState[3][2]==p&&fState[4][1]==0){ fState[4][1]=1; return 1; } if(fState[2][3]==p&&fState[4][1]==p&&fState[3][2]==0){ fState[3][2]=1; return 1; } if(fState[3][2]==p&&fState[4][1]==p&&fState[2][3]==0){ fState[2][3]=1; return 1; } return 0; } int verifica_se_empatou(){ int w=0,f,e; for(f=2;f<5;f++){ for(e=1;e<4;e++){ if(fState[f][e]==0){w=1;} } } return w;/*se w=0 então acabou a partida*/ } int computador_joga(){ int r; r=raciocinio(1);/*se for 1 então computador achou lugar para jogar*/ if(r==1){ return 0; } r=raciocinio(2); if(r==1){ return 0; } if(fState[2][1]==0){ fState[2][1]=1; return 0; } if(fState[2][3]==0){ fState[2][3]=1; return 0; } if(fState[4][3]==0){ fState[4][3]=1; return 0; } if(fState[4][1]==0){ fState[4][1]=1; return 0; } if(fState[2][2]==0){ fState[2][2]=1; return 0; } if(fState[3][3]==0){ fState[3][3]=1; return 0; } if(fState[4][2]==0){ fState[4][2]=1; return 0; } if(fState[3][1]==0){ fState[3][1]=1; return 0; } return 1; } void zera(){ for(i=0;i<7;i++){ for(j=0;j<5;j++){ fState[i][j]=0; } } } LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ static int cxBlock, cyBlock ; HDC hdc ; int x, y ,q,r; PAINTSTRUCT ps ; RECT rect ; if(att==1){ InvalidateRect (hwnd, NULL, FALSE) ;/*ISSO ATUALIZA A TELA*/ att=0; } if(qj==1){ computador_joga(); qj=2; InvalidateRect (hwnd, NULL, FALSE) ;/*ISSO ATUALIZA A TELA*/ r=verifica_se_ganhou(0,1); if(r==1){ zera(); MessageBox( NULL,"O Computador Ganhou Essa Partida !","Jogo Da Velha",MB_OK|MB_ICONINFORMATION ); att=1; } else{ r=verifica_se_empatou(); if(r==0){ zera(); MessageBox(NULL,"Essa Partida Terminou Empatada !","Jogo Da Velha",MB_OK|MB_ICONINFORMATION); att=1; } } } switch (message){ case WM_SIZE : cxBlock = LOWORD (lParam) / 7; cyBlock = HIWORD (lParam) / DIVISIONS ; return 0 ; case WM_LBUTTONDOWN : x = LOWORD (lParam) / cxBlock ; y = HIWORD (lParam) / cyBlock ; if (x>1 && x < 5 && y>0 &&y < DIVISIONS-1){ if(qj==2){ if(fState[x][y]==0){ fState [x][y] ^= 2 ; qj=1;qa=1; } else MessageBox(NULL,"Esta Posição Já Está Ocupada","informação",MB_OK|MB_ICONINFORMATION); } rect.left = x * cxBlock ; rect.top = y * cyBlock ; rect.right = (x + 1) * cxBlock ; rect.bottom = (y + 1) * cyBlock ; InvalidateRect (hwnd, &rect, FALSE) ; r=verifica_se_ganhou(0,2); if(r==1){ MessageBox(NULL,"O Jogador Humano Ganhou Essa Partida !","Jogo Da Velha",MB_OK|MB_ICONINFORMATION); zera(); att=1; } else{ r=verifica_se_empatou(); if(r==0&&att==0){ MessageBox(NULL,"Essa Partida Terminou Empatada !","Jogo Da Velha",MB_OK|MB_ICONINFORMATION); zera(); att=1; } } } else MessageBeep (0) ; return 0 ; case WM_PAINT : hdc = BeginPaint (hwnd, &ps) ; for (x = 0 ; x < 7 ; x++) for (y = 0 ; y < DIVISIONS ; y++){ if(x > 1 && x < 5 && y > 0 && y < 4){ hpen = CreatePen(PS_SOLID,1,RGB(255,255,255)); SelectObject(hdc, hpen); Rectangle (hdc, x * cxBlock, y * cyBlock, (x + 1) * cxBlock, (y + 1) * cyBlock) ; hpen = CreatePen(PS_SOLID,1,RGB(0,0,0)); SelectObject(hdc, hpen); if( y > 1 && y < 4 ){ for(q=0;q<5;q++){ MoveToEx(hdc,x*cxBlock,y*cyBlock+q,NULL); LineTo (hdc,x*cxBlock+180,y*cyBlock+q); } } if( x > 2 && x < 5 ){ for(q=0;q<5;q++){ MoveToEx(hdc,x*cxBlock+q,y*cyBlock,NULL); LineTo (hdc,x*cxBlock+q,y*cyBlock+140); } } if (fState [x][y]==1){ for(q=0;q<6;q++){ /* aqui é o circulo */ Ellipse (hdc,x*cxBlock+30+q,y*cyBlock+13+q,x*cxBlock+100-q,y*cyBlock+83-q) ; } } if (fState [x][y]==2){ for(q=0;q<9;q++){ /*aqui é o x*/ MoveToEx (hdc, x * cxBlock+35+q, y * cyBlock+10, NULL) ; LineTo (hdc,(x+1)* cxBlock-35+q,(y+1)* cyBlock-8) ; MoveToEx (hdc, x * cxBlock+35+q,(y+1)* cyBlock-10, NULL) ; LineTo (hdc,(x+1)* cxBlock-35+q, y * cyBlock+8) ; } } } } EndPaint (hwnd, &ps) ; return 0 ; case WM_DESTROY : PostQuitMessage (0) ; return 0 ; } DeleteObject(hpen); return DefWindowProc (hwnd, message, wParam, lParam) ; }
  22. @Kaique Xavier Atalla você pode pedir os três números e depois fazer as verificações, eu coloquei antes do terceiro número, mas se colocar depois funciona do mesmo jeito .
  23. @Douglas S Miranda pelo jeito o problema não é as memórias e sim a sua fonte que está pifando, meu pc também ficava reiniciando e então coloquei outra fonte para testar e resolveu o problema . Uma boa fonte pode ser a corsair cx 430 .
  24. @Kaique Xavier Atalla na hora de comparar se você comparar com dois números será mais fácil verificar qual é o maior e o menor, então você pega dois números e compara, então com isso você sabe qual é o maior e o menor, depois você pega o outro número e testa se esse número é maior que o maior , se for então esse passa a ser o maior, se não for então testa se é menor que o menor, se for então esse passa a ser o menor. veja seu código com algumas modificações : algoritmo "Maior_e_Menor" var A,B,C, MAIOR, MENOR: Inteiro inicio escreval ("Digite o primeiro número") leia (A) escreval ("Digite o segundo número") leia (B) se a>b ENTÃO maior := a menor := b senao maior := b menor := a fimse escreval ("Digite o terceiro número") leia (C) se c > maior ENTÃO maior := c senao se c < menor ENTÃO menor := c fimse fimse escreval ("Os números digitados foram: ", A,B,C) escreval("Maior: ", MAIOR) escreval("Menor: ", MENOR) fimalgoritmo
  25. @Filipe de Luca você precisa informar em qual posição de p será guardado o valor digitado e na hora de imprimir também precisa dessa informação. Talvez você tenha colocado essa informação no seu código, mas como na hora de você postar você não usou o botão <> que está na barra de ferramentas da janela de postar, seu código ficou sem essa informação . no loop para a entrada de dados dos alunos da segunda chamada precisa começar de onde parou no primeiro loop e ir até o total de onde parou no primeiro loop mais a quantidade de alunos da segunda chamada . o resto do código está certo . veja como ficaria seu código com algumas modificações : #include <stdio.h> #include <stdlib.h> int main(){ int x, *p; printf("Quantidade de alunos na turma: "); scanf("%d", &x); p=(int *) malloc(x*sizeof(int)); if(p==NULL){ printf("Sem memoria"); exit(1); } int i; for(i=0;i<x;i++){ printf("Digite a nota do aluno %d: ", i+1); scanf("%d", &p[i]); } printf("Aqui AS Notas Dos Alunos\n"); for(i=0;i<x;i++){ printf("%d\t", p[i]); } printf("\n"); int y; printf("\nQuantos alunos entraram em 2a chamada?: "); scanf("%d", &y); p=(int *) realloc(p,(x+y)*sizeof(int)); if(p==NULL){ printf("Sem memoria"); exit(1); } int j; for(j=x;j<(x+y);j++){ printf("Digite a nota do novato %d: ", j-x+1); scanf("%d", &p[j]); } printf("Aqui esta As Notas Dos Alunos De Segunda Chamada\n"); for(i=x;i<(x+y);i++){ printf("%d\t", p[i]); } printf("\n"); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!