求解有理数分式方程c++课设


    课程设计(文)务书

    软件 学  院   软件+会计 专  业 班  
    课程设计(文)题目 : 求解理数分式方程   
    二课程设计(文)工作 2014 年 6 月 20 日起 2014 年 6 月 26 日止
    三课程设计(文) 点 创新楼
    四课程设计(文)容求:
    1 课程设计目
    (1)掌握C++语言程序设计方法
    (2)理联系实际进步提高学生软件开发技术
    (3)培养学生分析解决问题力
    (4)提高学生实践文撰写力
    2 课程设计务求
    1) 基求:
    (1) 系统需完成功分析
    (2) Visual C++编译器进行程序编译
    (3) 提出系统设计方案
    (4) 设计源程序进行调试
    2) 创新求
    基求达进行创新设计
    3) 课程设计文编写求
    (1)理设计部分课程设计文形式提交格式必须课程设计文标准
    格式进行书写装订
    (2)课程设计报告(文)包括设计务分析(包括设计务书设计运行环境组员分工等)系统总框图模块设计分析列出定义函数说明存问题足策附程序源代码
    (3)A4纸印出文档(附源代码)封面教务处购买写效代码少50行18周机检查程序交设计报告
    4) 课程设计评分标准:
    (1)学态度:20分
    (2)系统演示:15分
    (3)回答问题:15分
    (4)文撰写:40分
    (5)创新思想:10分
    成绩评定实行优秀良中等格格五等级格者需重做
    5) 参考文献:
    (1)谢昕等编著C++程序设计北京邮电出版社 201012
    (2)谭浩强编著C++面象程序设计清华学出版社 20061
    6) 课程设计进度安排
    1准备阶段(4学时):选择设计题目解设计目求查阅相关资料
    2程序模块设计分析阶段(4学时):程序总体设计详细设计
    3代码编写调试阶段(8学时):程序模块代码编写调试测试
    4撰写文阶段(4学时):总结课程设计务设计容撰写课程设计文
    7) 课程设计题目具体求:
    设计Rational(理数)类求解理数分式方程理数两整数
    率通常表示ab中a称分子b称分母分母0开发Rational
    类目标创建种类型该类型象基类型定义象样
    感觉然


    学生签名:
    年 月 1日
    课程设计(文)评审意见
    (1)学态度(20分):优( )良( )中( )般( )差( )
    (2)系统演示(15分):优( )良( )中( )般( )差( )
    (3)回答问题(15分):优( )良( )中( )般( )差( )
    (4)文撰写(40分):优( )良( )中( )般( )差( )
    (5)创新思想(10分):优( )良( )中( )般( )差( )
    综合评定等级:

    评阅: 职称:
    年 月 日















    目 录
    第1章 设计务分析 1
    第2章 功实现详细设计 2
    第3章 功测试 6
    第4章 源代码 9
    第5章 结 15
    参考文献 16







    第章 设计务分析
    功分析:
    做求解理数分式方程设计Rational(理数)类实现理数分式方程输入计算针程序设计需实现理数输入输出理数分式方程系数输入输出方程求解分式浮点数转换分式化简
    次设计定义Rational类定义公私成员函数构造函数重载输入输出流运算符
    组成员:
    组分工:X:菜单分子分母输入输出
    X:分式化简分式浮点数转换
    X:理数较理数四运算理数分式方程求解
    次课程设计中负责:菜单分子分母输入输出

    需考虑问题
    v 设计菜单界面
    v 分子分母输入输出问题例形式
    cin<cout>>i 13 输出
    实现操作需重载输入输出流运算符





    第2章 功实现详细设计
    设计思路算法
    1 设计菜单界面
    首先编写菜单驱动程序输入14间意数字进入相应选择项
    思路提示:for语句switch…case语句实现菜单功循环选择
    部分参考代码:
    void main()
    {
    for( )
    {
    switch(menu_select())
    {
    case 1
    Y0() 输入输出理数
    break
    case 2
    Y1() 理数换算
    break
    case 3
    Y2() 理数求解方程
    break
    case 4
    cout<<\t见\n
    return
    }
    }
    }
    int menu_select() 菜单选择函数
    {
    char s[2]
    int cn
    for(int i0i<24i++)

    cout<<* 1检测理数输入输出*\n
    cout<<* 2理数换算 *\n
    cout<<* 3解理数方程 *\n
    cout<<* 4退出 *
    cout< for( )
    {
    gets(s)
    cnatoi(s) 输入字符串转变数字
    }
    return cn
    }
    语句cnatoi(s)输入字符串转变数字便switch中case语句应
    数字13符合求输入求重新输入


    2分子分母输入
    重载流运算符格式构造输出输入
    *重载输出流运算符
    ostream& operator<<(ostream& ostrconst Rational& x)
    {
    ostr< return ostr
    }
    输入流需保证正确格式首先保证分母等零然调Standardize()Reduce()函数调整格式











    第3章 设计调试分析
    运行效果参考
    1界面


    2实现种理分数输入输出


    3










    第4章 源代码
    #include
    #include
    #include
    class Rational
    {
      private
        long numden
        long gcd(long mlong n)const  

      public
    Rational(long p0long q1)
    Rational(double x)
    void Standardize(void)
        void Reduce(void)
    double zhuanhua(void)
    void PrintMixedNumber(void)
        friend istream& operator>>(istream& istrRational& x)
        friend ostream& operator<<(ostream& ostrconst Rational &x)
    Rational operator+(const Rational& x)
        Rational operator(const Rational& x)
        Rational operator*(const Rational& x)
        Rational operator(const Rational& x)
    Rational operator(void)
    int operator<(const Rational &x)
    int operator<(const Rational &x)
    int operator(const Rational& x)
    int operator(const Rational &x)
    int operator>(const Rational &x)
    int operator>(const Rational &x)

    }
    RationalRational(long plong q)
    {
    nump
    denq
    }
    void RationalStandardize(void)
    {
    if(den<0)
      {
        numnum
        denden
       }
    }
    long Rationalgcd(long mlong n)const
    {
      static long x
      if(m>n)
      {
        if(n0)xm
        else gcd(nmn)
       }
        else
        {
        if(m0)xn
        else gcd(mnm)
       }
        return x
    }
    void RationalReduce(void)
    {
      long bigdivisortempnumerator
      tempnumerator(num<0)numnum
    if(num0)
        den1
    else
    {
        bigdivisorgcd(tempnumeratorden)
        if(bigdivisor>1)
        {
        numbigdivisor
        denbigdivisor}
    }
    }
    istream& operator>>(istream& istrRational& x)
    {
        char c
        istr>>xnum>>c>>xden
        if(xden0)
        {
        cerr<    exit(1)
        }

    xStandardize()
        xReduce()
        return istr
    }
    ostream& operator<<(ostream& ostrconst Rational& x)
    {
        ostr<    return ostr
    }
    Rational Rationaloperator+(const Rational &x)
    {
    Rational a
    anumden*xnum+xden*num
    adenxden*den
    aStandardize()
        aReduce()
    return a
    }
    Rational Rationaloperator(const Rational &x)
    {
    Rational a
    anumnum*xdenxnum*den
    adenxden*den
    aStandardize()
        aReduce()
    return a
    }
    Rational Rationaloperator*(const Rational &x)
    {
    Rational a
    anumnum*xnum
    adenden*xden
    aStandardize()
        aReduce()
    return a
    }
    Rational Rationaloperator(const Rational &x)
    {
    Rational a
    anumnum*xden
    adenden*xnum
    aStandardize()
        aReduce()
    return a
    }
    Rational Rationaloperator(void)
    {
        return Rational(numden)
    }
    int Rationaloperator<(const Rational &x)
    {
    if(num*xden>den*xnum) return 1
    else return 0
    }
    int Rationaloperator<(const Rational &x)
    {
    if(num*xden>den*xnum) return 1
    else return 0
    }
    int Rationaloperator(const Rational &x)
    {
    if(num*xdenden*xnum) return 1
    else return 0
    }
    int Rationaloperator(const Rational &x)
    {
    if(num*xdenden*xnum) return 1
    else return 0
    }
    int Rationaloperator>(const Rational &x)
    {
    if(num*xden>den*xnum) return 1
    else return 0
    }
    int Rationaloperator>(const Rational &x)
    {
    if(num*xden>den*xnum) return 1
    else return 0
    }
    double Rationalzhuanhua(void)
    {
      return double(num)den
    }
    void RationalPrintMixedNumber(void)
    {
        long wholepartlong(numden)
        Rational fractionpart
    fractionpartdenden
    fractionpartnumnumwholepart*den
        if(fractionpartRational(0L))
        cout<    else
        {
        fractionpartReduce()
        if(wholepart<0)
          fractionpartfractionpart
        if(wholepart0)
          cout<    else
        cout< }
    }
    RationalRational(double x)
    {
        double vallval2
        vall100000000L*x
        val210000000L*x
        numlong(vallval2)
        den90000000L
        Reduce()
    }
    void Y0()
    {
    Rational x
    cout<<请输入理数x<cin>>x
    cout<cout<cout<<浮点数形式<}
    void Y1()
    {
    double xy
    Rational ijkl
    cout<<1请输入整数
    cin>>x
    cout<<理数形式<cout<<2请输入理数
    cin>>i
    cout<<等效浮点数<cout<<3请输入2理数<cin>>j>>k
    cout<<2数相加<cout<<4请输入浮点数<cin>>y
    lRationalRational(y)
    cout<<转化理数<cout<<转化带分数形式理数
    lPrintMixedNumber()
    }
    void Y2()
    {
    Rational xyz
    cout<<理数方程形式<cout<<(ab)x+(cd)ef<cout<<请输入3理数系数<cin>>x>>y>>z
        if(xRational(0L))
        cout<<方程解<else
    cout<<解<<(zy)x<}

     int menu_select()
    {
          char s[2]
          int cn
     for(int i0i<24i++)
     cout<<*
     cout<cout<< 求解理数菜单\n
         cout<<第八组梁欣仪 邓雅倩 涂华\n
    cout<<********^^********\n
    cout<<* 1理数输入输出*\n
         cout<<* 2理数换算        *\n
         cout<<* 3解理数分式方程      *\n
         cout<<* 4退出              *
     cout<<********^^********\n
    cout< for(int j0j<24j++)
     cout<<*
     cout<   for( )
       {
           cingetline(s2)
           cnatoi(s)
          if(cn<1||cn>4)
            cout<<\n\t输入错误重选范围14
          else
               break
       } 
        return cn   
    }
    void handle_menu()
    {
      for( )
      {
        switch(menu_select())
        {
        case 1
           Y0()
            break
        case 2
           Y1()
           break
        case 3
           Y2()
           break
    case 4
          cout<<\t拜拜BYE\n
          return
    }
      }
    }

     void main()
     {
    handle_menu()
     }
    第5章 结
    学期C++程序设计学解相似C语言程序设计C++程序学许东西
    通次C++课程设计体会学东西首先加强C++程序设计门课程认识复前学知识次课程设计中组学遇时课堂考试中会出现问题考验问题时课轻易解决考验知道书东西学知识学会灵活死记硬背学会东西时锻炼够容面未知难题
    没做课程设计前总容易做课程设计发现困难许东西棘手轻易解决选课题选完分析:入手分工程序应该做然写程序调试修改总真复杂世难事怕心终努力程序搞定中深意需历体会
    做次课程设计组成员帮助学次询问懂方总会热心帮忙解答时候朋友帮助重感谢老师学期教导
    总言次C++程序设计实践收获
    参考文献:C++程序设计


    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    中南大学-c++课设报告面向对象编程(C++)

    中南大学面向对象编程(C++)实验报告学生姓名 学 院 信息科学与工程学院 ...

    2年前   
    467    0

    C++课设报告图书管理系统软件分析报告

    2015- 图书管理系统软件分析报告 XX大学《面向对象程序设计语言》课程设计报告目录系统设计者和开发者: 1软件信息: 1试验形式及分工情况: 1需求分析: 1程序...

    3年前   
    411    0

    matlab课设

    摘 要数字滤波器是一一个离散系统。该系统能对输入的离散信号进行处理,从而获得所需的有用信息。现代数字滤波器的设计大体可以分为IIR 和FIR两大类,可以用软件和硬件两种方法来实现,而选用MAT...

    4年前   
    685    0

    软件工程课设心得

    软件工程课设心得第一篇:软件工程课设心得软件工程是一门实践性很强、交叉性很强的学科,它提供给我们的不仅是一种方法论,更是一种世界观。在没有接触软件工程这门课时,我一直认为软件就是程序。能编出解...

    10年前   
    421    0

    软件工程课设心得

    软件工程课设心得  软件工程是一门实践性很强、交叉性很强的学科,它提供给我们的不仅是一种方法论,更是一种世界观。  在没有接触软件工程这门课时,我一直认为软件就是程序。能编出解决问题的程序就o...

    9年前   
    478    0

    分式方程(2)

     分式有意义 在分数中,分数的分母不能为零,如果为零,分数就没有意义。同样:在分式中,分式的分母不能为零,如果为零,分数就没有意义。例 当x取什么值时,以下分式有意义?

    2年前   
    593    0

    分式方程教学设计与反思

    教学设计与反思课题:分式方程科目: 数学教学对象: 八年级班课时: 2课时提供者:单位: XX中学一、教学内容分析 本次课节选于新人教版八年级上册第十五章《分式》,第三节,其内容为分式方...

    1年前   
    261    0

    c++期末复习资料

    c++期末复习资料1、 面向对象相关概念:类:具有相同属性和行为的对象集合,把数据和操作封装在一起对象:数据+操作。面向对象特征:抽象,封装,继承,多态2、输入输出:输入cin>>a>>b;输...

    10个月前   
    269    0

    c++程序实习报告

    c++程序实习报告  针对我们这学期学的c++,假期进行了五天的实习。第一天听老师讲实习内容和提示的时候觉得思路挺明确的一个程序,哪有传说中的那么难。下午和同学讨论的时候觉得很有目的,只要按部...

    12年前   
    441    0

    初中分式方程应用题解法小议

    初中分式方程应用题解法小议  于连祝   教初中的数学教师都会有同感,学生在学习分式方程解应用题时会遇到通分问题,而多数学生因为找不准最简公分母或因为漏乘等因素导致解错。而且在中考中必有一题为...

    11年前   
    675    0

    建 设 工 程 设 计 合 同

    建 设 工 程 设 计 合 同     项 目 名 称:                                              项目建设地点:        ...

    5年前   
    988    0

    有理数的除法教案

    理解有理数的除法法则,会进行有理数的除法运算

    5年前   
    2345    0

    《有理数》教学设计

    在生活、生产和科研中,经常遇到数的表示和运算等问题。

    5年前   
    2304    0

    求解天体问题的金钥匙

     求解天体问题的金钥匙 韩城市司马迁中学:孙永红 ...

    10年前   
    451    0

    点差法求解中点弦问题

    点差法求解中点弦问题点差法就是在求解圆锥曲线并且题目中交代直线与圆锥曲线相交被截的线段中点坐标的时候,利用直线和圆锥曲线的两个交点,并把交点代入圆锥曲线的方程,并作差。求出直线的斜率,然后利用...

    1年前   
    363    0

    三视图求解技巧

     ...

    4年前   
    909    0

    酒店客房管理系统数据库课设报告

    北 华 航 天 工 业 学 院课程设计报告(论文)课程名称: 数据库系统原理 报告(论文)题目: 酒店客房管理系统 ...

    3年前   
    465    0

    管理信息系统课设指导及写作框架范本

    管理信息系统课设指导及写作框架范本《管理信息系统》课程设计指导书一、 课程设计目的管理信息系统课程设计作为独立的教学环节,是管理专业集中实践性环节系列之一,是学习完《管理信息系统》课程后进行的...

    11年前   
    533    0

    化学专题复习课教学情境创设的实践探索

    摘 要:化学专题复习课教学,需要我们采用多种形式创造真实科学的情境,激发学生参与意识,增强趣味性和生活性,以便拓展复习课的深度和广度,将科学观念更好的落到实处。

    2年前   
    529    0

    c++超市管理系统课程设计报告

    c++超市管理系统课程设计报告第1章 任务描述本次C++实践课题为“超市管理系统”。要求功能有A、添加商品信息,有商品编号、商品名、供应商代号、进货价、售出价、存货数等。进货:若商品已存在...

    2年前   
    518    0

    文档贡献者

    文***品

    贡献于2021-09-07

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!

    该用户的其他文档