Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

C++ Programming Help Please! I have asked this same question many times on Chegg

ID: 3882689 • Letter: C

Question

C++ Programming Help Please! I have asked this same question many times on Chegg... never got a good answer

NOTE: READ ENTIRE PROGRAM DESCRIPTION CAREFULLY! Thank You!

Program Info: Write a program that accepts a year written as a four-digit Arabic (ordinary) numeral and outputs the year written in Roman numerals. Important Roman numerals are V for 5, X for 10, L for 50, C for 100, D for 500, and M for 1,000. Recall that some numbers are formed by using a kind of subtraction of one Roman “digit”; for example, IV is 4 produced as V minus I, XL is 40, CM is 900, and so on. A few sample years: MCM is 1900, MCML is 1950, MCMLX is 1960, MCMXL is 1940, MCMLXXXIX is 1989. Assume the year is between 1000 and 3000. Your program should include a loop that lets the user repeat this calculation until the user says she or he is done.

More Important Info/OUTPUT:

Enter an Arabic number: 2456

2456 is MMCDLVI in Roman numerals

Play again? Y

Enter an Arabic number: 1359

1359 is MCCCLIX in Roman numerals

Play again? N

Read the number as an integer: e.g. 9786

Use arithmetics to separate each digit into separate ints: (do you know what the modulus operator is? “%” No? look it up.)

USE THE MODULUS OPERATOR -> %

ones will be 6

tens will be 8

hundreds will be 7

thousands will be 9

***use FOUR SWITCH CASES to output the correct string for each digit:

cout<<”XX” in case of tens being 2

cout<<”XXX” in case of tens being 3

etc.

***As with all the projects in this chapter, wrap this whole thing in a “Play another game” loop to allow the user to play as many times as they like.

MAKE SURE TO USE FOUR SWITCH CASES FOR OUTPUT!!!

Please Note: Keep the program simple... use simple commands DO NOT use .append

^^^ READ PROGRAM DESCRIPTION CAREFULLY PLEASE ^^^

(I have asked this question several times on Chegg... and never got a proper answer.. please help me...)

Explanation / Answer

#include<iostream>

using namespace std;

int main()

{   

int n;

char ch = ' ';

do{

cout << " Enter an Arabic number: ";

while(cin>>n)

{

int x,y,k,l;

l=(n/1000)*1000;

if(l==1000)

cout<<"M";

if(l==2000)

cout<<"MM";

if(l==3000)

cout<<"MMM";

if(l==4000)

cout<<"-IV";

if(l==5000)

cout<<"-V";

if(l==6000)

cout<<"-VI";

if(l==7000)

cout<<"-VII";

if(l==8000)

cout<<"-VIII";

if(l==9000)

cout<<"-IX";

if(l==10000)

cout<<"-X";

k=(n%1000);

k=(k/100)*100;

if (k == 100)

cout<<"C";

else if (k == 200)

cout<<"CC";

else if (k == 300)

cout<<"CCC";

else if (k == 400)

cout<<"CD";

else if (k ==500)

cout<<"D";

else if (k == 600)

cout<<"DC";

else if (k == 700)

cout<<"DCC";

else if (k ==800)

cout<<"DCCC";

else if (k == 900)

cout<<"CM";

k=n%1000;

l=k%100;

y=(l/10)*10;

if (y == 10)

cout<<"X";

else if (y == 20)

cout<<"XX";

else if (y == 30)

cout<<"XXX";

else if (y == 40)

cout<<"XL";

else if (y ==50)

cout<<"L";

else if (y == 60)

cout<<"LX";

else if (y == 70)

cout<<"LXX";

else if (y ==80)

cout<<"LXXX";

else if (y == 90)

cout<<"XC";

x=l%10;

if (x == 1)

cout<<"I";

else if (x == 2)

cout<<"II";

else if (x == 3)

cout<<"III";

else if (x == 4)

cout<<"IV";

else if (x ==5)

cout<<"V";

else if (x == 6)

cout<<"VI";

else if (x == 7)

cout<<"VII";

else if (x ==8)

cout<<"VIII";

else if (x == 9)

cout<<"IX";

cout<<" in Roman numerals";

cout<<endl;

cout <<" Play again?(Y/N): ";

cin >> ch;

ch = toupper(ch);

}

}while(ch=='Y');

  

return 0;

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote