
Ramon_Machado
-
Posts
43 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
posts postados por Ramon_Machado
-
-
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.
-
-
@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
-
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.
-
1
-
-
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; }
-
3
-
-
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.
-
1
-
-
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?
-
A dica funcionou perfeitamente na minha placa-mãe; essa da assinatura.
Agora o relógio não atrasa mais.
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
Recomendação de cooler silencioso
em Refrigeração e superaquecimento
Postado
Sim amigo, o cooler é para processador. Fora esse Lucifer K2, você recomenda outro?