Ir para conteúdo
Fórum Script Brasil

C Rodolfo Gomes

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre C Rodolfo Gomes

C Rodolfo Gomes's Achievements

0

Reputação

  1. Estou iniciando, ainda sei muito pouco e estou travando bastante, por isso procurei um fórum pra que boas almas possam me ajudar quando estiver travado sem conseguir sair de determinado problema, desde já agradeço. Quando chamo a função calc_dados no meu while ela não executa, o compilador pula a função e pede novamente o cpf. #include<stdio.h> #include<stdlib.h> #include<locale.h> #include<string.h> typedef struct { char cpf[11], nome[30], sexo, profissao[30]; int idade; float valordoacao; }ficha_inscricao; //Primeiro o nome da struct ficha_inscricao ficha; //Segundo nome da struct seguido do nome da variavel tipo struct int totH = 0, totM = 0, tot60 = 0, tot1000 = 0; //Terceiro Declaração das variaveis globais, todas elas nessa questão são variaveis Contadoras. float valorarrecadado = 0; //Fazer a função pra calcular dados solicitados, errei por que declarei a função do tipo inteiro e nesse caso o certo é void. Por que não vai ser //necessario retornar um valor. void calc_dados(char pSexo, int pIdade, float pValordoacao){ //Vamos utilizar os parametros dentro do if, e as variaveis globais de contador. if(pSexo == 'm' || pSexo == 'M') totH++; else if(pSexo == 'f' || pSexo == 'F') totM++; if(pIdade > 60) tot60++; if(pValordoacao > 1000) tot1000++; valorarrecadado += pValordoacao; } void exibe_resultados(void) { printf("\nA quantidade de homens incritos é: %d\n", totH); printf("\nA quantidade de mulheres incritas é: %d", totM); printf("\nA quantidade de pessoas com mais de 60 anos incritos é: %d", tot60); printf("\nA quantidade de pessoas que doou mais de 1000 reais é: %d", tot1000); printf("\nO valor arrecadado é: %.1f", valorarrecadado); } main () { setlocale(LC_ALL, "Portuguese"); printf("Informe o cpf:"); scanf("%s", &ficha.cpf); while(strcmp(ficha.cpf, "0") != 0){ //Vai comparar a string digitada com 0, caso não seja 0 vai executar o while. printf("Digite nome:\n"); scanf("%s", &ficha.nome); printf("Informe o sexo: [M]-Masculino ou [F]-Feminino\n"); scanf("%s", &ficha.sexo); printf("Informe a profissão:\n"); scanf("%s", &ficha.profissao); printf("Digite a idade:\n"); scanf("%d", &ficha.idade); printf("Informe o valor doado:\n"); scanf("%f", &ficha.valordoacao); //Depois de pedir manualmente os valores necessarios chama-se a função e passa os parametros associados a string. calc_dados(ficha.sexo, ficha.idade, ficha.valordoacao); //Agora se pede o item que faz a condição de parada do laço pra que seja executado novamente ou saia. printf("Digite o cpf:\n"); scanf("%s", &ficha.cpf); } //Terminado o laço, se chama a função pra mostrar os resultados que a questão pede. exibe_resultados(); system("PAUSE"); }
×
×
  • Criar Novo...