AJUDA PARA RESOLVER PROBLEMA

1. AJUDA PARA RESOLVER PROBLEMA

Juliana Santos
juset

(usa Outra)

Enviado em 17/05/2012 - 11:37h

Então, eu tenho um exercício para entregar até hoje meia noite, e vale ponto extra, estou realmente precisando, eu começei, mas nao sei mais fazer nada. Vou colocar o problema, se alguma alma caridosa puder me dar uma luz, eu agradeço.

ex) Tarefas do dia-a-dia, como subir escadas, dançar ou jogar boliche com os amigos, também ajudam a gastar calorias. Em média, durante os primeiros 15 minutos de exercício, o organismo consome preferencialmente o glicogênio. Depois desse tempo, em geral, a gordura passa a ser consumida em maior intensidade, como forma de produzir energia.

Considere que no arquivo calorias.txt (com no máximo 40 atividades) estejam armazenados os códigos de algumas atividades físicas e respectivos gastos calóricos por minuto, como por exemplo, a tabela abaixo:

Atividade Física Código ( CNN) Calorias por minuto
Corrida.......................100.......20
Pular corda...................400.......15
Vôlei.........................201.......15
Luta Livre....................300.......14,4
Natação (Borboleta)...........204.......14
Subir Escada..................300.......14
Futebol.......................202.......13,3
Judô/Carate...................210.......13
Alpinismo.....................301.......12
Natação.......................203.......12
Andar em Subida...............101.......11
Tênis.........................205.......11
Cooper........................102.......10
Handebol......................206.......10
Basquete......................207.......9
Boxe..........................208.......9
Andar no plano................103.......8
Boliche.......................301.......7
Remar.........................302.......7

Os códigos das atividades possuem a seguinte formação: CNN
c-> tipo da atividade (4 tipos diferentes 1,2,3,4)
nn-> nº

Faça um programa que capture do teclado o nº da pessoa, o tempo que disponibiliza para atividades físicas e o código da atividade física preferida, salvando no arquivo “opçoes.txt” , seu nº, a quantidade de calorias gasta em sua atividade preferida e as calorias que gastaria em cada uma das outras atividades de mesmo tipo. Término da entrada de dados: nº da pessoa <=0
No final seu programa deve exibir o tipo de atividade(1,2, 3 ou 4) preferida dos usuários (a que foi mais escolhida entre as digitadas)


Sua solução deve ser modularizada. Crie além da função abaixo, pelo menos mais duas funções além da main()

a) Faça a função quebra_codigo(...) que recebe o código de uma atividade e coloque os valores de C e NN nas variáveis cujos endereços são fornecidos na chamada da função.

Dica: código 205: c= 2 (200/100) nn= 5 (205%100)
Para o arquivo calorias.txt abaixo:

100 20
400 15
201 15
300 14.4
204 14
300 14
202 13.3
210 13
301 12
203 12
101 11
205 11
102 10
206 10
207 9
208 9
103 8
301 7
302 7


Com as seguintes entradas de dados:
Nº tempo atividade
1 30 100
2 30 204
3 30 102
4 30 205
5 30 301
6 2 201
0


O arquivo opções.txt fica com:
1 - 100(nºatividade) 600.00(cal) 101 330.00 102 300.00 103 240.00
2 - 204 420.00 201 450.00 202 399.00 210 390.00 203 360.00 205 330.00 206 300.00 207 270.00 208 270.00
3 -102 300.00 100 600.00 101 330.00 103 240.00
4 - 205 330.00 201 450.00 204 420.00 202 399.00 210 390.00 203 360.00 206 300.00 207 270.00 208 270.00
5 - 301 360.00 300 432.00 300 420.00 302 210.00
6 - 201 30.00 204 28.00 202 26.60 210 26.00 203 24.00 205 22.00 206 20.00 207 18.00 208 18.00

E o tipo de atividade preferida: 2


O MEU, QUE EU COMEÇEI A FAZER ESTÁ ASSIM( nao sei mais o que tenho que fazer):

#include <stdio.h>
#include <stdlib.h>

void quebra_codigo(int *c, int *nn)
{
int codigo;

printf("qual eh o codigo da sua atividade favorita?: ");
scanf("%d",&codigo);
*c=(codigo)/100;
*nn=(codigo%100);
}
void preenche_vetor (int n, int v[])
{
int i;
FILE *fp;

fp=fopen("CALORIAS.txt","r");
if(fp=NULL)
{
printf("erro ao ler o arquivo!!");
return(0);
}

i=0;
while(i<n)
{
v[i]=
}

}

int main (void)
{
int *c, *nn, n, v_codigo[4],v_calorias[19],tempo,codigo,i;
FILE*sai;
sai=fopen("opcoes.txt","w");
if(sai==NULL)
{
printf("erro ao abrir o arquivo");
}

printf("Informe seu numero: ");

while(n>0)
{
printf("informe: o seu numero, o tempo disponivel e o codigo da atividade favorita: ");
fscanf(sai,"%d%d%d",&n,&tempo,&codigo);

}

}


  


2. Re: AJUDA PARA RESOLVER PROBLEMA

Juliana Santos
juset

(usa Outra)

Enviado em 19/05/2012 - 17:36h

ALGUÉEEEEEM? UMA LUUUUZ POR FAVORRRRRRRR!!!!!!!


3. Re: AJUDA PARA RESOLVER PROBLEMA

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/05/2012 - 21:28h

Amigo, eu entrei aqui para ajudar, mas o que vi é que vc quer que alguém termine ou resolva seu exercício. Na vida profissional vc não poderá contar com isso. Sugiro vc tentar e postar a dúvida que tiver, aí sim sempre terá alguém disposto a ajudar.

Sucesso.


4. Re: AJUDA PARA RESOLVER PROBLEMA

Juliana Santos
juset

(usa Outra)

Enviado em 19/05/2012 - 23:13h

então, eu postei uma parte do que eu fiz, queria saber se tem algum erro..


5. Re: AJUDA PARA RESOLVER PROBLEMA

Sergio Teixeira - Linux User # 499126
Teixeira

(usa Linux Mint)

Enviado em 19/05/2012 - 23:46h

A melhor maneira de ficar sabendo é criar coragem, rodar o programa e inserir alguns dados predeterminados, sabendo de antemão quais seriam os resultados.
Se der erro, aí então "corra atrás do prejuízo" para ver onde foi que a zebra se escondeu.
Depois que você adquirir um pouco de confiança em programação, saberá logo se cometeu ou não algum erro.
Enquanto isso, tome especial cuidado com entradas e saídas de subrotinas, para não escrever nenhum loop infinito (o terror de qualquer programador novato e até mesmo de alguns veteranos)..

Aliás, esse é exatamente o motivo de ser tão difícil arranjar vaga para estágio em programação.
Ou o estagiário ("estagnário") programa, ou não programa.
Nunca dá para ficar refazendo código alheio sem prejuízo do expediente normal da empresa, e que normalmente já é bastante apertado.

Vá se acostumando: Vida de programador NUNCA é justa...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts