Ajuda em C

figboy

I folded Myself
Boa tarde a todos. Comecei agora num curso de engenharia de redes e estou a ter dificuldades a resolver um exercicio em C. Basicamente tenho de fazer um programa que me diga quantas notas tenho de dar (notas de 20, 10, e moedas de 1) para determinada quantia.
Já escrevi o código mas não me dá resultado nenhum, não consigo perceber se é o código ou o raciocinio que está mal, se me puderem ajudar agradeço já que sou completamente noob nisto

Código:
#include <stdio.h>
int main () {
int a,b,c,d,e;
b=(a/20);
c=((a%20)/10);
d=((a%20)%(10))/5;
e=(((a%20)%(10))&5)/1;
printf("Inserir quantia em EUR:");
scanf("Quantia: %d",&a);
printf("Notas de 20:%d\n",b);
printf("Notas de 10: %d\n",c);
printf("Notas de 5: %d\n",d);
printf("Moedas de 1: %d\n",e);

return 0;
}


Obrigado desde já
 
#include <stdio.h>
int main () {
int a,b,c,d,e;
printf("Inserir quantia em EUR:");
scanf("Quantia: %d",&a);
b=(a/20);
c=((a%20)/10);
d=((a%20)%(10))/5;
e=(((a%20)%(10))&5)/1;
printf("Notas de 20:%d\n",b);
printf("Notas de 10: %d\n",c);
printf("Notas de 5: %d\n",d);
printf("Moedas de 1: %d\n",e);

return 0;
}

Se estás a ler um numero da consola, como queres fazer calculos com esse numero se ainda não tinhas lido da consola (scanf no final)?
Quanto ao C em si já não me lembro bem porque já não mexo nele há alguns anos, mas como tinhas não ia funcionar de certeza.
 
Demasiado complicado, so meia duzia de profes é que prestam e desses so metade se interessam se estas a aprender ou não... Eu se soubesse o que sei hoje, tinha saido no primeiro ano.. mas fui burro e deixei-me ir ficando...
 
Demasiado complicado, so meia duzia de profes é que prestam e desses so metade se interessam se estas a aprender ou não... Eu se soubesse o que sei hoje, tinha saido no primeiro ano.. mas fui burro e deixei-me ir ficando...

/offtopic

(desculpem o offtopic)

estás a falar do curso de redes ou de CC? (embora fales dos professores e esses sejam partilhados)
O de CC nunca tive uma impressão muito espectacular mas o de redes achava que era bom... Na altura em que tirei o curso estava indeciso entre Eng.Inf. e este de redes na fcup e acabei por ir tirar EI, mas estive mesmo tentado.
 
Desculpem lá, mas não é suposto um curso universitário ser um bocado difícil?
Também tirei redes lá, e quando entrei também me disseram o mesmo, "isto é o fim do mundo", "vais ficar cá 8 anos a fazer analise infinitesimal", "é bue difícil"... pah, é difícil, mas não é super complicado, e os professores que podiam ser os mais lixados e mais desligados já foram.
Fiz redes em 5 anos, e fui muito para a borga e afins... Não acabei com "nótão" mas também não acabei com 10, o curso é fazível e tens tempo para tudo e os prof se "os souberes levar" ajudam-te na boa e não te colocam entraves, muito pelo contrario.

E acredita, o curso é bastante "respeitado" no mercado de trabalho, pelo menos pela zona do porto.

PS: o Rogério é muito bom prof, acredita (apesar de não gostar muito da área de investigação e da matéria das cadeiras dele) ;)
 
Obrigado aos dois pela info. Antes de entrar já sabia que ia ser dificil. Tenho de me aplicar e ver se consigo fazer o curso. Até agora a maior parte até estou a gostar.

Ps: Estou em redes
 
Desculpem lá, mas não é suposto um curso universitário ser um bocado difícil?
Também tirei redes lá, e quando entrei também me disseram o mesmo, "isto é o fim do mundo", "vais ficar cá 8 anos a fazer analise infinitesimal", "é bue difícil"... pah, é difícil, mas não é super complicado, e os professores que podiam ser os mais lixados e mais desligados já foram.
Fiz redes em 5 anos, e fui muito para a borga e afins... Não acabei com "nótão" mas também não acabei com 10, o curso é fazível e tens tempo para tudo e os prof se "os souberes levar" ajudam-te na boa e não te colocam entraves, muito pelo contrario.

E acredita, o curso é bastante "respeitado" no mercado de trabalho, pelo menos pela zona do porto.

PS: o Rogério é muito bom prof, acredita (apesar de não gostar muito da área de investigação e da matéria das cadeiras dele) ;)


parebéns, percentes aos 5% dos alunos que faz o curso em 5 anos
 
Não é questão de parabéns, o que sempre me deixou "lixado" era o pessoal incutir logo na cabeça dos caloiros que o curso é impossível de fazer em 5 anos, e existir demasiado a mentalidade "faço para o ano".

@figboy Se precisares de material ou mais informações sobre curso e professores, etc. manda PM.
 
Não é questão de parabéns, o que sempre me deixou "lixado" era o pessoal incutir logo na cabeça dos caloiros que o curso é impossível de fazer em 5 anos, e existir demasiado a mentalidade "faço para o ano".

@figboy Se precisares de material ou mais informações sobre curso e professores, etc. manda PM.

Muito obrigado pela disponibilidade e ajuda
 
Voltando à pergunta inicial, existe uma forma mais elegante de resolver o problema:

Wugvlda.png


Edit: a linha 11 pode ser substituida por:
total %= denom[ i ];

Sempre fica melhor :)
 
Última edição:
Proponho esta solucao simpatica que percebe se ha pagamentos a fazer, se o valor a usar cobre..
Caso pretenda apenas fazer troco de dinheiro, basta que diga q valor a pagar é 0.

espero ajudar...

"
# include <stdio.h>

int main()
{

int price, amount, change;
int twenty, ten, coin;

printf("Introduza a quantia a pagar: ");
if ( scanf ("%d", &price) <1 || price <0) {
printf("\n\nValor errado, tente novamente: ");return 0;
}
pay: printf("\nIntroduza a quantia com que pretende efectuar o pagamento : ");
if ( scanf ("%d", &amount) <1 || amount <0) {
printf("\n\nValor errado, tente novamente: ");return 0;
}
change = amount - price;
if (change < 0) {
printf("\n\nO valor a pagar é superior ao pagamento.\n");
goto pay;
}
twenty = change / 20;
ten = (change % 20) / 10;
coin = ((change % 20) % 10) / 1;
printf ( "\n\nO troco será %d €\n\n%5d .... notas de 20 €\n\n%5d .... notas de 10 €\n\n%5d .... moedas de 1 €", change, twenty, ten, coin);

return 0;
}

"
 
Back
Topo