Alessandroequilibrio
Membro Júnior-
Posts
13 -
Cadastrado em
-
Última visita
Reputação
3-
C String aleatória jogo da forca
Alessandroequilibrio respondeu ao tópico de Alessandroequilibrio em C/C#/C++
erro de novo o fscanf , não vai funcionar para palavras compostas tipo no nivel filmes temos querra nas estrelas , ai a função fscanf so pega "gerra" vou ver o que podemos fazer -
C String aleatória jogo da forca
Alessandroequilibrio respondeu ao tópico de Alessandroequilibrio em C/C#/C++
funcionou o Rand ainda estou com um pequeno erro esta criando uma lacuna a mais , isso não acontecia antes , com codico antigo #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<locale.h> #include<string.h> #define MAX 10 //:: retorna numero aleatório de 0 a 10 int numAleatorio() { return(rand() % MAX); } char palavra[50];// var global void jogo() { //var local char letra[50],lacuna[50]="_"; int tam_palavra,vida=4,x,i,pontos=0; for(i=0; i<strlen(palavra); i++)//retorna o tamanho, em caracteres, de uma string //strlen() procura o terminador de string e calcula a distância dele ao início da string lacuna[i]='-'; tam_palavra=strlen(palavra); printf("\n Palavra secreta: "); while(vida>0) { x=0; printf("\n %s \n",lacuna); printf("\n Digite uma letra minuscula: "); gets(letra); for(i=0; i<strlen(palavra); i++) { if(letra[0]==palavra[i]) { lacuna[i]=palavra[i]; pontos++; x++; } } if(x==0) { vida=vida-1; if(vida==0) { printf("\n\n voce FOI ENFORCADO!"); printf("\n A PALAVRA ERA: %s",palavra); break; } else printf("\n RESTAM %d VIDA(S)",vida); } else { if(pontos==tam_palavra) { printf("\n\n voce GANHOU!"); printf("\n A PALAVRA E: %s",palavra); break; } else { printf("\n voce ACERTOU UMA LETRA!"); } } } } // Chama nivel fácil, animais void easy(char *palavra, const char *arquivo, int linha){ FILE *ff = fopen(arquivo, "r"); if(ff){ while(fgets(palavra, 50, ff) > 0){ //se a linha for 2, ela diminui 2 e encontra... if(linha-- == 0) break; } if(strlen(palavra)>0){ palavra[strlen(palavra)] = '\0'; }else{ palavra[0] = '\0'; } fclose(ff); }else { printf("Falha ao abrir arquivo!\n"); } printf("Dica:\n"); printf("**ANIMAL**:\n"); } // Chama nivel medio, Paises. void mediun(char *palavra, const char *arquivo, int linha){ FILE *ff = fopen(arquivo, "r"); if(ff){ while(fgets(palavra, 50, ff) > 0){ //se a linha for 2, ela diminui 2 e encontra... if(linha-- == 0) break; } if(strlen(palavra)>0){ palavra[strlen(palavra)] = '\0'; }else{ palavra[0] = '\0'; } fclose(ff); }else { printf("Falha ao abrir arquivo!\n"); } printf("Dica:\n"); printf("**PAIS SULAMERICANO**:\n"); } // Chama nivel difícil, Filmes. void hard(char *palavra, const char *arquivo, int linha){ FILE *ff = fopen(arquivo, "r"); if(ff){ while(fgets(palavra, 50, ff) > 0){ //se a linha for 2, ela diminui 2 e encontra... if(linha-- == 0) break; } if(strlen(palavra)>0){ palavra[strlen(palavra)] = '\0'; }else{ palavra[0] = '\0'; } fclose(ff); }else { printf("Falha ao abrir arquivo!\n"); } printf("Dica:\n"); printf("**FILME**:\n"); } int main() // Funcao Principal. { srand(time(NULL)); int ale = numAleatorio(); setlocale(LC_ALL, "Portuguese"); int opcao; char frase; printf("\n >>>>>>>>>>>>>>> UTFPR <<<<<<<<<<<<<<<<"); printf("\n # LINGUAGEM DE PROGRAMACAO #"); printf("\n # #"); printf("\n # MENU PRINCIPAL #"); printf("\n # #"); printf("\n # 1 – fácil #"); printf("\n # 2 – Medio #"); printf("\n # 3 – difícil #"); printf("\n # 0 – Sair #"); printf("\n # #"); printf("\n # Programador: #"); printf("\n # Gustavo Javorsky e Alessandro Donizetti #"); printf("\n ##########################################################\n"); printf("\n Digite um comando para prosseguir:\n"); scanf("%d",&opcao); switch (opcao) //Puxa função fácil, medio ou difil (le arquivo) { case 0: { exit(0); break; } case 1: { system("cls"); easy(palavra, "animais.txt", ale); jogo(); break; } case 2: { system("cls"); mediun(palavra, "paises.txt", ale); jogo(); break; } case 3: { system("cls"); hard(palavra, "filmes.txt", ale); jogo(); break; } default: { printf ("erro default"); break; } } return 0; } animais.txt filmes.txt paises.txt adicionado 48 minutos depois Ja consertei para ler as strings mudei de fgets para fscanf while(fscanf(ff,"%s", palavra) > 0){ -
C String aleatória jogo da forca
Alessandroequilibrio respondeu ao tópico de Alessandroequilibrio em C/C#/C++
não consigo gerar o ramdom OK mas o fssek , nao nao compila veja minhas mudanças criei um void aleatorio () para o rand se eu entendi direito int fseek (FILE *fp,aleatorio,SEEK_SET); FILE*fp e o arquivo para qual eu direciono aleatorio, seria o valor rand, da linha e seek set, seria o inicio da palavra ai agira tenho que segurar esta palavra em uma strig (palavra), que vai levar para a funçao jogo mas não complilou o INT FSEEK #include<stdio.h> #include<stdlib.h>// necessário p/ função srand #include<locale.h> #include<string.h> #include <time.h>//necessário p/ função time() char palavra[50];// var global void jogo() { //var local char letra[50],lacuna[50]="_"; int tam_palavra,vida=4,x,i,pontos=0; for(i=0; i<strlen(palavra); i++)//retorna o tamanho, em caracteres, de uma string //strlen() procura o terminador de string e calcula a distância dele ao início da string lacuna[i]='-'; tam_palavra=strlen(palavra); printf("\n Palavra secreta: "); while(vida>0) { x=0; printf("\n %s \n",lacuna); printf("\n Digite uma letra minuscula: "); gets(letra); for(i=0; i<strlen(palavra); i++) { if(letra[0]==palavra[i]) { lacuna[i]=palavra[i]; pontos++; x++; } } if(x==0) { vida=vida-1; if(vida==0) { printf("\n\n voce FOI ENFORCADO!"); printf("\n A PALAVRA ERA: %s",palavra); break; } else printf("\n RESTAM %d VIDA(S)",vida); } else { if(pontos==tam_palavra) { printf("\n\n voce GANHOU!\n\n"); printf("\n A PALAVRA E: %s\n\n",palavra); break; } else { printf("\n voce ACERTOU UMA LETRA!"); } } } } void aleatorio () { int aleatorio; printf("\n\nProcurando a palavra:\n\n"); printf("Pressione qualquer tecla para continuar:\n\n"); srand(time(NULL)); for (aleatorio=0; aleatorio < 1; aleatorio++) { // gerando valores aleatórios na faixa de 0 a 10 aleatorio = rand() % 10; } getch(); } void easy() //Chama nivel fácil, Animais. { FILE *fp; fp=fopen("facil_animais.txt","r"); char s[10];//var local int fseek (FILE *fp,aleatorio,SEEK_SET); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); printf("Dica:\n"); printf("**ANIMAL COM 4 LETRAS**:\n"); } void mediun() // Chama nivel medio, Paises. { FILE *fp; fp=fopen("medio_paises.txt","r"); char s[11];//var local fgets(palavra,11,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); printf("Dica:\n"); printf("**PAIS COM 10 LETRAS**:\n"); } void hard() // Chama nivel difícil, Filmes. { FILE *fp; fp=fopen("dificil_filmes.txt","r"); char s[50]; fgets(palavra,50,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); printf("Dica:\n"); printf("**FILME COM 20 LETRAS**:\n"); printf("**ESPAÇO DO TECLADO CONTA COMO UM CARACTERE**:\n"); } int main() // Funcao Principal. { setlocale(LC_ALL, "Portuguese"); int opcao; char frase; printf("\n >>>>>>>>>>>>>>> UTFPR <<<<<<<<<<<<<<<<"); printf("\n # LINGUAGEM DE PROGRAMACAO #"); printf("\n # #"); printf("\n # MENU PRINCIPAL #"); printf("\n # #"); printf("\n # 1 – fácil #"); printf("\n # 2 – Medio #"); printf("\n # 3 – difícil #"); printf("\n # 0 – Sair #"); printf("\n # #"); printf("\n # Programador: #"); printf("\n # Gustavo Javorsky e Alessandro Donizetti #"); printf("\n ##########################################################\n"); printf("\n Digite um comando para prosseguir:\n"); scanf("%d",&opcao); switch (opcao) //Puxa função fácil, medio ou difil (le arquivo) { case 0: { exit(0); break; } case 1: { system("cls"); aleatorio(); easy(); jogo(); break; } case 2: { system("cls"); aleatorio(); mediun(); jogo(); break; } case 3: { system("cls"); aleatorio(); hard(); jogo(); break; } default: { printf ("erro default"); break; } } return 0; } -
Pessoal, preciso teminar meu jogo da forca ja fiz o jogo rodar , lendo um arquivo txt , com varias palavras dentro do arquivo esta separado por niveis fácil -animais 4 letras medio paises 10 letras difícil - deverá ser filmes com mais letras , mais ainda não ta certo ainda põe parei , na escolha das palavras sempre ele escolhe a primeira palavra /string que esta no arquivo txt teria que ter uma forma randomica de escolher as palavras tentei usar o RANd ou Srand, mas não consegui se alguem puder me ajudar #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<locale.h> #include<string.h> char palavra[50];// var global void jogo() { //var local char letra[50],lacuna[50]="_"; int tam_palavra,vida=4,x,i,pontos=0; for(i=0; i<strlen(palavra); i++)//retorna o tamanho, em caracteres, de uma string //strlen() procura o terminador de string e calcula a distância dele ao início da string lacuna[i]='-'; tam_palavra=strlen(palavra); printf("\n Palavra secreta: "); while(vida>0) { x=0; printf("\n %s \n",lacuna); printf("\n Digite uma letra minuscula: "); gets(letra); for(i=0; i<strlen(palavra); i++) { if(letra[0]==palavra[i]) { lacuna[i]=palavra[i]; pontos++; x++; } } if(x==0) { vida=vida-1; if(vida==0) { printf("\n\n voce FOI ENFORCADO!"); printf("\n A PALAVRA ERA: %s",palavra); break; } else printf("\n RESTAM %d VIDA(S)",vida); } else { if(pontos==tam_palavra) { printf("\n\n voce GANHOU!\n\n"); printf("\n A PALAVRA E: %s\n\n",palavra); break; } else { printf("\n voce ACERTOU UMA LETRA!"); } } } } void easy() //Chama nivel fácil, Animais. { FILE *fp; fp=fopen("facil_animais.txt","r"); char s[5];//var local fgets(palavra,5,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); printf("Dica:\n"); printf("**ANIMAL COM 4 LETRAS**:\n"); } void mediun() // Chama nivel medio, Paises. { FILE *fp; fp=fopen("medio_paises.txt","r"); char s[11];//var local fgets(palavra,11,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); printf("Dica:\n"); printf("**PAIS COM 10 LETRAS**:\n"); } void hard() // Chama nivel difícil, Filmes. { FILE *fp; fp=fopen("dificil_filmes.txt","r"); char s[50]; fgets(palavra,50,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); printf("Dica:\n"); printf("**FILME COM 20 LETRAS**:\n"); printf("**ESPAÇO DO TECLADO CONTA COMO UM CARACTERE**:\n"); } int main() // Funcao Principal. { setlocale(LC_ALL, "Portuguese"); int opcao; char frase; printf("\n >>>>>>>>>>>>>>> UTFPR <<<<<<<<<<<<<<<<"); printf("\n # LINGUAGEM DE PROGRAMACAO #"); printf("\n # #"); printf("\n # MENU PRINCIPAL #"); printf("\n # #"); printf("\n # 1 – fácil #"); printf("\n # 2 – Medio #"); printf("\n # 3 – difícil #"); printf("\n # 0 – Sair #"); printf("\n # #"); printf("\n # Programador: #"); printf("\n # Gustavo Javorsky e Alessandro Donizetti #"); printf("\n ##########################################################\n"); printf("\n Digite um comando para prosseguir:\n"); scanf("%d",&opcao); switch (opcao) //Puxa função fácil, medio ou difil (le arquivo) { case 0: { exit(0); break; } case 1: { system("cls"); easy(); jogo(); break; } case 2: { system("cls"); mediun(); jogo(); break; } case 3: { system("cls"); hard(); jogo(); break; } default: { printf ("erro default"); break; } } return 0; } segue tambem o arquivo txt de fácil animais facil_animais.txt
-
ok , mas eu ja tinha postado em 50 , então o erro foi meu
-
consertei assim nas funçoes void easy() void medium () e void hard() char s[50];//var local fgets(palavra,49,fp); mudei para a quantidade exta de letras de cada arquivo txt tipo no txt fácil tem as palvras gato rato sapo ai troquei para char s[6];//var local fgets(palavra,5,fp); e deu certo quando ficar pronto posto o cod ainda falta o rand de palavras , sempre pega a mesma palavra quando incia o programa
-
ok, valeu pela ajuda deu certo---mais ou menos veja o print também alterei a variável TAM palavra para inteiro adicionado 16 minutos depois o strlen esta pegando um caracter a mais na palavra seria um caracter em branco
-
C nao consigo executar o que esta dentro da funçao
Alessandroequilibrio respondeu ao tópico de Marcos Willian Cardoso em C/C#/C++
pronto ja esta chamando a função #include <stdio.h> #include <ctype.h> void palavra() { char palavra; printf("digite uma palavra:\n",palavra); scanf("%c",&palavra); if (isalpha(palavra)){ printf("voce digitou uma letra do alfabeto\n"); palavra = toupper(palavra); printf("a letra em maiuscula: %c \n\n",palavra); palavra = tolower(palavra); printf("a letra em minuscula: %c \n\n",palavra);} else{ printf("voce nao digitou uma letra do alfabeto\n\n"); } } int main () { int num, num1 ; printf("1-EXIT:\n"); printf("1-Converte um caracter para minúsculo:\n"); printf("2-Converte um caracter minúsculo em maiúsculo:\n"); printf("3-Verifica se o caracter é alfanumérico:\n"); printf("4-Verificar se o caracter é uma letra do alfabeto:\n"); printf("5-Verificar se o caracter é um caracter de controle:\n"); printf("6-Verificar se o caracter é um digito decimal:\n"); printf("7-Verifica se o caracter tem representação gráfica:\n"); printf("8-Verifica se o caracter é minúsculo:\n"); printf("9-Verifica se o caracter é imprimível:\n"); printf("10-Verifica se o caracter é um ponto:\n"); printf("11-Verificar se o caracter é um espaço em branco:\n"); printf("12-Verifica se o caracter é uma letra maiúscula:\n"); printf("13-Verifica se o caracter é um dígito hexadecimal:\n"); printf("escolha uma das opções de 1 a 13:\n"); scanf("%d",&num); switch (num) //Puxa função { case 0: { exit(0); break; } case 1: { system("cls"); palavra(); break; } default: { printf ("erro default"); break; } } return 0; } agora segue dai usei o switch / case para chamar a função arrumei nome da função adicionado 0 minutos depois coloquei exit no inicio do menu, porém esqueci de mudar para zero -
Bom dia pessoal preciso terminar meu aps de fim de semestre tenho duas coisas ainda apara fazer no meu codico o programa esta lendo o arquivo txt normal, porém não pega a primeira letra no final ele ate acerta a palavra , mas não aparece a primeira letra/caractere outro erro , que ainda ainda não iniciei a fazer seria o rand de palavras dentro do txt lembrando que para cada função existe um arquivo txt dentro da pasta raiz do programa segue o codico #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<locale.h> #include<string.h> char palavra[50];// var global void jogo() { char tam_palavra,letra[50],lacuna[50]="_";//var local int vida=4,x,i,pontos=0;//var local printf("\n >>>>>>>>>>>>>>> UTFPR <<<<<<<<<<<<<<<<"); printf("\n # LINGUAGEM DE PROGRAMACAO #\n\n\n"); for(i=0; i<strlen(palavra); i++)//retorna o tamanho, em caracteres, de uma string //strlen() procura o terminador de string e calcula a distância dele ao início da string lacuna[i]='-'; tam_palavra=strlen(palavra); printf("\n Palavra secreta: "); while(vida>0) { x=0; printf("\n %s \n",lacuna+1); printf("\n Digite uma letra minuscula: "); gets(letra); for(i=0; i<strlen(palavra); i++) { if(letra[0]==palavra[i]) { lacuna[i]=palavra[i]; pontos++; x++; } } if(x==0) { vida=vida-1; if(vida==0) { printf("\n\n voce FOI ENFORCADO!"); printf("\n A PALAVRA ERA: %s",palavra); break; } else printf("\n RESTAM %d VIDA(S)",vida); } else { if(pontos==tam_palavra) { printf("\n\n voce GANHOU!"); printf("\n A PALAVRA E: %s",palavra); break; } else { printf("\n voce ACERTOU UMA LETRA!"); } } } } void easy() //Chama nivel fácil, Animais. { FILE *fp; fp=fopen("facil_animais.txt","r"); char s[50];//var local fgets(palavra,49,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); } void mediun() // Chama nivel medio, Paises. { FILE *fp; fp=fopen("medio_paises.txt","r"); char s[50];//var local fgets(palavra,49,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); } void hard() // Chama nivel difícil, Filmes. { FILE *fp; fp=fopen("dificil_filmes.txt","r"); char s[50]; fgets(palavra,49,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); } int main() // Funcao Principal. { setlocale(LC_ALL, "Portuguese"); int opcao; char frase; printf("\n >>>>>>>>>>>>>>> UTFPR <<<<<<<<<<<<<<<<"); printf("\n # LINGUAGEM DE PROGRAMACAO #"); printf("\n # #"); printf("\n # MENU PRINCIPAL #"); printf("\n # #"); printf("\n # 1 – fácil #"); printf("\n # 2 – Medio #"); printf("\n # 3 – difícil #"); printf("\n # 0 – Sair #"); printf("\n # #"); printf("\n # Programador: #"); printf("\n # Gustavo Javorsky e Alessandro Donizetti #"); printf("\n ##########################################################\n"); printf("\n Digite um comando para prosseguir:\n"); scanf("%d",&opcao); switch (opcao) //Puxa função fácil, medio ou difil (le arquivo) { case 0: { exit(0); break; } case 1: { printf("Dica:\n"); printf("**ANIMAL**:\n"); system("cls"); easy(); jogo(); break; } case 2: { printf("Dica:\n"); printf("**PAIS**:\n"); system("cls"); mediun(); jogo(); break; } case 3: { printf("Dica:\n"); printf("**FILME**:\n"); system("cls"); hard(); jogo(); break; } default: { printf ("erro default"); break; } } return 0; }
-
C Alguém poderia me ajudar nessa?
Alessandroequilibrio respondeu ao tópico de Vanessa Dos Santos em C/C#/C++
Fiz um progaminha estes dias , que pode te ajudar Este programa, dado um horário, calcula quantos minutos e segundos transcorreram desde o início do dia #include <stdio.h> int main() { int h,m,s,tot; { printf("Este programa, dado um horário, calcula quantos minutos e segundos transcorreram desde o início do dia.)\n"); } { printf("Informe o horário (hora)\n"); } scanf("%d",&h); printf("Informe o horário (minuto)\n"); scanf("%d",&m); printf("Informe o horário (segundo)\n"); scanf("%d",&s); tot=(((h * 60) + m) * 60 + s); printf("Segundos decorridos desde 00:00:00: eh %d",tot); } -
Windows ou linux? você instalou o code blocs e o compilador separados,? geralmente isso não da certo não sei porque Tente instalar o .exe com o programa e o compilador juntos,
-
C Multiplicaçao de diagonais de uma matriz
Alessandroequilibrio respondeu ao tópico de Alessandroequilibrio em C/C#/C++
muito obrigado , funcionou perfeitamente -
exercício 03 Faça um programa que preencha duas matrizes 8x8 com números inteiros e depois multiplique a diagonal principal da primeira pela diagonal secundária da segunda. Depois mostre o resultado. tenho que criar duas matrizes 8x8, mostrar as diagonais principal da primeira e diagonal secundaria da segunda e multiplicar as diagonais falta somente a multiplicação vejam meu códico #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> #define tam 2 // somente para teste ,depois mudar para 8 main() { setlocale(LC_ALL,"portuguese"); int Matriz1 [tam][tam]; int linha1,coluna1; int Matriz2 [tam][tam]; int linha2,coluna2; printf("----------------------\n"); printf("Matriz 01:\n"); printf("----------------------\n"); for (linha1=0; linha1<tam;linha1++){ for (coluna1=0; coluna1<tam;coluna1++){ printf("Linha e Coluna da primeira matriz: [%d][%d] ",linha1,coluna1); scanf("%d",&Matriz1[linha1][coluna1]); } } printf("----------------------\n"); printf("Matriz 02:\n"); printf("----------------------\n"); for (linha2=0; linha2<tam;linha2++){ for (coluna2=0; coluna2<tam;coluna2++){ printf("Linha e Coluna da segunda matriz: [%d][%d] ",linha2,coluna2); scanf("%d",&Matriz2[linha2][coluna2]); } } printf("----------------------\n"); printf("Matriz 01 Digitada:\n"); printf("----------------------\n"); for (linha1=0; linha1<tam;linha1++){ for (coluna1=0; coluna1<tam;coluna1++){ printf("%5d ", Matriz1[linha1][coluna1]); } printf("\n\n"); } printf("----------------------\n"); printf("Matriz 02 Digitada:\n"); printf("----------------------\n"); for (linha2=0; linha2<tam;linha2++){ for (coluna2=0; coluna2<tam;coluna2++){ printf("%5d ", Matriz2[linha2][coluna2]); } printf("\n\n"); } printf("-----------------------------\n"); printf("Diagonal principal da matriz 01:\n"); printf("-----------------------------\n"); for (linha1=0; linha1<tam;linha1++){ for (coluna1=0; coluna1<tam;coluna1++){ if (coluna1 == linha1){ printf("%5d ", Matriz1[linha1][coluna1]); } } } printf("\n\n"); printf("-----------------------------\n"); printf("Diagonal secundária da matriz 02:\n"); printf("-----------------------------\n"); for (linha2=0; linha2<tam;linha2++){ for (coluna2=0; coluna2<tam;coluna2++){ if (coluna2 == (tam - 1 - linha2 )){ printf("%5d ", Matriz2[linha2][coluna2]); } } } // ate aqui ok, mas não esta fazendo multiplicação corretamente printf("\n\n"); printf("-----------------------------\n"); printf("Multiplicação das diagonais:\n"); printf("-----------------------------\n"); for (linha1=0; linha1<tam;linha1++){ for (coluna1=0; coluna1<tam;coluna1++){ if (coluna1 == linha1); } } for (linha2=0; linha2<tam;linha2++){ for (coluna2=0; coluna2<tam;coluna2++){ if (coluna2 == (tam - 1 - linha2 )){ printf("%5d ", (Matriz1[linha1][coluna1])*(Matriz2[linha2][coluna2])); } } } printf("\n\n"); getch(); }
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