Hazır Script – Hazır Kod » Romen-arabic & arabic-romen……

Haberler  Forum  Memurlar  Meb  Sağlık   Sözleşmeli  Kpss  Adalet  Diyanet   Kariyer  Anket  Spor  Sözlük  Oyun  Sohbet  FM

 

Romen-arabic & arabic-romen……

Romen-arabic & arabic-romen……

Romen rakamini normal rakama çevirme 2 katini tekrar romen rakamina dönüstürme…..

codeDivStart()


#include <stdlib.h>     //cout ,cin

#include <iostream.h>   //EXIT_SUCCESS

#include <string.h>     //strlen

#define MAXSTRING 25

int main(void) {

    int  value,tmp,len,TwoMultiple;

    int i=0;

    char Roman[MAXSTRING],Result[MAXSTRING]="";;

	int Arabicnum = 0;

	cout<<"Roman: ";

    cin>>Roman;

	len=strlen(Roman);

    tmp =0;

    for (i =len-1 ; i >= 0; i--) {

		switch ( Roman[i]) {

				case 'M' :

				value = 1000;

					if (Roman[i-1]=='I' || Roman[i-1]=='V' || Roman[i-1]=='X' || Roman[i-1]=='L' || Roman[i-1]=='D' || Roman[i-3]=='M' || (Roman[i-1]=='C' && Roman[i+1]=='C')) {

						cout<<"You entered an invalid romen number.Please try again"<<endl;

						return EXIT_FAILURE;

					}

					break;

				case 'D' :

                value = 500;

					if (Roman[i-1]=='I' || Roman[i-1]=='V' || Roman[i-1]=='X' || Roman[i-1]=='L' ||  Roman[i-2]=='C' || Roman[i-1]=='D' || (Roman[i-1]=='C' && Roman[i+1]=='C')) {

					cout<<"You entered an invalid romen number.Please try again."<<endl;

					return EXIT_FAILURE;

					}

					break;

                case 'C':

                value = 100;

					if (Roman[i-1]=='I' || Roman[i-1]=='V' || Roman[i-1]=='L' || Roman[i-2]=='X' || (Roman[i-3]=='C' && Roman[i-2]=='C') || (Roman[i-1]=='X' && Roman[i+1]=='X')) {

						cout<<"You entered an invalid romen number.Please try again."<<endl;

						return EXIT_FAILURE;

					}

					break;

                case 'L':

                value = 50;

					if (Roman[i-1]=='I' || Roman[i-1]=='V' || Roman[i-1]=='L' || Roman[i-2]=='X') {

						cout<<"You entered an invalid romen number.Please try again."<<endl;

						return EXIT_FAILURE;

					}

					break;

				case 'X':

                value = 10;

					if (Roman[i-1]=='V' || Roman[i-2]=='I' || (Roman[i-1]=='X' && Roman[i-3]=='X') || (Roman[i-1]=='I' && Roman[i+1]=='I')) {

						cout<<"You entered an invalid romen number.Please try again."<<endl;

						return EXIT_FAILURE;

					}

				    break;

				case 'V' :

                value = 5;

					if (Roman[i-1]=='V' ||Roman[i-2]=='V'|| Roman[i-2]=='I' || Roman[i-3]=='I' || (Roman[i-1]=='I' && Roman[i+1]=='I')) {

						cout<<"You entered an invalid romen number.Please try again."<<endl;

						return EXIT_FAILURE;

					}

					break;

                case 'I':

                value = 1;

					if (Roman[i-1]=='I' && Roman[i-3]=='I') {

						cout<<"You entered an invalid romen number.Please try again."<<endl;

						return EXIT_FAILURE;

					}

					break;

				default :

					cout<<"You entered an unacceptable value"<<endl;

					return EXIT_FAILURE;

					break;

			}

          if (value >= tmp) {

          Arabicnum += value;

          } else {

          Arabicnum -= value;

          }

          tmp = value;

       }

           cout<<"Arabic: "<< Arabicnum <<endl;

		   cout<<"Result: "<< 2*Arabicnum <<" ";

                 TwoMultiple=Arabicnum*2;

	                 i=0;

				 while (TwoMultiple > 0) {

                            if (TwoMultiple>= 1000) {

								Result[i]='M';

								TwoMultiple-= 1000;

                               i++;

                              }

							else if (TwoMultiple >= 900) {

								Result[i]='C';

								Result[i+1]='M';

								TwoMultiple-= 900;

								i+=2;

                              }

							else if (TwoMultiple >= 500) {

								Result[i]='D';

								TwoMultiple-= 500;

								i++;

                              }

							else if (TwoMultiple >= 400) {

								Result[i]='C';

								Result[i+1]='D';

								TwoMultiple-= 400;

								i+=2;

                              }

							else if (TwoMultiple >= 100) {

								TwoMultiple-= 100;

								Result[i]='C';

								i++;

                              }

							else if (TwoMultiple >= 90) {

								Result[i]='X';

								Result[i+1]='C';

								TwoMultiple-= 90;

								i+=2;

                              }

							else if (TwoMultiple >= 50) {

								Result[i]='L';

								TwoMultiple-= 50;

								i++;

                              }

							else if (TwoMultiple >= 40) {

								Result[i]='X';

								Result[i+1]='L';

								TwoMultiple -= 40;

								i+=2;

                              }

							else if (TwoMultiple >= 10) {

								Result[i]='X';

								TwoMultiple-= 10;

								i++;

                              }

							else if (TwoMultiple>= 9)  {

								Result[i]='I';

								Result[i+1]='X';

								TwoMultiple -= 9;

								i+=2;

                              }

							else if (TwoMultiple >= 5) {

								Result[i]='V';

								TwoMultiple -= 5;

								i++;

                              }

							else if (TwoMultiple >= 4) {

								Result[i]='I';

								Result[i+1]='V';

								TwoMultiple-= 4;

								i+=2;

                              }

							else {

								Result[i]='I';

								TwoMultiple -= 1;

								i++;

                              }

                      }

				cout<< Result <<endl;

			    return EXIT_SUCCESS;

}
Etiketler:
Henüz yorum yok.

HABERLER

Bad Behavior has blocked 101 access attempts in the last 7 days.