[分享] 计算机程式

楼主: ljsnonocat2 (平凡是幸福)   2015-02-02 11:28:43
小弟新手最近刚开始入门程式 学C语言
之前想到写计算机程式 要怎么输入算式 做加减乘除
一开始还在想要怎么判读算式里面字串中有哪些数字与算符
再用switch case去分类运算 不过这样搞得好像很复杂....
明明程式里面 变量赋值等号后面就可以简单做运算
要怎么把输入的算式编到程式里???
后来看到某个网站 原来有这样搞法....
用fprintf先产生一个临时的.c原始码档 把算式当成参数写进去...
然后用system系统指令编译这临时.c档并执行 ....原来可以这么简单orz
想了好几天的迷惑终于解开了 也分享给跟我想一样问题的新手...
http://ideone.com/TMgjSC (参考范例)
作者: dearlove (初现)   2015-02-02 11:34:00
然后遇到没装gcc的电脑就爆了
作者: c910335 (达人)   2015-02-02 11:48:00
把GCC一起编进去(选我正解
作者: bigpigbigpig (To littlepig with love)   2015-02-02 11:51:00
要这样玩,直接用Python的eval()就搞定,不是更快?
楼主: ljsnonocat2 (平凡是幸福)   2015-02-02 11:53:00
还没学到Python 刚碰程式的新手留...
作者: Ebergies (火神)   2015-02-02 12:02:00
你说的 "明明...简单做运算" 的东西就是这么不简单...
作者: azureblaze (AzureBlaze)   2015-02-02 12:08:00
1.真的要写这样的功能非常不简单2.这种偷吃步的方法其实对任何人帮助都不大
作者: Qbsuran (Qbsuran)   2015-02-02 12:08:00
真的有兴趣就看bc这个指令的原始码还有计算机功能不是简单的事 扯到资料结构前中后序
楼主: ljsnonocat2 (平凡是幸福)   2015-02-02 12:21:00
感谢楼上 我研究看看
作者: CaptainH (Cannon)   2015-02-02 13:40:00
还需要一点lexer的技巧
作者: uranusjr (←這人是超級笨蛋)   2015-02-02 14:40:00
前中后序真的神烦, 一般入门应该最多只会教到 RPN 计算
作者: bigpigbigpig (To littlepig with love)   2015-02-02 14:51:00
我用 BASIC 写过一次,Google 中序转后序运算式求值
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-02-02 14:58:00
还没学到python咧 你有可能学四年都学不到
楼主: ljsnonocat2 (平凡是幸福)   2015-02-02 15:10:00
感谢楼上前辈们的关键字 这真的有很多东西得学...
作者: EdisonX (卡卡兽)   2015-02-03 21:37:00
我专案没碰到 python 的话这辈子大概也不会碰了吧 Orz
作者: qas612820704 (Lego)   2015-02-09 15:25:00
我自己系上写过一个 后序计算机是最直观最好写的但是要的背景知识稍闲深了点但其实实作计算机也有不用资结的方法 想法大概是a + b * c / d - e 先写出abcde string to number然后掌握先乘除后加减OOPS我好像搞错性质了 以为单纯疑问 当我没说话=p

Links booklink

Contact Us: admin [ a t ] ucptt.com