程序设计100以内的正整数加减运算

程序设计题目八:小学 100 以内正整数加减运算
1问题描述
设计并实现“小学 100 以内整数加减运算”系统,程序要求如下:
(1)随机出 10 道题,这 10 道题目不能重复,如果是减法运算,要求被减数大于减数。
(2)这些题目,可以选择以下两种方式中的一种给出: a.选择题,要求随机生成 4 个选项,正确答案包含其中; b.填空题,可以让用户从键盘输入答案。
(3)用户每次答题,能根据答案计算是否得分,并计入总分。
(4)答题完毕,系统给出总用时。
(5)根据答题情况,能将用户的错误作答题目及答案保存,可以提供用户查看错题功能
2功能要求
代码要能提供以下几个基本功能。
(1)提供菜单选项,让用户登录,答题。
(2)提供菜单选项,让用户查阅答题情况,答题期间不能查阅。
(3)提供菜单选项,错题再答,如果错题答对了,应从错题集中删除。
(4)提供菜单选项,可以选择生成题目到文本文件,同时生成所对应的答案到相应的文本文件,以便线下测试。
选做要求:
(1)在运算中添加括号,比如 5-(95-93),系统也能正确算出答案。
(2)在菜单选项中,增加帮助功能,提供系统使用说明,模拟答题功能。
3其他要求
(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用MFC 等开发工具,实现彩色或图形操作界面。
4开发环境
可以选择TC2.0、TC3.0、VC++6.0等开发环境,或经同意选择自己熟悉的开发工具与平台。

【相关推荐】



  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/378955
  • 除此之外, 这篇博客: Educational Codeforces Round 102 (Rated for Div. 2)中的 思路:首先考虑在没有删除的情况下,一系列操作过程中,能变成多少不同的值。x初始为0,随着+±-的变化,会来回反复横跳,那么两个关键点就是最大值和最小值,这说明从最大值到最小值之间的数字,都是在操作过程中出现。所以只需要考虑一个区间内的操作产生的最大最小值。但是题目要删掉,中间一段,剩下两段,也就是要把两段合并起来。画个图其实更好理解。红色的是所有的操作,绿色的是要删除的操作,第二个曲线就是合并之后的x值变化曲线。由图可知。后面那部分合并过来之后,起点就是前面那部分的终点!这就是关键点。然后前面那部分的区间的最大最小值和当前值都很好维护。难的是后面那部分怎么维护。后面那部分,从后往前维护,每到一个点,都认为这个点是零点,然后计算最大值最小值。因为是反着来,可以发现操作曲线是一个与 原操作 关于x轴对称的曲线,所以最大值就是最小值,最小值就是最大值。然后最小值就是 当前点到最小值的距离,最大值就是 当前点到最大值的距离。之所以算距离,是因为,永远认为当前点是0点。所以 距离 才是真正的最大最小值。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    在这里插入图片描述


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^