一、编写一个能自动生成小学四则运算题目的程序
题目:自动生成四则运算题目
主要功能:可以自动生成n道四则运算题目
设计思想:使用c语言来编写的,先设计的是随机数的生成,使用的是rand函数和srand((unsigned)time(NULL)),而使用rand函数时头文件应该包括stdlib.h,之后生成随机数0-100则使用rand()%100+1语句来实现。最后使用switch语句来实现多分支的选择。
源代码:
#include"stdio.h" #include"stdlib.h" #include<time.h> main(){ int a,b,result,i,j,m,n; printf("四则运算题目数量:"); scanf("%d",&i); srand( (unsigned)time( NULL ) ); for( j = 0; j < i;j++ ) { a=rand()%100+1; b=rand()%100+1; m=rand()%100+1; n=rand()%100+1; result=rand()%8; switch(result){ case 0:printf("%d+%d=\n",a,b);break; case 1:printf("%d-%d=\n",a,b);break; case 2:printf("%d*%d=\n",a,b);break; case 3:printf("%d/%d=\n",a,b);break; case 4:printf("%d/%d+%d/%d=\n",a,m,b,n);break; case 5:printf("%d/%d-%d/%d=\n",a,m,b,n);break; case 6:printf("%d/%d*%d/%d=\n",a,m,b,n);break; case 7:printf("%d/%d/%d/%d=\n",a,m,b,n);break; } } }
程序运行截图:
总结:
在这次的编程过程中,遇到了很多的困难,自己的c语言基础也不是很好,所以编写出来的程序也比较简单,还需不断的改正。先是随机数的生成,使用rand函数就可以生成。之后就是四则运算表达式,使用的switch语句。最开始我将a、b两个随机数定义为int整型,在switch语句中,分支了4个选择,分别是加减乘除。题目中要求还要支持真分数的运算,但在c语言中没有真分数,所以用float浮点型来表示,但是生成的结果并不是想要的。经过上网查找借鉴,最后将switch语句分支了8个选择,分别是四个整数的和四个分数的,而其中的分数则使用a/m来表示。通过这次的编程,我发现我还有很多的不足和漏洞,还需继续努力的去学习,去练习实践,所以在今后的学习中,我会弥补漏洞,学习更多的知识。
二、目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?
目前流行的源程序版本管理软件和项目管理软件有Microsoft TFS、Github、SVN、Trac等。
Microsoft TFS
优点:
1、对敏捷,msf,cmmi等项目、过程管理、过程改善的支持。
2、任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用。
3、能有效实现 SCRUM能与 VS 无缝接合。
缺点:
1、能应用起来的团队、公司的数量极少,这也仅仅是占TFS极小部分功能。
2、搭建和维护tfs较复杂,硬件要求高。
Github
优点:
1、可以作为一个版本控制系统和协作工具,用它来发布工作。
2、支持多人共同完成一个项目,因此你们可以在同一页面对话交流。
3、能够跟踪错误,这让使用Github变得更加简单。
4、强调个人,符合hacker更看重名誉/成就感的天性
缺点:
1、国内访问速度太慢,经常出现connect time-out(非GFW所为)
2、基于git,学习曲线陡峭,企业大规模用git根本不现实。
3、wiki功能太弱,直接导致文档(对于开源项目很重要)经常被分离到一个独立站点。
4、将图片内容转化为代码,或者将设计用于产品设置,看起来依旧不是那样顺利。
SVN
优点:
1、所有的文档都显示SVN可以取代CVS,同时SVN的问题和缺点都被隐藏了。
2、SVN速度比CVS快很多。
3、SVN允许一个文件有任意多的可命名属性,功能十分完全。
4、SVN会关心所有的文件类型,不需要你来手工操作。
5、SVN的确支持“零或一”事务原则,这是SVN的一大优势。
缺点:
1、SVN是基于关系数据库的或一系列二进制文件的。数据存储由此变得不透明。
2、SVN不允许递交后回滚。
3、不能离线工作。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。
Trac
优点:
1、Trac做一个SCM配置管理平台,意味着它有良好的扩充性。
2、Trac的权限体系是比较完备的设计。
3、非常灵活,可以随心所欲控制,可以和TortoiseSVN集成。
缺点:
1、需求和缺陷没有分离。
2、用 wiki 来替代 Word 等工具编写文档对于产品策划来说门槛太高了。
3、中文化不完整,美术人员接触起来困难重重。
4、功能不是很强大,核心功能很少,不安装插件基本上没法用。
三、学习进度表
学习时间 |
新增代码行 |
博客量(篇) |
知识总结 |
|
第一周 |
6小时 |
约100 |
2 |
数据库课设,巩固了上个学期的知识,将自己不是很熟练的东西重新进行学习。 软件工程,在课下将教材大概的浏览了一下,了解了一些基础的概念。 |
第二周 |
10小时 | 约150 | 2 |
软件工程,c语言中的随机数rand()函数,以及巩固了一下switch语句。 数据库课设,建表,增删改查语句。 |
第三周 |
||||
第四周 |
||||
...... |
原文:http://www.cnblogs.com/zlyx/p/5272805.html