Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit näytille: C: Valuuttamuunnin

Sivu 1 / 1

lmms [19.08.2019 22:36:40]

Lainaa #

Moikka! Täällä ihan ensimmäisellä koodaus kurssilla oleva mimmi. Pari ekaa tehtävää c-ohjelmointikurssilta sain tehtyä, mutta nyt iski hätä! En saa koodia toimimaan, kun syötetty markka (kokonaisluku) pitäisi muuttaa euroiksi (Euron kerroin on 5.94573).

Tehtvänanto kirjoitti:

Tee ohjelma, joka pyytää käyttäjältä markkamäärän ja muuntaa syötetyn markkamäärän euroiksi. Lopuksi ohjelma tulostaa markkamäärän euroina kahden desimaalin tarkkuudella näytölle. Euron kerroin on 5.94573.

Vihje:
Tarvitset kolme muuttujaa: yhden kertoimelle, toisen markoille ja kolmannen euroille. Tarvittavan jakolaskun voit tehdä ”/” merkin avulla.

Example output:
Syötä jokin markkamäärä:6.08
Markat euroina: 1.02

Tässä vaiheessa olen saanut alun (alku tulostuu oikein, mutta markat euroina onväärin):

#include <stdio.h>

int main()
{
	/*määritellään markan eurokerroin*/
	int markka;
	float euronkerroin = 5.94573;

	/*pyydetään markkamäärä*/
	printf("Syötä jokin markkamäärä:");
	scanf("%d",&markka);

	/*tulostetaan vastaus kahden desimaalin tarkkuudella*/
	scanf("%f", &euronkerroin);
	printf("Markat euroina: %.2f",&euronkerroin);


	return 0;
}

Vinkkejä kaipailisin siis, erityisesti siihen miten saan valuutanmuutoksen toteutettua?

Grez [20.08.2019 14:47:00]

Lainaa #

No vaikuttaako tuo koodisi omasta mielestäsi järkevältä?

- Esitetä kysymys: "Syötä jokin markkamäärä:"
- Tallenna käyttäjän 1. syöte muuttujaan markka
- Tallenna käyttäjän 2. syöte muuttujaan euronkerroin (korvaten ohjelmassa jo olleen arvon 5.94573)
- Tulosta teksti "Markat euroina" ja muuttuja euronkerroin kahden desimaalin tarkkuudella.

(Mielestäni ohjelman ei edes pitäisi pyytää käyttäjältä syötettä kahteen kertaan)

Oletko mielestäsi tehnyt jossain kohti ohjelmaa jakolaskun eli noudattanut annettua vinkkiä:

Tehtävänanto kirjoitti:

Tarvittavan jakolaskun voit tehdä / merkin avulla.

lmms [20.08.2019 16:14:06]

Lainaa #

syötetty markkamäärä jaetaan euronkertoimella. En tajua miten sen koodaan.

"%d"/5.94573 ??

Grez [20.08.2019 17:23:16]

Lainaa #

Näyttää olevan syytä palata ihan perusteisiin. https://fi.wikibooks.org/wiki/C/Aritmeettiset_operaatiot

"%d" on printf ja scanf -tyylisten funktioiden merkintätapa desimaalimuotoiselle
kokonaisluvulle ja sitä ei ole syytä käyttää laskutoimitusten yhteydessä.

Eli jos haluat laskea muuttujan markka jaettuna muuttujalla euronkerroin, niin se kirjoitetaan C-kielellä:

markka / euronkerroin

Ja jos haluat sijoittaa tuloksen esim. muuttujaan euro, niin:

euro = markka / euronkerroin;

(Tässä vaiheessa tietenkin muuttujan euro on syytä olla määriteltynä)

Vastaus

Muista lukea kirjoitusohjeet.
Tietoa sivustosta