HELP DA NUMERI ROMANI A DECIMALI!!!!

di Anonimizzato18678 il
6 risposte
Come faccio il programma da numeri romani a decimali conoscendo solo gli array i cicli e lo switch

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {

int contaChar=0,sum=0,i,valore[]={'M','D','C','L','X','V','I'};
char romani[100];

printf ("Inserisci numero romano: ");

switch (romani[100])
{
case 'M': valore[0]='0'+1000;break;
case 'D': valore[1]='0'+500;break;
case 'C': valore[2]='0'+100;break;
case 'L': valore[3]='0'+50;break;
case 'X': valore[4]='0'+10;break;
case 'V': valore[5]='0'+5;break;
case 'I': valore[6]='0'+ 1;break;
}

do
{
scanf("%c",&romani[100]);
contaChar++;
}	while (romani[100]!='\n');
contaChar--;

printf ("Hai inserito %d caratteri",contaChar);

for (i=contaChar-1;i<=0;i--)
{
sum=0;
if (romani[i]<romani[i-1] || romani[i]==romani[i-1])
{
sum+= (romani[i]+romani[i-1]);
}
else if (romani[i]>romani[i-1] )
{
sum+=(romani[i]-romani[i-1]);
}
}

printf ("Il numero in decimale e' %d",sum);

return 0;
}

6 Risposte

  • Sii più preciso. Cos'è che non va?
  • Ma che algoritmo hai applicato nel tuo codice?

    Non si capisce come vorresti arrivare dal numero romano al decimale. Per esempio quello switch non ha molto senso ...
  • Non so da dove partite riuscite ad aiutarmi??
  • Comincia con l'input di una stringa per inserire il numero romano.
  • Non abbiamo ancora fatto le stringhe
  • Intendo gli array di char ...

    Come inserisci un numero come MCMXIII

    ?
Devi accedere o registrarti per scrivere nel forum
6 risposte