» »

C - program, float operator

C - program, float operator

nimfrod6 ::

Pozdravljeni!

Sem popolni začetnik programiranja s C-jem in sem malce zgubljen kako bi to zadevo zapisal:
Zadeva je taka, da naj program najde način, kako poplačamo dolg s čim manj fizičnega denarja. Zadevo sem uspešno rešil za cela števila (tj. bankovce in kovanca za 2 in 1 evro), sedaj pa ne znam narediti, da bi upošteval tudi cente.

Trenutna koda je:

#include "stdafx.h"


int main()
{
	int i5;
	int iMoneys;
	int iDolg;
	int iDolgModif;
	int i;
	int Moneys[9] = {500,200,100,50,20,10,5,2,1};

	printf("Dolg: ");
	scanf("%d",&iDolg);
	iDolgModif=iDolg;
	printf("Da optimalno poplacamo dolg %d moramo placati: \n\n", iDolg);

	for(i=0;i<9;i++)
	{
		if(iDolgModif>=Moneys[i])
		{
			iMoneys=Moneys[i];
			i5= iDolgModif/iMoneys;
			iDolgModif= iDolgModif - i5*iMoneys;
			printf("%deur : %d\n\n", iMoneys, i5);
		}
	}




	return 0;
}


Hvala!

trojnis252 ::

Ko končaš z razdeljevanju celih števil, pomnoži preostanek z 100 (0,56€ * 100 = 56) in še to število na isti način razčleni.

Lonsarg ::

Z tem da pazi, ker za necela števila ne moreš int uporabit, ampak float, torej tabela in ša par stvari moraš v float spremenit. Kar se pa ne splača v tem primeru.

Bolj optimalna rešitev je, da uporabiš samo int, ter pač vse vrednosti v kodi z Moneys tabelco vred pretvoriš v cente. Znotraj printf-a pa potem nazaj deliš z 100, ostanek od deljenja (operacija modus - %) pa uporabiš za prikaz centov.

Zgodovina sprememb…

  • spremenil: Lonsarg ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[Python] Pomoč pri računanju Pi-ja

Oddelek: Programiranje
202454 (2086) Spura
»

Digitalna evolucija (strani: 1 2 3 426 27 28 29 )

Oddelek: Znanost in tehnologija
141675503 (25672) pietro
»

[C] Branje iz datoteke

Oddelek: Programiranje
101718 (1549) BigWhale
»

[c] osnove

Oddelek: Programiranje
352530 (1867) fiction
»

[C++] for {}

Oddelek: Programiranje
291709 (1403) Gundolf

Več podobnih tem