Ir ao conteúdo
  • Cadastre-se

elyastrid

Membros Plenos
  • Total de itens

    24
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. 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);
  2. @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.
  3. 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; }
  4. @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)
  5. 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; }
  6. 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; }
  7. @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..
  8. Como eu colocaria esses dados na struct no inicio do código ?
  9. 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; } }
  10. 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 ?
  11. @r_Tray #include <stdio.h> #include <stdlib.h> #include <string.h> struct dados { char nome [40]; int telefone; }; int op; int i; int main (){ char pesquisar[40]; struct dados clientes[4]; FILE *arquivo; arquivo = fopen ("info.txt","w"); if (arquivo==NULL) { printf ("Erro na abertura do arquivo!"); } // armazenar os dados // for (i=0;i<3;i++) { printf ("Digite o seu nome:"); scanf ("%s",&clientes[i].nome); fprintf (arquivo, "Nome: %s \n", clientes[i].nome); printf ("Digite o seu telefone:"); scanf ("%d", &clientes[i].telefone); fprintf (arquivo, "Telefone: %d \n", clientes[i].telefone); fprintf (arquivo, "----------------------------------------- \n"); } fclose(arquivo); // pesquisar // char nomepesquisa[40]; int telefonepesquisa; do { arquivo= fopen ("info.txt", "r"); printf ("\n Digite 1 para pesquisar por Nome ou 2 p/ pesquisar por telefone:"); scanf ("%d", &op); switch (op) { case 1: printf ("\n Digite o nome:"); scanf ("%s", &nomepesquisa); for (i=0;i<3;i++) { if (clientes[i].nome == nomepesquisa) { printf ("\n Nome: %s \n Telefone: %d",clientes[i].nome, clientes[i].telefone); } } break; case 2: printf ("\n Digite o telefone:"); scanf("%d", &telefonepesquisa); for (i=0;i<3;i++) { if (clientes[i].telefone == telefonepesquisa) { printf ("\n Telefone: %d Nome: %s", clientes[i].telefone, clientes[i].nome); } } break; default: printf ("\n Opcao invalida:"); break; } printf ("\n Digite 1 para continuar pesquisando:"); scanf ("%d", &op); } while (op==1); fclose(arquivo); system ("pause"); return 0; } Onde eu deveria inserir esse void para limpar as linhas ? E não consigo executar quando pesquiso pelo nome, apenas pelo telefone...
  12. Olá, sou iniciante em C e estou com dúvidas em relação a esse exercício. Segue abaixo o exercício, meu código e minhas dúvidas. #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 main () { char estatistica [40]; int i; struct questionario respostas[4]; FILE *arquivo; arquivo= fopen ("resposta.txt", "w"); if (arquivo == NULL) { printf ("Erro na abertura do arquivo!"); } for (i=0; i<4; i++) { 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"); } system ("pause"); return 0; } Gostaria de saber como faço para pesquisar um dos nomes já inseridos e mostrar na tela todos os dados da pessoa pesquisada ? E, quanto as estatísticas, eu teria que criar um if para puxar se as respostas são "S" ou "N" ?
  13. Olá, sou iniciante em C e estou com dúvidas na resolução desse exercício. Segue enunciado, meus código e minhas dúvidas abaixo. 1) Faça um programa que leia o nome e telefone de 10 clientes e armazene as informações fornecidas dentro de um arquivo de texto. Após o armazenamento, o seu programa deverá ser capaz de pesquisar um cliente sempre que necessário. #include <stdio.h> #include <stdlib.h> struct dados { char nome [40]; int telefone; }; int main () { int i; struct dados clientes[4]; FILE *arquivo; arquivo = fopen ("info.txt","w"); if (arquivo==NULL) { printf ("Erro na abertura do arquivo!"); } // armazenar os dados // for (i=0;i<3;i++) { printf ("Digite o seu nome:"); scanf ("%s",&clientes[i].nome); fprintf (arquivo, "%s \n", clientes[i].nome); printf ("Digite o seu telefone:"); scanf ("%d", &clientes[i].telefone); fprintf (arquivo, "%d \n", clientes[i].telefone); } fclose(arquivo); system ("pause"); return 0; } Em relação ao primeiro, gostaria de saber como faço para que o programa pesquise um cliente sempre que necessário ?
  14. Estou em dúvida nesse exercício. Segue abaixo o enunciado e o meu código: 1)Foi realizada uma pesquisa entre 500 habitantes de uma certa região. De cada habitante foram coletados os dados: idade, sexo, salário e número de filhos. Crie a estrutura de dados adequada para armazenar estas informações e faça uma função que armazene as informações digitadas pelo usuário na estrutura de dados criada. Faça também uma função que calcula a média do salário dos habitantes. #include <stdio.h> #include <stdlib.h> struct dados{ int idade; char sexo [40]; float salario; int nfilhos; }; int main () { int i; struct dados habitante[4]; for (i=0;i<4;i++) { printf ("Digite a sua idade:"); scanf ("%d", &habitante[i].idade); printf ("Digite o seu sexo - F p/ Feminino e M p/ Masculino:"); scanf ("%s", &habitante[i].sexo); printf ("Digite o seu salario:"); scanf ("%f", &habitante[i].salario); printf ("Digite o numero de filhos:"); scanf ("%d", &habitante[i].nfilhos); } system ("pause"); return 0; } Coloquei apenas 4 habitantes como um teste para o meu for. O exercício pede para que calcule a média de salário do total dos habitantes, ou seja, somar todos os salários e dividir pelo numero de habitantes total. Gostaria de saber como faço para que meu programa leia apenas os salários e some-os ?
  15. @allanxd Funcionou sim. O que isso significa ?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!