Utilizando o programa para manipulação de tabelas HASH, NÃO ACHO O ERRO.

1. Utilizando o programa para manipulação de tabelas HASH, NÃO ACHO O ERRO.

daniel ferreira
jacare015

(usa Outra)

Enviado em 01/03/2017 - 23:36h

#include <stdio.h>
#include <conio.h>
#include <malloc.h>

#define MAX_PARTICOES 100
typedef struct n{
char nome[50];
int peso;
float altura, imc;
struct n *proximo;
}massa;
typedef struct{
massa *table[MAX_PARTICOES];
int n_particoes;
}hash;
void inicializa(hash *h1, int n){
int i;
for(i=0; i < n; i++) {
h1->table[i] = NULL;
}
h1->n_particoes = n;
}
int divisao_inteira(char nome[50], int n_particoes)
{
int lol, soma=0, i=0, valor;
while (nome[i] != '\0')
{
valor=nome[i];
soma=valor+soma;
i++;
}
lol=soma%n_particoes;
return lol;
}
void insere(hash *h1, char nome[50], int peso, float altura){
int part, i;
massa *p;
part = divisao_inteira(nome, h1->n_particoes);
p = (massa*)malloc(sizeof(massa));
strcpy(p->nome, nome);
p->peso = peso;
FILE *salva;
salva = fopen("arquivo.txt","w");

fprintf(save,"%s %i %.2f %.2f",z->nome,z->peso,z->altura,imc);
fclose(save);
z->prox = h1->table[part];
h1->table[part] = z;
}

void imprime_particao(hash h1, int i){
massa *z;
z = h1.table[i];
while(p != NULL)
{
printf("->%s", p->nome);
p = p->prox;
}
}

void imprime_hash(hash h1){
int i;
printf("\n tabelinha \n");
for(i=0; i<h1.n_particoes; i++){
printf("[ %d ] ",i);
imprime_particao(h1,i); printf("\n");
}
}

void main() {
int peso;
float altura, imc;
printf("Vamos calcular esse imc ae, agora preencha esses requisitos ae e #sovamo");
printf("\n--------------DADOS--------------\n");
printf("\n|| Menos de 20 Abaixo do peso ||\n");
printf("\n|| 20 <= IMC < 25 Peso Normal ||\n");
printf("\n|| 25 <= IMC < 30 Acima do peso ||\n");
printf("\n|| 30 <= IMC < 34 Obeso ||\n");
printf("\n|| Acima de 34 obesidade morbida||\n");
printf("\-----------------------------------\n");
printf(" Digite seu peso em kg:\n");
scanf("%d", &peso);
printf("\n Digite sua altura em metros :\n");
scanf("%f", &altura);
imc = peso / (altura * altura);
printf("\n\nIMC = peso / (altura * altura)");

printf("\n teu IMC e = %.2f", imc);
if (imc < 20)
printf(" (abaixo do peso).");
else if ((imc >= 20) && (imc < 25))
printf(" (peso normal).");
else if ((imc >= 25) && (imc < 30))
printf(" (acima do peso).");
else if ((imc >= 30) && (imc < 34))
printf(" (obeso).");
else
printf(" (obesidade morbita).");
}



  


2. Re: Utilizando o programa para manipulação de tabelas HASH, NÃO ACHO O ERRO.

Paulo
paulo1205

(usa Ubuntu)

Enviado em 02/03/2017 - 08:49h

Seria bom se você nos ajudasse a ajudá-lo, dizendo qual o erro e em qual situação ele ocorre. Seria bom, também, que você reformatasse o código que colocou na sua postagem pois, na forma em que está, dificulta a leitura e a compreensão.


3. Re: Utilizando o programa para manipulação de tabelas HASH, NÃO ACHO O ERRO.

daniel ferreira
jacare015

(usa Outra)

Enviado em 02/03/2017 - 13:34h

Eu gostaria de fazer um algoritmo que compare o importante de duas pessoas com esses requisitos. Mais eu travei ai






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts