Ir ao conteúdo

Flávio Pedroza

Membro Pleno
  • Posts

    2.145
  • Cadastrado em

  • Última visita

Tudo que Flávio Pedroza postou

  1. Numa lista encadeada, deve sempre existir, ao menos, o primeiro elemento. Então a lista não pode ser de todo vazia. E ele é criado na função lista_cria: LISTA *lista = (LISTA*) malloc(sizeof(LISTA)); o "if( lista != NULL)" serve para verificar se realmente o elemento inicial da lista foi criado e alocado na memória de fato.
  2. Dá um bom peso de porta também. NÃO LIGUE SEM PASTA TÉRMICA E NÃO USE NENHUM PRODUTO "SUBSTITUTO" IMPROVISADO.
  3. O melhor é entrar em contato com a loja é perguntar qual o protocolo nesses casos, até para evitar dores de cabeça.
  4. Par mim está normal: #include <stdio.h> int main () { int tempo, segundos, minutos, horas; scanf("%d", &tempo); printf("Total: %d segundos.\n", tempo); horas = tempo / 3600; minutos = horas /60; segundos = tempo % 60; printf("Conversão: %d horas, %d minutos e %d segundos.", horas, minutos, segundos); return 0; }
  5. você tem chamar free para para cada vez que usou malloc. No caso, tem um lação que aloca 25 variáveis na memória, além da alocação do deck. você tem que repetir o laço, mas ao invés de alocar você teria que chamar free. Além disso, após liberar a memória você tem que atribuir NULL ao ponteiro, free não faz isso automaticamente
  6. Digitei errado, quis dizer ir.setText(String.valueOf(impostoderenda));
  7. Não sei se essa era sua dúvida, mas você pode transformar um número em string e depois concatená-lo a outra string; int x = 12 String pos = "Posicao "; String num = String(x); pos = pos + num; na String pos terá "Posição 12".
  8. Não programo em Java, mas vou dar meu palpite de leigo: //Crie 3 filas, uma para cada tipo de senha List<Senha> listaSenhaP; List<Senha> listaSenhaR; List<Senha> listaSenhaC; //Cada botao adicionar um elemento em filas diferens private void botaoRapidaActionPerformed(java.awt.event.ActionEvent evt) { //... listaSenhaR.add(s); private void botaoComumActionPerformed(java.awt.event.ActionEvent evt) { //... listaSenhaC.add(s); private void botaoPreferencialActionPerformed(java.awt.event.ActionEvent evt) { //... listaSenhaP.add(s); // Na hora de iteragir com as filhas, se uma determinada fila esta vazia você passa para a proxima private void botaoCaixa1ActionPerformed(java.awt.event.ActionEvent evt) { Iterator<Senha> itr = listaSenhaP.iterator(); // verifica se a fila Preferencial está vazia if (listaSenhP.isEmpty()) { //verifica se a lista Rápida também está vazia if (listaSenhaR.isEmpty()) { //Caso a fila rápida esteja vazia, coloque aqui o código para chamar da fila Comum } else { //Bote aqui o código para chamar a da fila Rápida } } else //Cahama da fila Rápida, pois não está vazia { Senha caixa = itr.next(); itr.remove(); painelSenha.setText(String.valueOf(caixa.getTipo()) + "-" + String.valueOf(caixa.getNumero())); painelGuiche.setText(" Caixa 1 "); } } Espero ter ajudado.
  9. Esses socket (BGA) o processador é soldado na placa-mãe - não tem como trocar facilmente.
  10. Provavelmente o "técnico" que instalou usou a versão padrão de lançamento do Windows. Ou provavelmente instalou uma versão pirata do Windows 10. Se instalar a versão mais atual, já com todas as atualizações e correções, deverá funcionar sem problema.
  11. você está declarou 800 variáveis e está somando? Use um vector e some com um laço.
  12. você está programando no arduino? Vi que essa classe String tem um metódo "c_str()". https://www.arduino.cc/reference/pt/language/variables/data-types/string/functions/c_str/ Basta chamar esse método: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { uint_16 data[2]; String varHex1 = String(data[1], HEX); String varHex2 = String(data[0], HEX); String vetorhex = varHex1 + varHex2; unsigned long l = strtoul(vetorhex.c_str(), NULL, 16); float f = *((float*)&l); printf("%f", f); return 0; }
  13. 0x410f0000 que em float da 8.9375 0x420f0000 é que dá 35.75 https://www.h-schmidt.net/FloatConverter/IEEE754.html De todo modo, seria algo assim o que procura? #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char hex[11] = "0x420F0000"; unsigned long l = strtoul(hex, NULL, 16); float f = *((float*)&l); printf("%f", f); return 0; }
  14. Veja só, pela interpretação do enunciado, você não lê do teclado, você simplesmente atribui os valores (como fez). No caso, a soma daria 55. você está iniciando a soma ANTES de ler os dados dos vetores. Além disso, você lê os dados em uma variável diferente "Notas", enquanto que na soma você utiliza a varável "V".
  15. Não sei nada de arduino, mas pelo meus conhecimentos em linguagem c acredito que seria algo assim: void setup() { //Initialize serial and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } // prints title with ending line break Serial.println("ASCII Table ~ Character Map"); } char[6] texto = "Teste"; int i = 0; void loop() { Serial.write(texto[i]); Serial.print(", dec: "); Serial.print(texto[i]); Serial.print(", hex: "); Serial.print(texto[i], HEX); Serial.print(", oct: "); Serial.print(thisByte, OCT); Serial.print(", bin: "); Serial.println(texto[i], BIN); if (texto[i] == '\0') { // you could also use if (thisByte == '~') { // This loop loops forever and does nothing while (true) { continue; } } // go on to the next character i++; }
  16. Pode ser a fonte. Tem como você testar com outra?
  17. Aqui tem um exemplo bem simples, que desenha vários objetos na tela: #define WIN32_LEAN_AND_MEAN // Excluir itens raramente utilizados dos cabeçalhos do Windows #include <windows.h> // Variáveis Globais: HINSTANCE hInst; // instância atual HWND hWnd; // Janela atual HBITMAP hbitmap = NULL; COLORREF color = 0; HBRUSH hbr = CreateSolidBrush(color); // Declarações de encaminhamento de funções incluídas nesse módulo de código: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { MyRegisterClass(hInstance); // Realize a inicialização do aplicativo: if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } MSG msg; //Desenho HDC hdc = GetDC(hWnd); BITMAP bm; MoveToEx(hdc, 8, 60, NULL); LineTo(hdc, 8, 260); RECT rect = { 100, 100, 200, 200 }; FrameRect(hdc, &rect, hbr); TextOut(hdc, 100, 100, L"Hello Word", wcslen(L"Hello Word")); // Loop de mensagem principal: do { if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } } while (msg.message != WM_QUIT); return (int) msg.wParam; } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEXW wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = NULL; wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = NULL; wcex.lpszClassName = L"Teste"; wcex.hIconSm = NULL; return RegisterClassExW(&wcex); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { hInst = hInstance; // Armazenar o identificador de instância em nossa variável global hWnd = CreateWindowW(L"Teste", L"Teste", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: DeleteObject(hbr); DeleteObject(hbitmap); PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } O grosso do código é da criação da janela, as rotinas de desenho são bem simples. Para carregar e desenha um bitmap na tela: //Carrega e desenha BITMAP na tela hbitmap = (HBITMAP)LoadImage(NULL, L"bitmap.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); if (hbitmap != NULL) { HDC hdc_source = CreateCompatibleDC(hdc); GetObject(hbitmap, sizeof(BITMAP), &bm); SelectObject(hdc_source, hbitmap); BitBlt(hdc, 0, 0, bm.bmWidth, bm.bmHeight, hdc_source, 0, 0, SRCCOPY); } O ideal é que se desenhe quando for gerado um evento WM_PAINT: LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_PAINT: PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &ps); // TODO: Adicione qualquer código de desenho que use hdc aqui... EndPaint(hWnd, &ps); break; case WM_DESTROY: DeleteObject(hbr); DeleteObject(hbitmap); PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; }
  18. if(opcao==2){ //verifica se o assento solicitado está vazio if((*AssentoJanela)[numero]==0)){ //tem um paretese a mais //marca o assento como acupado (*AssentoJanela)[numero]==1) // parentese no lugar do ponto e vígula printf("\nAssento %d vendido\n",numero); }else{ printf("\nAssento %d ocupado\n",numero); } } (...) printf("\nAssentos do Corredor:\nAssentos da janela:\n"); for(i=0;i<24;i++){ for((*AssentoCorredor)[i]==0){ //for no lugar do if Achei esses erros no seu código
  19. Bom, não sei se importa para você mas a G6010 imprime frente e verso automático - acredito que seja a única. A diferença de preço nem é tão grande assim (200 a 300 reais). As outras apenas manualmente.
  20. Qual o seu nível de conhecimento em c? Threads e processamento paralelo são conceitos um tanto avançados. Posto o que já fez.
  21. O problema desse PC é que provavelmente a fonte de alimentação será genérica. Se quiser colocar uma placa de vídeo no futuro, terá que trocar a fonte de alimentação também. Acredito que o Ryzen 5 3600 supera o i7 9700f em termos de performance.
  22. A fonte ligou pelo menos?
  23. Pra jogar a 120 fps só no PC. Console geralmente é travado nos 60fps.
  24. Já pensou na epson 3150? Recentemente andei pesquisando muito sobre impressoras, vi muitos vídeos no Youtube e etc. é e muito recomendada.

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!