我在弄一个利用string input的calculator~程序需要加减乘除还有普通的calculator用法~我大概是知道把所有的 ...
yangss 发表于 2010-8-25 09:46 PM
我在弄一个利用string input的calculator~程序需要加减乘除还有普通的calculator用法~我大概是知道把所有的string放进temp里面~然后丢进 function来做数学~得到了先乘除的value~然后在丢回temp~继续做其他的~例如~我的input时123+456*789~我必须先把全部放进temp~然后进入function做乘除~过后做了456*789的答案~就是说把359784放进temp~temp现在应该就是 123+359784~然后又再loop过~做到完整答案为止~这是我agak agak写的程序~我真的不知道怎样拿跟存value~更不懂该怎样写下去~这是我的assignment~希望你们可以帮帮忙~复制代码
- #include<stdio.h>
- #include<string.h>
- #include<stdlib.h>
- #include<math.h>
- void main()
- {
- char x[100];
- char operant[10];
- char nx[100];
- char temp[100];
- int n, i=0, j=0;
- printf("?");
- gets(x);
- n=strlen(x);
- for(i=0;i<n;i++)
- {
- nx[i]=x[i];
- strncpy(temp,x[i],1);
- printf("%s",temp);
- }
- getchar();
- }
- void operant()
- {
- do
- {
- while(x[i]!='+' || x[i]!='-')
- {
- if(x[i]=='*')
- nx[i-1]*nx[i+1];
- else if(x[i]=='/')
- nx[i-1]/nx[i+1];
- }
- }
- while(x[i]!='+' || x[i]!='-')
- {
- if(x[i]=='+')
- nx[i-1]+nx[i+1];
- else if(x[i]=='-')
- nx[i-1]-nx[i+1];
- }
yangss 发表于 2010-8-25 09:46 PM
那就是说strncpy用不着?用temp[i ]=x[i ]把各char储存就可以?我怎么没想到~现在temp[i ]已经储存所有string~可是我还是不会把它们归类成正正的数字~就好像123+456~各temp[i ]储存了每个char~但它们始终都是一个个的单数字~temp[0]=1,temp[1]=2,temp[2]=3等等~我要怎样把它们归类回变成123整数这样?我也知道我的数学运算部份都没有做變數儲存~但如果我没能把它们归类成数字的话~我就写不出~问题就这样~不懂得把它们弄成actual value~运算部分就卡住了~我也很清楚目前做的只能够把個位數做加减~就像123+456变成了3+4罢了~对不对?
yangss 发表于 2010-8-26 11:58 AM
int main()
{
char txt[200];
char temp[200][200];
char opt[200];
float num[200];
int i=0, ...
yangss 发表于 2010-8-27 01:01 AM
对了对了~就是这个问题~我在纸上草稿算也是这样~哪有办法可以删除已做了答案的index删除?或者是把数目移前或移后进入其它index?还是要改statement?还有什么办法?
yangss 发表于 2010-8-27 03:12 AM
已经改了我的程序~加减乘除没大碍了~现在要做parentheses solver~也就是说挂号~我应该先做挂号里面的东西~才可以继续做以外的~可是不懂怎样~我应该怎样做?指点指点~
yangss 发表于 2010-9-1 07:45 PM
欢迎光临 JBTALKS.CC (https://jbtalks.my/) | Powered by Discuz! X2.5 |