Ir ao conteúdo
  • Cadastre-se

elyastrid

Membro Pleno
  • Posts

    29
  • Cadastrado em

  • Última visita

Reputação

18

1 Seguidor

  1. @devair1010 Não está puxando o nome do arquivo. adicionado 6 minutos depois @devair1010 O código está cadastrando sim, pois ele está salvando os novos cadastrados no arquivo txt, só não consigo fazer ele puxar os nomes.
  2. Preciso fazer uma pesquisa de uma string num vetor de 5 posições. Porém, ele não está puxando o nome no arquivo txt. Segue código abaixo. #include <stdio.h> #include <stdlib.h> #include <string.h> struct questionario{ char nome[40]; char sexo[20]; int idade; int renda; char fumante[10]; char esportes[10]; char atividade[10]; }; void limpa_linha() { scanf("%*[^\n]"); scanf("%*c"); } // Exibição do Menu // void exibir_menu (int op) { printf("\n 1-Cadastrar nova entrevista"); printf("\n 2-Pesquisar"); printf("\n 3- Gerar estatisticas\n"); } int main() { struct questionario respostas[5]; int i,op,posicao; char nomepesquisa[40]; FILE *arquivo; arquivo= fopen ("resposta.txt", "a"); if (arquivo != NULL) { printf ("\n Arquivo aberto com sucesso! \n"); } else{ printf("\n Erro na abertura do arquivo!"); } exibir_menu(op); scanf("%i",&op); fflush(stdin); // limpa buffer switch (op) { case 1: for (i=0;i<5;i++) { do { printf ("Digite o seu nome:"); scanf ("%s", respostas[i].nome); limpa_linha(); fprintf (arquivo, "\n Nome: %s ",respostas[i].nome); printf ("Digite o seu sexo - F p/Feminino, M p/ Masculino e O p/ Outro: "); scanf ("%s", respostas[i].sexo); limpa_linha(); fprintf (arquivo,"Sexo: %s ", respostas[i].sexo); printf ("Digite a sua idade:"); scanf ("%d", &respostas[i].idade); limpa_linha(); fprintf (arquivo, "Idade: %d ", respostas[i].idade); printf ("Digite a sua renda:"); scanf ("%i", &respostas[i].renda); limpa_linha(); fprintf (arquivo, "Renda: %i ", respostas[i].renda); printf ("Eh fumante ? - S p/ Sim e N p/ Nao: "); scanf ("%s", respostas[i].fumante); limpa_linha(); fprintf (arquivo, "Eh fumante?: %s ", respostas[i].fumante); printf ("Gosta de esportes? - S p/ Sim e N p/ Nao:"); scanf ("%s", respostas[i].esportes); limpa_linha(); fprintf (arquivo, "Gosta de esportes?: %s ", respostas[i].esportes); printf ("Pratica atividade fisica ? - S p/ Sim e N p/ Nao: "); scanf ("%s", respostas[i].atividade); limpa_linha(); fprintf (arquivo, "Pratica atividade fisica?: %s ", respostas[i].atividade); printf ("\n Digite 1 para continuar cadastrando \n"); scanf ("%i", &op); }while (op ==1); fclose (arquivo); exibir_menu (op); scanf("%i",&op); } break; case 2: printf ("\n Digite o nome:"); scanf ("%s*c", nomepesquisa); limpa_linha(); do { arquivo= fopen ("resposta.txt", "r"); for (i=0;i<5;i++) { if(strcmp(respostas[i].nome,nomepesquisa)== 0) { printf("\n Pesquisa encontrada! "); posicao = i; } else { posicao = -1; } } if(posicao = -1) { printf(" \n Pesquisa nao encontrada! "); } else { printf(" \n Nome: %s ", respostas[i].nome); printf(" \n Sexo: %s ", respostas[i].sexo); printf(" \n Idade: %i ", respostas[i].idade); printf("\n Renda: %i", respostas[i].renda); printf ("\n Eh fumante?: %s", respostas[i].fumante); printf ("\n Gosta de esportes?: %s", respostas[i].esportes); printf ("\n Pratica atividade?: %s", respostas[i].atividade); } printf ("\n Digite 1 para continuar pesquisando \n"); scanf ("%i", &op); } while (op==1); fclose(arquivo); exibir_menu(op); scanf("%i", &op); break; } }
  3. @Lucas Mariani Pires Eu não posso declarar vetor inteiro como null.
  4. Preciso que o usuário informe a posição do vetor que ele deseja remover, remover o número da respectiva posição e printar o vetor a cada remoção. Como faço isso ? Segue código abaixo: #include <stdio.h> #include <stdlib.h> int main () { int vetor[10]= {2,4,6,8,10,12,14,16,18,20},valor, i,controle=0,posicao; int op; // Menu // printf ("\n Informe a operacao que deseja realizar: "); printf ("\n 1- para Buscar"); printf ("\n 2- para Remover Elementos \n"); scanf ("%i", &op); switch (op) { // BUSCAR // case 1: do { printf ("\n Informe um valor:"); scanf ("%i", &valor); // comparação // for (i=0;i<11;i++) { if (valor == vet[i]){ controle = 1; printf ("\n Parabens, o valor %i foi encontrado na posicao %i !", valor, i); } else { if (controle==0 && i==10) { printf ("\n O valor nao foi encontrado. Tente novamente!"); printf ("\n Pressione 1 para tentar novamente ou 2 para sair"); scanf ("%i", &op); } } } } while (op == 1 && controle==0); break; case 2: printf ("\n Informe a posicao do vetor que deseja remover:"); scanf ("%i",&posicao); for (i=0;i<11;i++) { if (i==posicao) { } break; default: printf ("\n Operacao invalida!"); } }
  5. Preciso criar um programa em C que permita que o usuário realize as operações: 1- Busca (usuário informa um valor, se o valor não pertencer ao vetor então ele deve informar o número novamente) 2- Remoção dos elementos (usuário informa posição e exibe na tela o vetor a cada remoção) O meu código está com problemas no laço if, pois ele exibe tanto o if quanto o else. ps: gostaria de uma explicação de como seria essa remoção do elemento do vetor. Segue código abaixo: #include <stdio.h> #include <stdlib.h> int main () { int vet[10]= {2,4,6,8,10,12,14,16,18,20}, i,valor; char op; // Menu // printf ("\n Informe a operacao que deseja realizar: "); printf ("\n 1- para Buscar"); printf ("\n 2- para Remover Elementos \n"); scanf ("%d", &op); switch (op) { // BUSCAR // case 1: do { printf ("\n Informe um valor:"); scanf ("%i", &valor); // comparação // for (i=0;i<11;i++) { if (valor == vet[i]) { printf ("\n Parabens, o valor %i foi encontrado na posicao %i !", valor, i); } else { printf ("\n O valor nao foi encontrado. Tente novamente!"); printf ("Pressione 1 para tentar novamente ou 2 para sair"); scanf ("%d", &op); } } } while (op == 1); break; } }
  6. Olá, preciso calcular a média da renda de todos os entrevistados, porém ele está me retornando o valor de 0. Como faço pra ele calcular corretamente ? #include <stdio.h> #include <stdlib.h> #include <string.h> struct questionario { char nome [40]; char sexo [40]; int idade; float renda; char fumante [40]; char esportes [40]; char atividade [40]; }; int op; void limpa_linha() { scanf("%*[^\n]"); scanf("%*c"); } int main () { char estatistica [40], nomepesquisa[40]; int i,total_h=0,total_m=0, faixa_e=0, total_f=0; float perc_h, perc_m, perc_faixa,perc_f, renda_media,renda_total=0; struct questionario respostas[5]; FILE *arquivo; arquivo= fopen ("resposta.txt", "w"); if (arquivo == NULL) { printf ("Erro na abertura do arquivo!"); } // cadastrando // do { for (i=0; i<5; i++) { printf ("Digite o seu nome:"); scanf ("%s", respostas[i].nome); limpa_linha(); fprintf (arquivo, "Nome: %s ",respostas[i].nome); printf ("Digite o seu sexo - F p/Feminino, M p/ Masculino e O p/ Outro: "); scanf ("%s", respostas[i].sexo); limpa_linha(); fprintf (arquivo,"Sexo: %s ", respostas[i].sexo); printf ("Digite a sua idade:"); scanf ("%d", &respostas[i].idade); limpa_linha(); fprintf (arquivo, "Idade: %d ", respostas[i].idade); printf ("Digite a sua renda:"); scanf ("%2.f", &respostas[i].renda); limpa_linha(); fprintf (arquivo, "Renda: %2.f ", respostas[i].renda); printf ("Eh fumante ? - S p/ Sim e N p/ Nao: "); scanf ("%s", respostas[i].fumante); limpa_linha(); fprintf (arquivo, "Eh fumante?: %s ", respostas[i].fumante); printf ("Gosta de esportes? - S p/ Sim e N p/ Nao:"); scanf ("%s", respostas[i].esportes); limpa_linha(); fprintf (arquivo, "Gosta de esportes?: %s ", respostas[i].esportes); printf ("Pratica atividade fisica ? - S p/ Sim e N p/ Nao: "); scanf ("%s", respostas[i].atividade); limpa_linha(); fprintf (arquivo, "Pratica atividade fisica?: %s ", respostas[i].atividade); } fclose (arquivo); printf ("\n Digite 1 para continuar cadastrando:"); scanf ("%d", &op); } while (op==1); // pesquisar // do { arquivo= fopen ("resposta.txt", "r"); printf ("\n Digite 1 para pesquisar por Nome:"); scanf ("%d", &op); if (op==1) { printf ("\n Digite o nome:"); scanf ("%s", nomepesquisa); for (i=0;i<5;i++) { if (!strcmp(respostas[i].nome, nomepesquisa)){ printf ("\n Nome: %s \n Sexo: %s \n Idade: %i \n Renda: %2.f \n Eh fumante?: %s \n Gosta de esportes?: %s \n Pratica atividade fisica?:%s", respostas[i].nome, respostas[i].sexo, respostas[i].idade, respostas[i].renda, respostas[i].fumante, respostas[i].esportes, respostas[i].atividade); } } } fclose (arquivo); printf ("\n Digite 1 para continuar cadastrando:"); scanf ("%d", &op); } while (op==1); // gerar estatistica printf ("\n Digite 2 para gerar estatistica:"); scanf ("%d", &op); // percentual de homens e mulheres // if (op==2) { for (i=0;i<5;i++) { if (strcmp (respostas[i].sexo, "masculino") == 0) { total_h ++;} } perc_h = total_h * 100.0/5; // perc. homens for (i=0;i<5;i++) { if (strcmp (respostas[i].sexo, "feminino")==0) { total_m++;} } perc_m= total_m *100.0/5; // perc. mulheres printf("O percentual de homens e mulheres eh de: %2.f %2.f \n", perc_h, perc_m); // percentual de pessoas na faixa etária de 18 a 40 anos // for (i=0;i<5;i++) { if (respostas[i].idade >18) if (respostas[i].idade <40) { faixa_e ++; } } perc_faixa= faixa_e *100.0/5; printf ("O percentual de pessoas na faixa etaria de 18 a 40 eh de: %2.f \n", perc_faixa); // percentual de fumantes// for (i=0;i<5;i++) { if (strcmp (respostas[i].fumante,"sim") ==0) { total_f ++; } } perc_f= total_f * 100.0/5; printf ("O percentual de fumantes eh de: %2.f\n", perc_f); // renda média de todos os entrevistados // for (i=0;i<5;i++) { renda_total =respostas[i].renda ++; } renda_media = renda_total/5; printf ("A renda media de todos os entrevistados eh de: %2.f \n", renda_media); } fclose(arquivo); system ("pause"); return 0; } Segue a parte do código referente ao cálculo da renda: // renda média de todos os entrevistados // for (i=0;i<5;i++) { renda_total =respostas[i].renda ++; } renda_media = renda_total/5; printf ("A renda media de todos os entrevistados eh de: %2.f \n", renda_media);
  7. @devair1010 #include <stdio.h> #include <stdlib.h> #include <string.h> struct questionario { char nome [40]; char sexo [40]; int idade; float renda; char fumante [40]; char esportes [40]; char atividade [40]; }; int op; void limpa_linha() { scanf("%*[^\n]"); scanf("%*c"); } int main () { char estatistica [40], nomepesquisa[40]; int i,total_h=0,total_m=0, faixa_e=0, total_f=0; float perc_h, perc_m, perc_faixa,perc_f, renda_media,renda_total=0; struct questionario respostas[5]; FILE *arquivo; arquivo= fopen ("resposta.txt", "w"); if (arquivo == NULL) { printf ("Erro na abertura do arquivo!"); } // cadastrando // do { for (i=0; i<5; i++) { printf ("Digite o seu nome:"); scanf ("%s", respostas[i].nome); limpa_linha(); fprintf (arquivo, "Nome: %s ",respostas[i].nome); printf ("Digite o seu sexo - F p/Feminino, M p/ Masculino e O p/ Outro: "); scanf ("%s", respostas[i].sexo); limpa_linha(); fprintf (arquivo,"Sexo: %s ", respostas[i].sexo); printf ("Digite a sua idade:"); scanf ("%d", &respostas[i].idade); limpa_linha(); fprintf (arquivo, "Idade: %d ", respostas[i].idade); printf ("Digite a sua renda:"); scanf ("%2.f", &respostas[i].renda); limpa_linha(); fprintf (arquivo, "Renda: %2.f ", respostas[i].renda); printf ("Eh fumante ? - S p/ Sim e N p/ Nao: "); scanf ("%s", respostas[i].fumante); limpa_linha(); fprintf (arquivo, "Eh fumante?: %s ", respostas[i].fumante); printf ("Gosta de esportes? - S p/ Sim e N p/ Nao:"); scanf ("%s", respostas[i].esportes); limpa_linha(); fprintf (arquivo, "Gosta de esportes?: %s ", respostas[i].esportes); printf ("Pratica atividade fisica ? - S p/ Sim e N p/ Nao: "); scanf ("%s", respostas[i].atividade); limpa_linha(); fprintf (arquivo, "Pratica atividade fisica?: %s ", respostas[i].atividade); } fclose (arquivo); printf ("\n Digite 1 para continuar cadastrando:"); scanf ("%d", &op); } while (op==1); // pesquisar // do { arquivo= fopen ("resposta.txt", "r"); printf ("\n Digite 1 para pesquisar por Nome:"); scanf ("%d", &op); if (op==1) { printf ("\n Digite o nome:"); scanf ("%s", nomepesquisa); for (i=0;i<5;i++) { if (!strcmp(respostas[i].nome, nomepesquisa)){ printf ("\n Nome: %s \n Sexo: %s \n Idade: %i \n Renda: %2.f \n Eh fumante?: %s \n Gosta de esportes?: %s \n Pratica atividade fisica?:%s", respostas[i].nome, respostas[i].sexo, respostas[i].idade, respostas[i].renda, respostas[i].fumante, respostas[i].esportes, respostas[i].atividade); } } } fclose (arquivo); printf ("\n Digite 1 para continuar cadastrando:"); scanf ("%d", &op); } while (op==1); // gerar estatistica printf ("\n Digite 2 para gerar estatistica:"); scanf ("%d", &op); // percentual de homens e mulheres // if (op==2) { for (i=0;i<5;i++) { if (strcmp (respostas[i].sexo, "masculino") == 0) { total_h ++;} } perc_h = total_h * 100.0/5; // perc. homens for (i=0;i<5;i++) { if (strcmp (respostas[i].sexo, "feminino")==0) { total_m++;} } perc_m= total_m *100.0/5; // perc. mulheres printf("O percentual de homens e mulheres eh de: %2.f %2.f \n", perc_h, perc_m); // percentual de pessoas na faixa etária de 18 a 40 anos // for (i=0;i<5;i++) { if (respostas[i].idade >18) if (respostas[i].idade <40) { faixa_e ++; } } perc_faixa= faixa_e *100.0/5; printf ("O percentual de pessoas na faixa etaria de 18 a 40 eh de: %2.f \n", perc_faixa); // percentual de fumantes// for (i=0;i<5;i++) { if (strcmp (respostas[i].fumante,"sim") ==0) { total_f ++; } } perc_f= total_f * 100.0/5; printf ("O percentual de fumantes eh de: %2.f\n", perc_f); // renda média de todos os entrevistados // for (i=0;i<5;i++) { renda_total+=respostas[i].renda; } renda_media = renda_total/5; printf ("A renda media de todos os entrevistados eh de: %2.f \n", renda_media); } fclose(arquivo); system ("pause"); return 0; } Só quero calcular a média da renda, quanto aos outros cálculos irei deixar assim mesmo. Fiz como pontuou aqui Porém, ele não me retorna o valor corretamente.
  8. Olá, estou com problemas no cálculo de média de renda no meu código. Segue código abaixo: #include <stdio.h> #include <stdlib.h> #include <string.h> struct questionario { char nome [40]; char sexo [40]; int idade; float renda; char fumante [40]; char esportes [40]; char atividade [40]; }; int op; void limpa_linha() { scanf("%*[^\n]"); scanf("%*c"); } int main () { char estatistica [40], nomepesquisa[40]; int i,total_h=0,total_m=0, faixa_e=0, total_f=0,renda_total=0; float perc_h, perc_m, perc_faixa,perc_f, renda_media; struct questionario respostas[5]; FILE *arquivo; arquivo= fopen ("resposta.txt", "w"); if (arquivo == NULL) { printf ("Erro na abertura do arquivo!"); } // cadastrando // do { for (i=0; i<5; i++) { printf ("Digite o seu nome:"); scanf ("%s", respostas[i].nome); limpa_linha(); fprintf (arquivo, "Nome: %s ",respostas[i].nome); printf ("Digite o seu sexo - F p/Feminino, M p/ Masculino e O p/ Outro: "); scanf ("%s", respostas[i].sexo); limpa_linha(); fprintf (arquivo,"Sexo: %s ", respostas[i].sexo); printf ("Digite a sua idade:"); scanf ("%d", &respostas[i].idade); limpa_linha(); fprintf (arquivo, "Idade: %d ", respostas[i].idade); printf ("Digite a sua renda:"); scanf ("%2.f", &respostas[i].renda); limpa_linha(); fprintf (arquivo, "Renda: %2.f ", respostas[i].renda); printf ("Eh fumante ? - S p/ Sim e N p/ Nao: "); scanf ("%s", respostas[i].fumante); limpa_linha(); fprintf (arquivo, "Eh fumante?: %s ", respostas[i].fumante); printf ("Gosta de esportes? - S p/ Sim e N p/ Nao:"); scanf ("%s", respostas[i].esportes); limpa_linha(); fprintf (arquivo, "Gosta de esportes?: %s ", respostas[i].esportes); printf ("Pratica atividade fisica ? - S p/ Sim e N p/ Nao: "); scanf ("%s", respostas[i].atividade); limpa_linha(); fprintf (arquivo, "Pratica atividade fisica?: %s ", respostas[i].atividade); } fclose (arquivo); printf ("\n Digite 1 para continuar cadastrando:"); scanf ("%d", &op); } while (op==1); // pesquisar // do { arquivo= fopen ("resposta.txt", "r"); printf ("\n Digite 1 para pesquisar por Nome:"); scanf ("%d", &op); if (op==1) { printf ("\n Digite o nome:"); scanf ("%s", nomepesquisa); for (i=0;i<5;i++) { if (!strcmp(respostas[i].nome, nomepesquisa)){ printf ("\n Nome: %s \n Sexo: %s \n Idade: %i \n Renda: %2.f \n Eh fumante?: %s \n Gosta de esportes?: %s \n Pratica atividade fisica?:%s", respostas[i].nome, respostas[i].sexo, respostas[i].idade, respostas[i].renda, respostas[i].fumante, respostas[i].esportes, respostas[i].atividade); } } } fclose (arquivo); printf ("\n Digite 1 para continuar cadastrando:"); scanf ("%d", &op); } while (op==1); // gerar estatistica printf ("\n Digite 2 para gerar estatistica:"); scanf ("%d", &op); // percentual de homens e mulheres // if (op==2) { for (i=0;i<5;i++) { if (strcmp (respostas[i].sexo, "masculino") == 0) { total_h ++;} } perc_h = total_h * 100.0/5; // perc. homens for (i=0;i<5;i++) { if (strcmp (respostas[i].sexo, "feminino")==0) { total_m++;} } perc_m= total_m *100.0/5; // perc. mulheres printf("O percentual de homens e mulheres eh de: %2.f %2.f \n", perc_h, perc_m); // percentual de pessoas na faixa etária de 18 a 40 anos // for (i=0;i<5;i++) { if (respostas[i].idade >18) if (respostas[i].idade <40) { faixa_e ++; } } perc_faixa= faixa_e *100.0/5; printf ("O percentual de pessoas na faixa etaria de 18 a 40 eh de: %2.f \n", perc_faixa); // percentual de fumantes// for (i=0;i<5;i++) { if (strcmp (respostas[i].fumante,"sim") ==0) { total_f ++; } } perc_f= total_f * 100.0/5; printf ("O percentual de fumantes eh de: %2.f\n", perc_f); // renda média de todos os entrevistas // fscanf (arquivo,"%2.f", respostas[i].renda); for (i=0;i<5;i++) { renda_total ++; } renda_media = renda_total/5; printf ("A renda media de todos os entrevistados eh de: %2.f \n", renda_media); } fclose(arquivo); system ("pause"); return 0; }
  9. @iHollyZinhO Referente ao 1º problema, já me falaram sobre não ser necessário usar o operador &, mas preciso para poder armazenar o valor, caso contrário, meu programa não roda. 2º problema: Esqueci de apagar a parte referente ''s para sim e n para nao''.. Optei por deixar que o usuário digite "sim'' ou ''nao'' mesmo. Se trata de um vetor e uma string, a comparação é utilizada com strcmp. 3º Se a função sctrcmp for verdadeira, ele irá armazenar o valor numa variável do tipo int (exemplo: ele lê quais vetores possuem como resposta feminino p/ sexo e a quantidade é o número total de mulheres)
  10. Olá, estou com problemas na parte de calcular os percentuais. O que preciso fazer para calcular o percentual corretamente ? #include <stdio.h> #include <stdlib.h> #include <string.h> struct entrevistas { char sexo [40]; int idade; char fumante [40]; }; int main () { int i,total_f,total_homens,homens,total_mulheres, mulheres; float perc_f, perc_h,perc_m; struct entrevistas pessoas[10]; FILE *arquivo; arquivo= fopen ("resposta.txt", "w"); if (arquivo ==NULL) { printf ("Erro na abertura do arquivo"); } // armazenando respostas // for (i=0; i<9; i++) { printf ("Digite o seu sexo - F p/ Feminino e M p/ Masculino:"); scanf ("%s", &pessoas[i].sexo); fprintf (arquivo, "%s", pessoas[i].sexo); printf ("Digite a sua idade:"); scanf ("%d", &pessoas[i].idade); fprintf (arquivo, "%d", pessoas[i].idade); printf ("Eh fumante ? - S p/ Sim e N p/ Nao:"); scanf ("%s", &pessoas[i].fumante); fprintf (arquivo, "%s", pessoas[i].fumante); } // percentual de fumantes em relação ao total // for (i=0;i<9;i++) { if (strcmp(pessoas[i].fumante, "sim") == 0) { scanf ("%i", &total_f); perc_f = total_f * 4/100; } printf ("O percentual de fumantes em relação ao total eh de: %2.f\n ", perc_f); } // percentual de homens não fumantes abaixo de 40 anos em relação ao total de homens // for (i=0;i<9;i++) { if (strcmp (pessoas[i].fumante, "nao") ==0) { if (pessoas[i].idade < 40) { scanf ("%i", &homens); if (strcmp(pessoas[i].sexo, "masculino")==0) { scanf ("%i", &total_homens); } } } perc_h = homens * total_homens /100; } printf ("O percentual de homens n fumantes abaixo de 40 em relação ao total de homens eh: %2.f \n", perc_h); // percentual de mulheres fumantes acima de 40 anos em relação ao total de mulheres// for (i=0;i<9;i++) { if (strcmp (pessoas[i].fumante, "sim") == 0) { if (pessoas[i].idade >40) scanf ("%i", &mulheres); if (strcmp (pessoas[i].sexo, "feminino") ==0 ) { scanf ("%i", &total_mulheres); } } perc_m = mulheres * total_mulheres / 100; } printf ("O percentual de mulheres fumantes acima de 40 em relação ao total de mulheres eh: %2.f \n", perc_m); fclose (arquivo); return 0; }
  11. Olá, sou iniciante em C e estou com dúvidas a respeito do meu código. Preciso que ele realize uma busca no meu arquivo txt, ou seja, o usuário digita um nome e se o nome estiver no arquivo, ele exibe todos os dados referentes a esse nome. Qual estrutura eu preciso utilizar para que ele realize a pesquisa e exiba os dados na tela ? #include <stdlib.h> #include <stdio.h> #include <string.h> struct Pesquisa{ char Nome[40]; char Sexo[10]; int Idade; float Renda; char Fumante[10]; char Esporte[10]; char Afisica[10]; }; int main(){ int i; struct Pesquisa vetor[1]; FILE *arquivo; arquivo = fopen("Respostas.txt" ,"w"); if(arquivo != NULL){ for(i=0; i<1;i++){ printf ("Informe seu Nome:"); scanf ("%s",&vetor[i].Nome); fprintf(arquivo, "Nome: %s\n", vetor[i].Nome); printf ("Informe seu sexo Para Masculino(M) para Feminino(F) ou O pra outros:"); scanf ("%s",&vetor[i].Sexo); fprintf(arquivo,"Sexo: %s\n" ,vetor[i].Sexo); printf ("Informe seu idade:"); scanf("%d",&vetor[i].Idade); fprintf(arquivo,"Idade: %d\n" , vetor[i].Idade); printf("Informe seu renda:"); scanf("%f",&vetor[i].Renda); fprintf(arquivo,"Renda:%f\n", vetor[i].Renda); printf("voce e Fumante Sim(S) ou Nao (N):"); scanf("%s",&vetor[i].Fumante); fprintf(arquivo, "Fumante: %s\n",vetor[i].Fumante); printf("voce Gosta de esporte Sim(S) ou Nao(N):"); scanf("%s",&vetor[i].Esporte); fprintf(arquivo,"Gosta de Esporte: %s\n", vetor[i].Esporte); printf("voce pratica Atividade Fisica:"); scanf("%s",&vetor[i].Afisica); fprintf(arquivo,"Pratica Atividade Fisica:%s\n",vetor[i].Afisica); } }else{ printf(" Erro"); } fclose (arquivo); system ("pause"); return 0; }
  12. @devair1010 Desculpa, não consigo entender seu código... eu só quero saber como faço pra pegar a string que está no txt e exibir na tela o nome + outros dados..
  13. Como eu colocaria esses dados na struct no inicio do código ?
  14. Olá, sou iniciante em C e estou com problemas no meu código. Na parte de pesquisar os clientes, ele não me retorna nada do arquivo. Segue código abaixo. #include <stdio.h> #include <stdlib.h> #include <string.h> struct questionario { char nome [40]; char sexo [40]; int idade; float renda; char fumante [40]; char esportes [40]; char atividade [40]; }; int op; int i; int main () { int i; struct questionario respostas[4]; FILE *arquivo; // MENU DE OPÇÕES // printf ("Digite 1 para cadastrar uma nova entrevista : \n"); printf ("Digite 2 para pesquisar uma entrevista : \n"); printf ("Digite 3 para gerar estatisticas sobre as entrevistas :\n "); scanf ("%d", &op); // CADASTRAR NOVA ENTREVISTA // switch (op) { case 1: arquivo= fopen ("resposta.txt", "a"); if (arquivo == NULL) { printf ("Erro na abertura do arquivo!"); } do { { printf ("Digite o seu nome:"); scanf ("%s", &respostas[i].nome); fprintf (arquivo, "Nome: %s \n",respostas[i].nome); printf ("Digite o seu sexo - F p/Feminino, M p/ Masculino e O p/ Outro: "); scanf ("%s", &respostas[i].sexo); fprintf (arquivo,"Sexo: %s \n", respostas[i].sexo); printf ("Digite a sua idade:"); scanf ("%d", &respostas[i].idade); fprintf (arquivo, "Idade: %d \n", respostas[i].idade); printf ("Digite a sua renda:"); scanf ("%f", &respostas[i].renda); fprintf (arquivo, "Renda: %f \n", respostas[i].renda); printf ("Eh fumante ? - S p/ Sim e N p/ Nao: "); scanf ("%s", &respostas[i].fumante); fprintf (arquivo, "Eh fumante?: %s \n", respostas[i].fumante); printf ("Gosta de esportes? - S p/ Sim e N p/ Nao:"); scanf ("%s", &respostas[i].esportes); fprintf (arquivo, "Gosta de esportes?: %s \n", respostas[i].esportes); printf ("Pratica atividade fisica ? - S p/ Sim e N p/ Nao: "); scanf ("%s", &respostas[i].atividade); fprintf (arquivo, "Pratica atividade fisica?: %s \n", respostas[i].atividade); fprintf (arquivo,"----------------------------------------------------------------------- \n"); } fclose (arquivo); printf ("\n Digite 1 para continuar cadastrando:"); scanf ("%d", &op); } while (op==1); // PESQUISAR UMA ENTREVISTA // char nomepesquisa [40]; case 2: arquivo= fopen ("info.txt", "r"); printf ("\n Digite o nome:"); scanf ("%s ", &nomepesquisa); for(i=0;i<4;i++) { if (!strcmp(nomepesquisa,respostas[i].nome)) { printf ("\n Nome: %s",respostas[i].nome); printf ("\n Sexo: %s", respostas[i].sexo); printf ("\n Idade: %d", respostas[i].idade); printf ("\n Renda: %f", respostas[i].renda); printf ("\n Eh fumante?: %s",respostas[i].fumante); printf("\n Gosta de esportes?: %s", respostas[i].esportes); printf ("\n Pratica atividade fisica?: %s", respostas[i].atividade); } } break; system ("pause"); return 0; } }
  15. Olá, sou iniciante em C e estou com dúvida na resolução desse exercício. Segue enunciado, meu código e as dúvidas: 1- O IBOP realizou uma pesquisa a nível nacional e foram entrevistas 30 pessoas. Considere um arquivo de texto “resposta.txt” que contém as respostas de todas as pessoas entrevistadas. Cada registro armazena a resposta de uma pessoa entrevistada através dos seguintes campos: sexo (um caractere, podendo ser ‘M’ ou ‘F’), idade (valor inteiro), fumante (um caractere, podendo ser ‘S’ ou ‘N’). Faça um programa que leia este arquivo e responda as seguintes perguntas: •Qual é o percentual de fumantes em relação ao número total de pessoas entrevistadas? •Qual é o percentual de homens não fumantes abaixo de 40 anos em relação ao número total de homens entrevistados? •Qual é o percentual de mulheres fumantes acima de 40 anos em relação ao número total de mulheres entrevistadas? #include <stdio.h> #include <stdlib.h> #include <string.h> struct entrevistas { char sexo [40]; int idade; char fumante [40]; }; int main () { int i; float perc_f, perc_h, perc_m; struct entrevistas pessoas[4]; FILE *arquivo; arquivo= fopen ("resposta.txt", "w"); if (arquivo ==NULL) { printf ("Erro na abertura do arquivo"); } // armazenando respostas // for (i=0; i<3; i++) { printf ("Digite o seu sexo - F p/ Feminino e M p/ Masculino:"); scanf ("%s", &pessoas[i].sexo); fprintf (arquivo, "%s", pessoas[i].sexo); printf ("Digite a sua idade:"); scanf ("%d", &pessoas[i].idade); fprintf (arquivo, "%d", pessoas[i].idade); printf ("Eh fumante ? - S p/ Sim e N p/ Nao:"); scanf ("%s", &pessoas[i].fumante); fprintf (arquivo, "%s", pessoas[i].fumante); } Coloquei apenas 4 pessoas para teste do for. Gostaria de saber como faço para calcular as porcentagens ?

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