Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

[c] Cannot get to write to string.

$
0
0
//** 
//CSE 121
//Roman Numerals

//This program will take integers and convert them to Roman Numerals

#include <stdio.h>
#include <string.h>

main()

{

int a,b,c,d,e;

char string0[30] = "";
char string1[10] = "1";
char string2[10] = "2";
char string3[10] = "3";
char string4[10] = "4";

printf("\nPlease enter an integer. (Only 1 integer, between 0 - 9999):\n");
scanf("%d", &e);
	if (isdigit(e))
		{
		printf("\nError: %d is not a digit.\n", e);
		return(0);
		}
	if (e < 0)
		{
		printf("\nError: You have entered an invalid number.\n\n");
		return(0);
		}
	if (e > 9999)
		{
		printf("\nError: You have entered an invalid number.\n\n");
		return(0);
		}

printf("\n");
		
a = (e/1000)*1000;
b = ((e/100)%10)*100;
c = ((e/10)%10)*10;
d = ((e/1)%10)*1;

//Conversion to roman numerals happens here

//If 0 print N
if (a == 0 && b == 0 && c == 0 && d == 0)
	{
	printf("N");
	char string1[] = "M";
	}
	
//Thousands column
if (a == 1000)
	{
	
	printf("M");
	char string1[] = "M";
	
	}
else if (a == 2000)
	{
	printf("MM");
	char string1[] = "MM";
	}
else if (a == 3000)
	{
	printf("MMM");
	char string1[] = "MMM";
	}
else if (a == 4000)
	{
	printf("MMMM");
	char string1[] = "MMMM";
	}
else if (a == 5000)
	{
	printf("MMMMM");
	char string1[] = "MMMMM";
	}
else if (a == 6000)
	{
	printf("MMMMMM");
	char string1[] = "MMMMMM";
	}
else if (a == 7000)
	{
	printf("MMMMMMM");
	char string1[] = "MMMMMMM";
	}
else if (a == 8000)
	{
	printf("MMMMMMMM");
	char string1[] = "MMMMMMMM";
	}
else if (a == 9000)
	{
	printf("MMMMMMMMM");
	char string1[] = "MMMMMMMMM";
	}
	
//Hundreds Column	
if (b == 100)
	{
	printf("C");
	char string2[] = "C";
	}
else if (b == 200)
	{
	printf("CC");
	char string2[] = "CC";
	}
else if (b == 300)
	{
	printf("CCC");
	char string2[] = "CCC";
	}
else if (b == 400)
	{
	printf("CD");
	char string2[] = "CD";
	}
else if (b ==500)
	{
	printf("D");
	char string2[] = "D";
	}
else if (b == 600)
	{
	printf("DC");
	char string2[] = "DC";
	}
else if (b == 700)
	{
	printf("DCC");
	char string2[] = "DCC";
	}
else if (b ==800)
	{
	printf("DCCC");
	char string2[] = "DCCC";
	}
else if (b == 900)
	{
	printf("CM");
	char string2[] = "CM";
	}

//Tens Column
if (c == 10)
	{
	printf("X");
	char string3[] = "X";
	}
else if (c == 20)
	{
	printf("XX");
	char string3[] = "XX";
	}
else if (c == 30)
	{
	printf("XXX");
	char string3[] = "XXX";
	}
else if (c == 40)
	{
	printf("XL");
	char string3[] = "XL";
	}
else if (c ==50)
	{
	printf("L");
	char string3[] = "L";
	}
else if (c == 60)
	{
	printf("LX");
	char string3[] = "LX";
	}
else if (c == 70)
	{
	printf("LXX");
	char string3[] = "LXX";
	}
else if (c ==80)
	{
	printf("LXXX");
	char string3[] = "LXXX";
	}
else if (c == 90)
	{
	printf("XC");
	char string3[] = "XC";
	}
	
//Ones column
if (d == 1)
	{
	printf("I");
	char string4[] = "I";
	}
else if (d == 2)
	{
	printf("II");
	char string4[] = "II";
	}
else if (d == 3)
	{
	printf("III");
	char string4[] = "III";
	}
else if (d == 4)
	{
	printf("IV");
	char string4[] = "IV";
	}
else if (d == 5)
	{
	printf("V");
	char string4[] = "V";
	}
else if (d == 6)
	{
	printf("VI");
	char string4[] = "VI";
	}
else if (d == 7)
	{
	printf("VII");
	char string4[] = "VII";
	}
else if (d == 8)
	{
	printf("VIII");
	char string4[] = "VII";
	}
else if (d == 9)
	{
	printf("IX");
	char string4[] = "IX";
	}
	
printf("\n\n");

printf("%s\n", string1);
printf("%s\n", string2);
printf("%s\n", string3);
printf("%s\n", string4);

//char *strcat(string0,string1);
//char *strcat(string0,string2);
//char *strcat(string0,string3);
//char *strcat(string0,string4);

//printf("%s", string0);
//Print results to screen

//printf("This result will be logged in the file roman_numerals.txt\n");

// Identify, open, append, and close output file
//FILE* output_file;
//output_file = fopen("roman_numerals.txt", "a"); 
//fprintf(output_file,"The Roman Numeral value of %i is %s. \n",e,string0);
//fclose(output_file); 

return(0);

}




I'm having problems on line 61, 67, 72, etc. I cannot get it to write the thing I have entered to the string. It clean compiles, I just cannot get it to write to the string.

What I want it to do: Print the conversion to the string & store that value in it's respective string. So for example, 1000 would output "M" to the screen and store "M" in string1.

Thank you in advance!

Output:
Please enter an integer. (Only 1 integer, between 0 - 9999):
1000

M

1
2
3
4

Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>