[ create a new paste ] login | about

Link: http://codepad.org/ij3zSIja    [ raw code | output | fork ]

C, pasted on Jun 7:
#include<stdio.h>
#include<string.h>

int YenCov(int,int,char *,int);

int main(void)
{
	int kingaku;
	int mode;
	int datsize;
	int rtn;
	char kindat[15];
	
	printf("金額入力==>");
	scanf("%d",&kingaku);
	
	printf("モード(1 or 2)==>");
	scanf("%d",&mode);
	
	printf("データサイズ==>");
	scanf("%d",&datsize);
	
	rtn = YenCov(kingaku,mode,kindat,datsize);
	
	if(rtn == -1)
	{
		printf("モードエラー\n");
	}
	else if(rtn == -2)
	{
		printf("領域不足エラー\n");
	}
	else
	{
		printf("編集金額 = %s\n",kindat);
	}
	
	return 0;
}

int YenCov(int kin,int md,char *bp,int size)
{
	char buf1[15];
	char buf2[15];
	int len;
	int cmcnt;
	int cnt;
	int i,j;
	
	cnt = 0;
	
	if(md != 1 && md != 2)
	{
		return  -1;
	}
	
	sprintf(buf1,"\\%d",kin);
	
	len = strlen(buf1);
	if(md == 1)
	{
		cmcnt = 0;
	}
	else
	{
		cmcnt = (len-2)/3;
	}
	
	if(len + cmcnt + 1 > size)
	{
		return -2;
	}

	if(md == 1)
	{
		strcpy(buf2,buf1);
	}
	else
	{
		buf2[len + cmcnt] = '\0';
		for(i = len - 1;i > 0; i--)
		{
			j = i + cmcnt;
			if(cnt == 3 && cmcnt != 0)
			{
				buf2[j] = ',';
				cnt = 0;
				cmcnt--;
				j--;
			}
			buf2[j] = buf1[i];
			cnt++;
		}
	}
	strcpy(bp,buf2);
	return 0;
}


Output:
1
金額入力==>モード(1 or 2)==>データサイズ==>モードエラー


Create a new paste based on this one


Comments: