Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 exptools 1/6/84; site ihlts.UUCP
Path: utzoo!watmath!clyde!burl!we13!ihnp4!ihlts!rjnoe
From: rjnoe@ihlts.UUCP (Roger Noe @ N41:48:31, W88:07:13)
Newsgroups: net.math
Subject: source for Roman numeral converter
Message-ID: <345@ihlts.UUCP>
Date: Mon, 6-Feb-84 11:31:46 EST
Article-I.D.: ihlts.345
Posted: Mon Feb  6 11:31:46 1984
Date-Received: Thu, 9-Feb-84 02:45:44 EST
Organization: AT&T Bell Labs, Naperville, IL
Lines: 64

/*  ROMAN:  converts Arabic notation decimal numbers to Roman.	*/
/* Input is command-line parameter, ASCII string for decimal
	integer.  Up to seven characters, between '0' and '9'.	*/
/* Output is on standard output, consisting of characters
	seen below.						*/

#include 

char	one[] = "ixcmXCM";	/* Lowercase letters used!	*/
char	five[] = "vldVLD";	/* Uppercase used for numerals	*/
				/* with bars over them.		*/

main(argc, argv)
int	argc;
char	*argv[];
{
	register short i, j, k;
	char	number[8];
	char	*cp;
	
	if(argc < 2) {
		fprintf(stderr, "Usage: %s \n", argv[0]);
		exit(1);
	}

	for(i=0, cp=argv[1]; i<8 && *cp != '\0'; i++, cp++)
		if(*cp >= '0' && *cp <= '9')
			number[i] = *cp;
		else {
			fprintf(stderr, "Illegal character: %c\n", *cp);
			exit(2);
		}

	if(i == 8) {
		fprintf(stderr, "Parameter out of range\n");
		exit(2);
	}

	cp=number;
	while(i) {
		j = *cp++ - '0';
		if(--i == 6)
			for(k=0; k= 5) {
					putchar(five[i]);
					j -= 5;
				}
				for(k=0; k