签到

06月21日
尚未签到

共有回帖数 0

    做月子

    等级:
    很久没有登录百度贴吧了,以前我经常来c语言吧的,当时用另一个帐号。不过上大学以后就再也没有登录过了,也没有来过c语言吧。现在换个马甲回来^_^
       最近和同学做了一个项目,已经收尾(不过还有些问题没解决),现在主要想把代码贴上来,让大家批评批评,我也好有所改进。
       首先说一下我和同学写的这个项目,名字呢比较牛了,叫Power Cal,不过说实话不怎么power,主要就是一个基于自然手写格式的表达式计算。大家用过windows的计算器,就是开始-程序-附件里头的那个,里面虽然也能够完成比较复杂的运算,但是只限于单项的计算,例如要计算sin(30)就只能先输入30,然后再按sin按钮,但是要计算sin(sin(15+5*3))这样的表达式,就非常麻烦了,我写的这个计算器,主要功能就是实现自然化的输入,例如计算sin(30),只需要在键盘上依次按下s,i,n,3,0,再按下回车就可以得出结果,计算sin(sin(15+5*3))也只需要依次键入各个字符就可以得出结果,项目是纯c语言的,当然是字符界面的,没有用到其他任何特殊的东西,就是纯c,开发环境用的是DEV4.9.9.2,操作系统是windows xp,我用的是英文的XP,程序勉强能运行(说勉强是因为有些运行时错误还没有解决),另外中文XP也应该没有问题,不过其他平台就不清楚了。下来我分阶段贴出代码大家可以看看,有什么概念性错误或者设计上的失误,欢迎大家提出来哈~~~(代码有3000行左右,所以分阶段贴出来,我得把其中一些注释修改一下,过一段时间如果有人想要所有源代码,我再给大家发送到E-mail)


    首先是includes.h,这个文件包含了所有要用到的头文件,以后其他所有的.C文件都只包含这一个.h文件。我在写这个东西的时候就知道这是一大败笔,不过限于我和我的团队成员的水平问题,只能将就这么写了,所幸没有出现问题~~
    //---------------------------------------------


    /*
     Name: includes.h
     Copyright:  
     Author:  
     Date: 11-11-08 23:42
     Description: 包含所有预处理文件,另外定义壳函数Shell  
     特别说明:我消除了所有代码上有关人名和版权的内容
    */

    #include stdio.h
    #include stdlib.h
    #include string.h
    #include conio.h
    #include ctype.h
    #include math.h
    /*
    以上六个头文件不必多说了,都是c语言的常用头文件
    */
    #include "commandType.h" //定义了所有系统命令,比如角度制和弧度制的转换,清除屏幕等等
    #include "LstackType.h" //定义了表达式在内存中的格式,用的是后缀表达式的结构体
    #include "ErrorType.h" //定义了软件运行的时候所有的错误和异常的类型
    #include "init.h" //定义了软件运行时自我初始化的内部参数
    #include "LineType.h" //定义了用户输入表达式的时候的缓冲区,也是一个结构体
    #include "LineHis.h" //定义了记录表达式输入历史的结构体
    #include "cchar.h" //用于在计算时存放运算符号,不过貌似在最终版本中这个头文件定义的结构体以及函数都没有用到,但是也没有删除他,大家姑且看看
    #include "CalType.h" //定义了所有的运算符,比如加减乘除,正弦余弦什么的

    void Shell ( void ); //这是整个程序主要部分运行的一个总外壳,基本上所有的代码都是由这个函数调用的
    void LstCal ( Liner * CalLine , Lstack * CalStack ); //这个函数用于计算表达式!!!
    void GuessNumber ( void ); //这是程序附带的一个小游戏,本来想做成24点游戏的,不过后来没成功,就写成猜数字了


    //---------------------------------------------
    OK,后面的代码我会慢慢发上来,

    楼主 2016-01-08 10:14 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知