Ir para conteúdo
Fórum Script Brasil

beradero

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre beradero

beradero's Achievements

0

Reputação

  1. Usa um switch com o char do operador..
  2. Aqui funciona perfeitamente assim: #include <stdlib.h> #include <stdio.h> void calculaimc(float *peso, float *altura, float *imc, int qtd) { int i; for (i = 0; i < qtd; ++i){ printf("Informe o %d-esimo peso: ",i+1); scanf("%f",&peso[i]); } for (i = 0; i < qtd; ++i){ printf("Informe a %d-esima altura: ",i+1); scanf("%f",&altura[i]); } for (i = 0; i < qtd; ++i) imc[i] = peso[i] / (altura[i] * altura[i]); } int main(int argc, char* argv[]) { float *peso, *altura, *imc; int qtd, i; printf("Sera feito o cadastro de quantas pessoas? \n"); scanf("%d",&qtd); peso = (float *) malloc(qtd * sizeof(float)); altura = (float *) malloc(qtd * sizeof(float)); imc = (float *) malloc(qtd * sizeof(float)); calculaimc(peso, altura, imc, qtd); for (i = 0; i < qtd; ++i) printf("O %d-esimo peso é:%f e a altura é:%f e seu IMC é:%f \n",i+1, peso[i], altura[i], imc[i]); return 0; }
  3. #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 10 #define VALIDO 1 #define INVALIDO 0 int main(void){ int i, j, status; int A[N]; srand(time(NULL)); for (i = 0; i < N; ++i) { do { A[i] = rand() % N; status = VALIDO; for (j = 0; j < i; ++j) if (A[i] == A[j]) status = INVALIDO; } while (status == INVALIDO); printf("%d ", A[i]); } return 0; } Para deixar o codigo mais rapido: for (i = 0; i < N; ++i) { do { A[i] = rand() % N; status = VALIDO; for (j = 0; (j < i) && (status == VALIDO); ++j) if (A[i] == A[j]) status = INVALIDO; } while (status == INVALIDO); printf("%d ", A[i]); }
  4. Não programo em c++, porem em c isso não é possivel (a não ser que você declare o vetor como variavel global, mas isso não vem ao caso), pois o vetor deixa de existir assim que a função retorna. Você poderia passar um vetor como argumento da função e atribuir os valores a ele.
  5. Voce esta chamando a função imc() varia vezes, por isso ele pede as informações varias vezes. A função imc() só retorna o imc da ultima pessoa, pois você está atribuindo varios valores a uma mesma variavel. Voce poderia criar um ponteiro float *imc no main() e usar ele para receber os valores do imc de cada pessoa.. mais ou menos assim: //funcao void imc(float *peso,float *altura, float *imc, int qtd) { for (int i=0; i<qtd; i++) { printf("Informe o %d-esimo peso: ",i+1); scanf("%f",&peso); } for (int i=0; i<qtd; i++){ printf("Informe a %d-esima altura: ",i+1); scanf("%f",&altura); } for (int i=0; i<qtd; i++){ imc = peso / (altura * altura); } } //main float *peso, *altura, *imc; . . peso=(float*)malloc(qtd*sizeof(float)); altura=(float*)malloc(qtd*sizeof(float)); imc=(float*)malloc(qtd*sizeof(float)); . . for (int i=0; i<qtd; i++) { printf("O %d-esimo peso é:%f e a altura é:%f e seu IMC é:%f \n",i+1, peso, altura, imc); } return 0; } Ps.: O que esses "_t" estão fazendo main()? e esse stdafx.h? Você não esta usando a math.h.. você não incluiu a stdio.h.. Espero ter ajudado..
×
×
  • Criar Novo...