/* M.Hess, 22.04.2001 MC1 TSU */ #include #include #include void main(void) { /* Deklarationen */ char user[20]; int result; int size; int i; int abort; int valid; int negative; char again; /* Beginn Initialisierung */ clrscr(); gotoxy(25,1); printf("***** šbung 6 MHe *****"); gotoxy(25,2); printf("***** Ascii -> Integer *****"); do { /* Beginn Usereingaben */ result = 0; negative = 0; gotoxy(1,4); printf("String eingeben: "); gets(user); /* Beginn Umwandlung */ size = strlen(user); for (i=0; i<=size; i++) { switch (user[i]) { case '1' : result = result * 10; result = result + 1; break; case '2' : result = result * 10; result = result + 2; break; case '3' : result = result * 10; result = result + 3; break; case '4' : result = result * 10; result = result + 4; break; case '5' : result = result * 10; result = result + 5; break; case '6' : result = result * 10; result = result + 6; break; case '7' : result = result * 10; result = result + 7; break; case '8' : result = result * 10; result = result + 8; break; case '9' : result = result * 10; result = result + 9; break; case '0' : result = result; result = result * 10; break; case '-' : if (i < 1) negative = 1; else i = size; break; default : i = size; //verlassen der Schleife break; } // ende Switch } // ende for if (negative == 1) result = 0 - result; // wenn erstes Zeichen '-' printf("Die Eingabe ergibt gewandelt : %d \n ", 2result); do { printf("\nWeitere Umwandlungen (j/n)?"); scanf("%c",&again); if (again == 'j') { abort = 0; valid = 1; } else if (again == 'n') { abort = 1; valid = 1; } else { valid = 0; printf("Falsche Eingabe!"); } } while (valid == 1); clrscr(); } // ende do while (abort == 0); }