
Untitled
By: a guest on
May 28th, 2012 | syntax:
None | size: 1.37 KB | hits: 11 | expires: Never
#include <stdio.h>
#define MAX 16
int check_input (char current_char);
void ch_fget ( char array );
/*
*
*/
int main() {
char input_ch[MAX];
int input_int[MAX];
int length = 0, ergebnis = 0 , check = 0, count;
/* Eingabe Funktion */
for(count = 0; count < MAX; count++) {
input_ch[count] = getc(stdin);
check = check_input(input_ch[count]);
if(check == -1) {
return 1;
} else if (check == 0) {
length = count;
break;
} else {
input_int[count] = check;
length = count;
}
}
/* Summe berechnen */
for(count = 0; count < length; count++ ) {
if( input_int[count] < input_int[count+1]) {
ergebnis = ergebnis - input_int[count];
} else {
ergebnis = ergebnis + input_int[count];
}
}
/* Ausgabe */
printf("%d\n", ergebnis);
return 0;
}
/* Prüft Buchstabe ob korrekte eingabe (klein->Groß)*/
int check_input (char current_char) {
char intern_check = current_char;
if( 96 < intern_check) {
intern_check = intern_check - 32;
}
switch (intern_check) {
case 'I' : return 1;
case 'V' : return 5;
case 'X' : return 10;
case 'L' : return 50;
case 'C' : return 100;
case 'D' : return 500;
case 'M' : return 1000;
case '\n': return 0;
case '\0': return 0;
default : return -1;
}
}