Hey, I'm building a small program.
This is just the first part, which tries to scan for a multi-digit number and put it in some variable.
Problem is, for some reason, it wouldn't calculate simple things (sometimes even doing 10^3, 10^1 and 10^0 just fine, but giving 99 as a result of 10^2. Yes, "wtf" did come to mind at this point).
Is this a problem with the code or it is my computer trying to annoy it's wretched master?
Help would be REALLY appreciated.
Here's the code:
This version is closer to working, though it uses %d when trying to printf a double variable, instead of %lf (which I think is correct).Code:#include <stdio.h> #include <conio.h> #include <math.h> void main() { int y=1,ss=0,fatty; char ch=0; char num[4]={{0,0,0,0}}; char number=0; int tester; printf("Enter your number. When you're done, press esc."); while (y<2) { ch=getch(); if (ch==27) y = 2; else { if (ch > 47 && ch < 58) { ch = ch - 48; printf("%d\n",ch); num[ss]=ch; ss++; } } } ss--; for ( fatty = 0 ; fatty <= ss ; fatty++ ) { tester = pow(10,ss-fatty); printf("\n%d,%d,%d,%d",ss,ss-fatty,num[ss-fatty],pow(10,num[ss-fatty])); getch(); number = number + num[ss-fatty] * pow(10,num[ss-fatty]) ; printf("\n%lf",number); } printf("Your number is: %lf",number); getch(); }
Code:#include <stdio.h> #include <conio.h> #include <math.h> void main() { int y=1,ss=0,fatty; char ch=0; char num[4]={{0,0,0,0}}; char number=0; int tester; printf("Enter your number. When you're done, press esc."); while (y<2) { ch=getch(); if (ch==27) y = 2; else { ch = ch - 48; printf("%d\n",ch); num[ss]=ch; ss++; } } ss--; for ( fatty = 0 ; fatty <= ss ; fatty++ ) { tester = pow(10,ss-fatty); printf("%d,%d,%d,%d",ss,ss-fatty,num[ss-fatty],tester); getch(); number = number + num[ss-fatty] * tester ; printf("\n%d",number); } printf("Your number is: %lf",number); getch(); }



LinkBack URL
About LinkBacks





