susukinosu

エンジニアリングって、何だよ

mimizuno講座 2013.5.11

初めてmimizuno講座に参加しました。
(mimizuno講座とは、team.andrewのOBの方々による講座)

今回のお題は「キレイなコード」とは、でした。

講義中の課題として、
1~9999円の商品に対する、1~10000円支払った場合のお釣り計算プログラム。

C言語(もしくはC++)でコーディング。
※最小の枚数で済むようにすること。

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

#define LENGTH 6

int main(void)
{
	srand((unsigned) time (NULL));
	int random = rand() % 9999 + 1;

	int pay, change, i;
	int kind[LENGTH];
	int yen[LENGTH] = {5000,1000,500,100,10,1};

	printf("値段:%d\n支払い:", random);
	scanf("%d", &pay);

	change = pay - random;

	if(change < 0 || 0 > pay || pay > 10000)
	{
		printf("支払い不可です\n");
		exit(0);
	}

	else
	{
		printf("お釣り: %d\n\n", change);

		for(i=0; i<LENGTH; i++)
		{
			kind[i] = change/yen[i];
			change -= kind[i]*yen[i];
			printf("%d: %d\n", yen[i], kind[i]);
		}
	}
}