Ir ao conteúdo
  • Cadastre-se

Ramon_Machado

Membro Pleno
  • Posts

    43
  • Cadastrado em

  • Última visita

  1. Sim amigo, o cooler é para processador. Fora esse Lucifer K2, você recomenda outro?
  2. Olá, Gostaria da ajuda de vocês para a escolha de um cooler silencioso e na faixa até R$150,00 para meu PC. Eu tinha um Cooler Master TX3, só que hoje a ventoinha dele morreu, não funciona mais. Quem ajudar eu agradeço. PS.: O PC é só para uso em coisas básicas, nada de jogos.
  3. Fazendo isso o arquivo de saída vai ficar cheio de linhas em brancos. E mesmo assim com duas linhas juntas.
  4. @TYSQUARE89 consegui fazer a leitura corretamente do arquivo, muito obrigado. Mas agora tenho outro problema, na questão da ordenação. Necessariamente o arquivos dados.txt tem que ter uma linha em branco no final para a ordenação funcionar corretamente, senão houver essa linha linha em branco, ele acaba por juntar 2 linhas numa só. Se você puder me ajudar, eu agradeceria muito. Segue o código atualizado: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> typedef struct info_agenda { char linha[500]; char nome[100]; char sobrenome[100]; char rua[100]; char numero[100]; char complemento[100]; char bairro[100]; char cidade[100]; char estado[30]; char fone1[100]; char fone2[100]; } agenda; //Busca um contato e exibe na tela. void pesquisa(char pesq[]) { int contador=0; int achou=0; agenda agen[100]; FILE *arq_entrada; arq_entrada = fopen("dados.txt", "r"); // Abre o arquivo while(!feof(arq_entrada)) { fscanf(arq_entrada,"%[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,],\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); //if (strcmp (pesq, strupr(agen[contador].nome)) == 0) if (strstr (strupr(agen[contador].nome), pesq) != NULL) { printf("+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); printf("Nome.......: %s\nLogradouro.: %s\nNumero.....: %s\nComplemento: %s\nBairro.....: %s\nCidade.....: %s\nEstado.....: %s\nFone 1.....: %s\nFone 2.....: %s\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); achou++; } contador++; //getchar(); } if(achou != 0); printf("+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); if(achou == 0) printf("Contato inexistente!\n"); fclose(arq_entrada); } //Função que lista os contatos do arquivo. void listar_contatos() { int contador=0; agenda agen[100]; FILE *arq_entrada; FILE *arq_saida; arq_entrada = fopen("dados.txt", "r"); // Abre o arquivo arq_saida = fopen("agenda.txt", "w+"); // Escreve o arquivo if (arq_entrada == NULL) { printf("Arquivo de dados não localizado!\n\n"); system("pause"); } else { fprintf(arq_saida, "#################################################################\n" "#################### Listando os contatos #######################\n" "#################################################################\n\n"); ///while(fgets(linha, sizeof(linha), arq_entrada) != NULL && strcmp(linha, "#agenda.dat\n") !=0); while(!feof(arq_entrada)) { fscanf(arq_entrada,"%[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,],\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); printf("\n"); fprintf(arq_saida,"+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); fprintf(arq_saida,"Nome.......: %s\nLogradouro.: %s\nNumero.....: %s\nComplemento: %s\nBairro.....: %s\nCidade.....: %s\nEstado.....: %s\nFone 1.....: %s\nFone 2.....: %s\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); contador++; } system("cls"); printf("O programa leu '%d' linha(s)\n", contador); fprintf(arq_saida,"+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); //fprintf(arq_saida, "Total %-28s= %8.2f\n", espaco, totalGeral); } fclose(arq_entrada); fclose(arq_saida); } void ordenar() { int contador=0; int i,j; char temp[500]; agenda agen[1100]; FILE *arq_entrada; FILE *arq_saida; arq_entrada = fopen("dados.txt", "r"); // Abre o arquivo arq_saida = fopen("agenda_ordenada.txt", "w+"); // Escreve o arquivo if (arq_entrada == NULL) { printf("Arquivo de dados não localizado!\n\n"); system("pause"); } else { while(fgets(agen[contador].linha, sizeof(agen[contador].linha), arq_entrada) != NULL) { //printf("%s\n", agen[contador].linha); contador++; } ///ordenar for(i=1; i < contador; i++) { for (j=0; j < (contador -1); j++) { if(strcmp(agen[j].linha,agen[j+1].linha) > 0) { strcpy(temp,agen[j].linha); strcpy(agen[j].linha,agen[j+1].linha); strcpy(agen[j+1].linha,temp); } } }///fim do for ///imprimir for(i=0; i < contador; i++) { fprintf(arq_saida,"%s", agen[i].linha); } } printf("\nO programa leu '%d' linha(s)\n", contador); fclose(arq_entrada); fclose(arq_saida); }//fim da função ordenar int main() { setlocale(LC_ALL, "Portuguese"); int op; char nome[100]; while(op!=4) { printf("\n==============MENU==================\n"); printf("1-Listar contatos da agenda: \n"); printf("2-Buscar contatos da agenda: \n"); printf("3-Para ordenar a agenda:\n"); printf("4-Sair:\n"); scanf("%d",&op); if(op==1) { listar_contatos(); system("agenda.txt"); system("cls"); } if(op==2) { fflush(stdin); printf("\nEntre com o Nome: "); scanf("%[^\n]", nome); strupr(nome); fflush(stdin); system("cls"); pesquisa(nome); } if(op==3) { printf("Ordenando a agenda e saindo...\n"); ordenar(); system("agenda_ordenada.txt"); } if(op==4) { printf("Encerrando programa...\n"); system("pause"); exit(0); } }//fim do while de MENU return 0; }//fim da função main
  5. Pessoal se vocês poderem me ajudar novamente eu agradeceria. Estou tentando fazer agora uma função de ordenação das strings em um arquivo separado. Mas acontece um erro ao tentar ler a linha do arquivo na função ORDENAR. Já até comentei o código na parte da ordenação, mas mesmo assim não encontro o erro. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> typedef struct info_agenda { char nome[100]; char sobrenome[100]; char rua[100]; char numero[100]; //int numero; char complemento[100]; char bairro[100]; char cidade[100]; char estado[30]; char fone1[100]; char fone2[100]; } agenda; //Busca um contato e exibe na tela. void pesquisa(char pesq[]) { int contador=0; int achou=0; agenda agen[100]; FILE *arq_entrada; arq_entrada = fopen("dados.txt", "r"); // Abre o arquivo while(!feof(arq_entrada)) { fscanf(arq_entrada,"%[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,],\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); //if (strcmp (pesq, strupr(agen[contador].nome)) == 0) if (strstr (strupr(agen[contador].nome), pesq) != NULL) { printf("+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); printf("Nome.......: %s\nLogradouro.: %s\nNumero.....: %s\nComplemento: %s\nBairro.....: %s\nCidade.....: %s\nEstado.....: %s\nFone 1.....: %s\nFone 2.....: %s\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); achou++; } contador++; //getchar(); } if(achou != 0); printf("+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); if(achou == 0) printf("Contato inexistente!\n"); fclose(arq_entrada); } //Função que lista os contatos do arquivo. void listar_contatos() { int contador=0; agenda agen[100]; FILE *arq_entrada; FILE *arq_saida; arq_entrada = fopen("dados.txt", "r"); // Abre o arquivo arq_saida = fopen("agenda.txt", "w+"); // Escreve o arquivo if (arq_entrada == NULL) { printf("Arquivo de dados não localizado!\n\n"); system("pause"); } else { fprintf(arq_saida, "#################################################################\n" "#################### Listando os contatos #######################\n" "#################################################################\n\n"); ///while(fgets(linha, sizeof(linha), arq_entrada) != NULL && strcmp(linha, "#agenda.dat\n") !=0); while(!feof(arq_entrada)) { fscanf(arq_entrada,"%[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,],\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); printf("\n"); fprintf(arq_saida,"+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); fprintf(arq_saida,"Nome.......: %s\nLogradouro.: %s\nNumero.....: %s\nComplemento: %s\nBairro.....: %s\nCidade.....: %s\nEstado.....: %s\nFone 1.....: %s\nFone 2.....: %s\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); contador++; } printf("O programa leu '%d' linha(s)\n", contador); fprintf(arq_saida,"+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); //fprintf(arq_saida, "Total %-28s= %8.2f\n", espaco, totalGeral); } fclose(arq_entrada); fclose(arq_saida); } void ordenar() { int contador=0; int i,j; char *linha[500]; char temp[500]; FILE *arq_entrada; FILE *arq_saida; arq_entrada = fopen("dados.txt", "r"); // Abre o arquivo arq_saida = fopen("agenda_ordenada.txt", "w+"); // Escreve o arquivo if (arq_entrada == NULL) { printf("Arquivo de dados não localizado!\n\n"); system("pause"); } else { while(!feof(arq_entrada)) { //fscanf(arq_entrada,"%[^\n]", linha[contador]); fgets(linha[contador],500, arq_entrada) != NULL; //printf(linha[contador]); printf("\n"); contador++; } //ordenar // for(i=0; i < contador; i++) // { // for (j=0; j < (contador-1); j++) // { // // if(strcmp(linha[j],linha[j+1]) > 0) // { // //strcpy(temp,linha[j]); // //strcpy(linha[j],linha[j+1]); // //strcpy(linha[j+1],temp); // // strcpy(temp,linha[j+1]); // strcpy(linha[j+1],linha[j]); // strcpy(linha[j],temp); // } // } // }//fim do for // // //imprime // for(i=0; i < contador; i++) // { // fprintf(arq_saida,"%s", linha[i]); // } } //printf("O programa leu '%d' linha(s)\n", contador); fclose(arq_entrada); fclose(arq_saida); }//fim da função ordenar int main() { setlocale(LC_ALL, "Portuguese"); int op; char nome[100]; while(op!=4) { printf("\n==============MENU==================\n"); printf("1-Listar contatos da agenda: \n"); printf("2-Buscar contatos da agenda: \n"); printf("3-Para ordenar a agenda:\n"); printf("4-Sair:\n"); scanf("%d",&op); if(op==1) { listar_contatos(); system("agenda.txt"); system("cls"); } if(op==2) { fflush(stdin); printf("\nEntre com o Nome: "); scanf("%[^\n]", nome); strupr(nome); fflush(stdin); pesquisa(nome); } if(op==3) { printf("Ordenando a agenda e saindo...\n"); ordenar(); exit(0); } if(op==4) { printf("Encerrando programa...\n"); system("pause"); exit(0); } }//fim do while de MENU return 0; }//fim da função main o arquivo de dados.txt é o mesmo do primeiro tópico.
  6. Muito obrigado @isrnick consegui ajustar o código aqui com a sua dica. Até agora não encontrei nenhum erro, segue o código: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> typedef struct info_agenda { char nome[100]; char sobrenome[100]; char rua[100]; char numero[100]; //int numero; char complemento[100]; char bairro[100]; char cidade[100]; char estado[30]; char fone1[100]; char fone2[100]; } agenda; //Busca um contato e exibe na tela. void pesquisa(char pesq[]) { int contador=0; int achou=0; agenda agen[100]; FILE *arq_entrada; arq_entrada = fopen("dados.txt", "r"); // Abre o arquivo while(!feof(arq_entrada)) { fscanf(arq_entrada,"%[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,],\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); strupr(agen[contador].nome); if (strcmp(pesq, agen[contador].nome) == 0) { printf("+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); printf("Nome.......: %s\nLogradouro.: %s\nNumero.....: %s\nComplemento: %s\nBairro.....: %s\nCidade.....: %s\nEstado.....: %s\nFone 1.....: %s\nFone 2.....: %s\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); achou++; } contador++; //getchar(); } if(achou == 0) printf("Cadastro inexistente!\n"); fclose(arq_entrada); } //Função que lista os contatos do arquivo. void listar_contatos() { int contador=0; agenda agen[100]; FILE *arq_entrada; FILE *arq_saida; arq_entrada = fopen("dados.txt", "r"); // Abre o arquivo arq_saida = fopen("agenda.txt", "w"); // Escreve o arquivo if (arq_entrada == NULL) { printf("Arquivo de dados não localizado!\n\n"); system("pause"); } else { fprintf(arq_saida, "#################################################################\n" "#################### Listando os contatos #######################\n" "#################################################################\n\n"); ///while(fgets(linha, sizeof(linha), arq_entrada) != NULL && strcmp(linha, "#agenda.dat\n") !=0); while(!feof(arq_entrada)) { fscanf(arq_entrada,"%[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,],\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); printf("\n"); fprintf(arq_saida,"+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); fprintf(arq_saida,"Nome.......: %s\nLogradouro.: %s\nNumero.....: %s\nComplemento: %s\nBairro.....: %s\nCidade.....: %s\nEstado.....: %s\nFone 1.....: %s\nFone 2.....: %s\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); contador++; } printf("\nO programa leu '%d' linha(s)\n", contador); fprintf(arq_saida,"+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); //fprintf(arq_saida, "Total %-28s= %8.2f\n", espaco, totalGeral); } fclose(arq_entrada); fclose(arq_saida); } int main() { char nome[100]; setlocale(LC_ALL, "Portuguese"); printf("\nEntre com o Nome: "); scanf("%[^\n]", nome); strupr(nome); fflush(stdin); pesquisa(nome); //listar_contatos(); //system("agenda.txt"); system("pause"); return 0; }
  7. Estou tentando criar uma função que busca um nome numa estrutura de string, fazendo a comparação com strcmp. Só que não estou encontrando o meu erro. Ele não encontra o nome que eu quero e imprime na tela a primeira linha que ele leu no arquivo txt. O nome da função é 'pesquisa', quando busco pelo último nome do arquivo, que é 'andre', ela me retorna o primeiro nome da lista. Quem poder ajudar eu agradeço muito. segue o código: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> typedef struct info_agenda { char nome[100]; char sobrenome[100]; char rua[100]; char numero[100]; //int numero; char complemento[100]; char bairro[100]; char cidade[100]; char estado[30]; char fone1[100]; char fone2[100]; } agenda; //Busca um contato e exibe na tela. void pesquisa(char pesq[]) { int contador=0; agenda agen[100]; FILE *arq_entrada; arq_entrada = fopen("dados.txt", "r"); // Abre o arquivo while(!feof(arq_entrada)) { fscanf(arq_entrada,"%[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,],\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); //printf(agen[contador].nome); if (strcmp(pesq, agen[contador].nome) == 0) { printf("+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); printf("Nome.......: %s\nLogradouro.: %s\nNumero.....: %s\nComplemento: %s\nBairro.....: %s\nCidade.....: %s\nEstado.....: %s\nFone 1.....: %s\nFone 2.....: %s\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); } else { printf("Cadastro inexistente!\n"); break; } contador++; getchar(); fclose(arq_entrada); } } //Função que lista os contatos do arquivo. void listar_contatos() { int contador=0; agenda agen[100]; FILE *arq_entrada; FILE *arq_saida; arq_entrada = fopen("dados.txt", "r"); // Abre o arquivo arq_saida = fopen("agenda.txt", "w"); // Escreve o arquivo if (arq_entrada == NULL) { printf("Arquivo de dados não localizado!\n\n"); system("pause"); } else { fprintf(arq_saida, "#################################################################\n" "#################### Listando os contatos #######################\n" "#################################################################\n\n"); ///while(fgets(linha, sizeof(linha), arq_entrada) != NULL && strcmp(linha, "#agenda.dat\n") !=0); while(!feof(arq_entrada)) { fscanf(arq_entrada,"%[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,], %[^,],\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); printf("\n"); fprintf(arq_saida,"+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); fprintf(arq_saida,"Nome.......: %s\nLogradouro.: %s\nNumero.....: %s\nComplemento: %s\nBairro.....: %s\nCidade.....: %s\nEstado.....: %s\nFone 1.....: %s\nFone 2.....: %s\n", agen[contador].nome, agen[contador].rua, agen[contador].numero, agen[contador].complemento, agen[contador].bairro, agen[contador].cidade, agen[contador].estado, agen[contador].fone1, agen[contador].fone2); contador++; } printf("\nO programa leu '%d' linha(s)\n", contador); fprintf(arq_saida,"+++++++++++++++++++++++++++++++++++++++++++++++++++\n"); //fprintf(arq_saida, "Total %-28s= %8.2f\n", espaco, totalGeral); } fclose(arq_entrada); fclose(arq_saida); } int main() { char nome[15]; setlocale(LC_ALL, "Portuguese"); printf("\nEntre com o Nome: "); scanf(" %s", nome); scanf("%[^\n]", nome); fflush(stdin); pesquisa(nome); //listar_contatos(); system("agenda.txt"); system("pause"); return 0; } Vou deixar o em anexo o arquivo txt. dados.txt
  8. faller, queria seguir o seu esquemático original da fonte por completo, porém não consegui o LM338. Posso substituir ele por um LM317 sem fazer alterações no resistor do Vin?
  9. Resolvido, terminei o código. #include <stdio.h>int main(){ int numero, n, vezes=0; int controle=0; int cont; for(cont=1; cont<=10; cont++) { scanf("%d", &numero); for(n=1; n<=numero; n++) { if(numero % n == 0) { vezes+=1; } } if(vezes == 2) { controle=controle+1; } vezes=0; } printf("Quantidade de primos: %d", controle); return 0;}
  10. Pessoal, sou iniciante, e estou com dificuldades para criar este código em C. Se puderem, me deem uma força. O algoritmo deve receber 10 números inteiros e depois imprimir a quantidade de números primos que foram digitados pelo usuário. #include <stdio.h>#include <stdlib.h>int main(){ int i, vetor[10]; int div = 0; int n; int controle=0; for(i=0; i < 10; i++) { scanf("%d", &vetor[i]); } for(n=1; n < 10; n++) { if(vetor[i] % n == 0) { div++; } if(div == 2) { controle=controle+1; } } printf("%d", controle); return 0;}
  11. O nobre usuário que fez esse tópico comprou um ótimo roteador, cujo valor supera os R$100,00. Mas que por experiência e prática minha pude constatar que ele não supera o limite de conexões de 15 usuários simultâneos. Os roteadores da Link One, importados pela Unicoba, são bons, conectam 30 usuários. Agora, se querem algo mais parrudo, comprem um Unifi da Ubiquiti, ou montem um hotspot com Mikrotik, ou mesmo ataquem com os roteadores não tão baratos da Aruba Networks.
  12. Um access point sofisticado é bastante caro. O ideal seria comprar outro roteador ou um repetidor de sinal. Quanto a atualização de firmware, ou mesmo substituição por outro como o DD-WRT, ainda não testei. Mas acredito que sempre haverá o tal limite de 15 conexões, pois o problema se trata de hardware, e não de software (firmware).
  13. Os roteadores convencionais, desses mais baratos, até mesmo os dual band, tem um limite de conexões sem fio fixado em 15, acredito eu se tratar de um limite físico (de hardware) do próprio chip usado nos roteadores. Aqui já testei modelos da tp-link, e todos apresentaram o mesmo "problema". Qualquer dúvida, estamos aqui.
  14. will1202, na placa tem 5 contatos, só que na sua imagem tem somente 4 contatos. É pra saltar o contato que fica sozinho?
  15. É amigo, no vídeo, o conector do gabinete dele é totalmente junto. Diferente do meu, que é separado.

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...