/* http://www.mrwadlo.com */ #include #include int main() { int i,j; char com; int num1[78]; int num2[78]; int ans[79]; int hidezeros; do { clrscr(); for ( i=0 ; i<77 ; i++ ) { num1[i] = -1; num2[i] = -1; ans[i] = 0; } ans[i] = 0; gotoxy(2,2); printf("Enter first number:\n "); i = 0; do { com = getch(); if ( com >= '0' && com <= '9' && i <= 76) { for ( j=0 ; j<76 ; j++ ) num1[j] = num1[j+1]; num1[76] = com - '0'; gotoxy(3,3); for ( j=0 ; j<=76 ; j++ ) { if ( num1[j] >= 0 ) printf("%d",num1[j]); else printf(" "); } i++; } } while ( com != 13 ); gotoxy(2,4); printf("Enter second number:\n "); i = 0; do { com = getch(); if ( com >= '0' && com <= '9' && i <= 76) { for ( j=0 ; j<76 ; j++ ) num2[j] = num2[j+1]; num2[76] = com - '0'; gotoxy(3,5); for ( j=0 ; j<=76 ; j++ ) { if ( num2[j] >= 0 ) printf("%d",num2[j]); else printf(" "); } i++; } } while ( com != 13 ); for ( i=76 ; i>=0 ; i-- ) { if ( num1[i] > 0 ) ans[i+1] += num1[i]; if ( num2[i] > 0 ) ans[i+1] += num2[i]; if ( ans[i+1] > 9 ) { ans[i+1] = ans[i+1] - 10; ans[i]++; } } gotoxy(2,6); printf("Answer is:\n "); hidezeros = 1; for ( j=0 ; j<=77 ; j++ ) { if ( hidezeros == 1 && ( ans[j] != 0 || j == 77 ) ) hidezeros = 0; if ( hidezeros == 1 ) printf(" "); else printf("%d",ans[j]); } do { printf("\n Would you like to add two more?"); com = getch(); } while ( com != 'y' && com != 'Y' && com != 'n' && com != 'N' ); } while ( com == 'y' || com == 'Y' ); return 0; }