沈阳航空航天大学
课 程 设 计 报 告
课程设计名称:C语言课程设计
课程设计题目:猜数游戏
院(系):计算机学院
专 业:计算机科学与技术
班 级:04010101
学 号:2010040101027
姓 名:王思洋
指导教师:丛丽晖
完成日期:20##年3月16日
目 录
第1章 概要设计... 1
1.1题目的内容与要求... 1
1.2总体结构... 1
第2章 详细设计... 2
2.1主模块... 2
2.2显示模块... 3
2.3分词模块... 3
2.4替换模块... 3
第3章 调试分析... 4
第4章 使用说明与执行结果... 5
参考文献... 7
附 录(程序清单)... 8
第1章 概要设计
1.1题目的内容与要求
内容:由计算机产生一个一定范围内随机数,用户输入数据去猜,猜中即胜;猜不中,提示是大了还是小了,继续猜,直至猜中为止,要求给出所用时间和评语。应用程序操作界面应简单、直观、大方。
要求: 本节内容参照任务书,但是不要照抄,用自己的话描述
1) 独立完成系统的设计、编码和调试;
2) 系统利用C语言实现;
3) 按照课程设计规范书写课程设计报告;
4) 熟练掌握基本的调试方法,并将程序调试通过。
1.2总体结构
本程序主要分为四个模块(功能模块图见图1.1):主模块,判断模块,时间模块,显示模块。判断模块:判断是否有返回值及所猜数值与随机产生数的大小比对,进行及时提示。时间模块:建立一个时间模块,为游戏记录猜对所用时间。替换模块:对指定的单词进行替换。显示模块:输入所猜数值,显示猜的是否正确,及提示和评语。
图1.1 功能模块图
第2章 详细设计
2.1主模块
控制整个程序的运行,通过主函数模块分别调用各个模块,实现各项功能,流程如图2.1所示。
否
是
是
否
是
否
是
图2.1 主模块流程图
注释:
1. X=1的判断是一个人while循环,用来判断是否有返回值,若无返回值(x=0),
即说明已答对即说明已答对
2. 输入所猜数guss与系统随机生成数index进行比对,根据大小进行提示,循环进行,直至猜对
2.2判断模块
输入所猜数值,与系统随机产生的数进行比较,并将比较结果输出,提示游戏者重新猜数,流程如图2.2所示。
否
是
否
是
图2.2 判断模块流程图
2.3时间模块
建立一个时间模块,用time函数记录时间,time1为起始时间,time2为终止时间,所用时间T=time2-time1。
2.4显示模块
显示出所采正确数值,及提示语、猜对所用时间及评语,流程如图2.4所示。
图2.4 判断模块流程图
注释:
1、diff为猜对数值所用时间。
第3章 调试分析
1、因为平常对程序编写练习不够,虽然题目不算难,单边起来仍有一些棘手,经过仔细分析和请教查询之后,终于想出思路并画出流程图。
2、由于程序要求需要给出猜对数值所用时间,而在以前没用到和接触过这种代码,一时无从下手,经过一番思考,上网搜索和去图书馆查询资料,了解到了 time这个函数,在经过认真学习之后,学会了使用这个函数来记录初始和截止时间,二者相减便得到了所用时间。
第4章 使用说明与执行结果
运行操作及结果:
1、第一次输入一个数据25000,经提示重新输入,重复进行此步骤,
根据提示进行猜数,直至猜对。
图4.1 程序运行图
2、 经过一段时间,所猜数越来越接近正确值,最后猜对,根据所 用时间进行评价。
此用时较长
图4.2 程序运行图
次运行时间适中
图4.2 程序运行图
参考文献
[1] 严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学出版社,2007
[2] 张长海.C语言程设计[M].北京:高等教育出版社,2006
[3] 陈建新,李志敏.数据结构实验指导与课程设计教程.北京:科学出版社,2010
[4] 吴玉蓉,李劲.数据结构(C语言版).北京:中国水利水电出版社,2008
[5] 谭浩强 .C语言程设计. 北京:清华大学出版社,2005
[6]王为青,刘变红. C语言高级编程及实例剖析.北京:人民邮电出版社,2007
附 录(程序清单)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int display(int flag)
{
if(flag==1)
{
printf("大了\n");
return 1;
}
if(flag==-1)
{
printf("小了\n");
return 1;
}
if(flag==0)
{
printf("恭喜你答对了!\n");
return 0;
}
}
void main()
{
time_t time1,time2;
int diff;
srand((unsigned)time(0));
int index,guss,x=1,flag;
index=rand();
time1=time(NULL);
while(x)
{
scanf("%d",&guss);
if(guss==index)
flag=0;
if(guss>index)
flag=1;
if(guss<index)
flag=-1;
x=display(flag);
}
time2=time(NULL);
diff=(int)(time2-time1);
if(diff<30)
printf("用时较短,你真厉害\n");
if(diff>30 && diff<60)
printf("用时适中,还可以\n");
if(diff>60)
printf("用时较长,还需努力\n");
printf("%d秒\n",diff);
}
第二篇:C语言课程设计题目及报告-20xx
《C程序设计》大作业及备选题目
1. 目的
本次大作业是《C程序设计》课程的综合实验,作为课堂教学和课内正常上机实验的补充。通过对《C程序设计》课程的学习,学生已初步掌握C语言的基本概念、过程化程序设计的基本方法,但是实际编程和上机调试程序的能力还远远不足。通过《C程序设计》大作业,加强学生自主学习、收集资料和动手编程的能力,为后续专业课程打好基础。
2. 大作业说明
本次课程设计使用Visual C++ 6.0完成程序设计。按照2~6人为一组,每组选择一个题目,共同完成。每人必须独立该题目的一个部分,有能力的同学可独立完成。本次课程设计要求每个程序要求调试通过;课程设计结束后,每个小组上交大作业设计报告一份、程序一套,要求演示,演示时采用答辩形式,由各小组同学边演示边讲解编程思路。源代码以电子版形式提交,提交的源代码要求加注释。
3. 提交内容要求
(一) 程序设计报告
要求:
(1)封面:
201x级《C程序设计》大作业设计报告
设计题目:……
小组参与人员:
[姓名:XXX] [学号:XXXXXXX] [分工:XXXXXXX]
[姓名:XXX] [学号:XXXXXXX] [分工:XXXXXXX]
(2)正文最好分章节,正文为5号宋体。
(3)内容:
1) 概述:需求说明,功能分析,开发环境等
2) 程序概要设计:程序流程是什么,有哪些文件、函数,各实现什么功能,程序如何使用,输入输出各是什么等。
3) 程序详细设计:关键代码的主要思想,例如采用的查找采用折半法、排序采用冒泡法等给出算法的主要思想。
4) 总结:分析程序的优点和不足,总结自己的收获。
(二) 程序代码清单
要求:程序要求能够正常运行,并至少能实现基本功能要求。完成功能越多将得到较高的分数。
4. 备选题目
(1) 学习软件
系统功能设计
在本系统的设计中,主要实现如下一些功能:学习、测试、成绩统计与分析。其中,“学习”部分要求教100以内的加、减、乘和除;“测试”模块要求随机给出参与运算的数及运算类型,并判断用户的答案,测试完给出得分;“成绩统计与分析”模块能够统计成绩各种运算的平均成绩。
界面要求
欢迎界面、登录界面、系统模块选择界面及各模块界面。
(2) 旅馆信息管理程序
系统功能设计
1. 要求实现旅客的入住、换房和退房、查看旅客和房间信息,以及从文件读取相关信息,相关信息储存到文件的功能,从而实现旅馆信息管理的基本功能。;使用结构体数组来实现旅客入住、换房、退房三种行为。能将文件中的信息读到结构体中,能将结构体的信息保存到文件中。
2. 旅客和房间的信息存放到文件中。
界面要求
欢迎界面、登录界面、系统模块选择界面及各模块界面。例如:
(3) 大学生信息管理系统
系统功能设计
1. 在本系统的设计中,主要实现如下一些功能:增加记录、修改记录、删除记录、查询记录及浏览记录。学生记录包括:姓名、学号、性别、专业、联系电话、简历。
2. 学生记录以文件形式保存。
界面要求
欢迎界面、登录界面、管理界面。
(4) 毕业纪念册
系统功能设计
1. 在本系统的设计中,主要实现如下一些功能:增加记录、修改记录、查询记录及浏览记录。毕业生记录包括:姓名、学号、性别、专业、联系电话、留言。
2. 毕业生记录以文件形式保存。
界面要求
欢迎界面、登录界面、管理界面。
(5) 英汉电子词典
系统功能设计
1. 在本系统的设计中,主要实现如下一些功能:(1)词典功能。英汉双解及例句。(2)生词本 。查找过的单词写入生词本。
2. 词典中的词语及生词本以文件形式存储。
界面要求
管理界面。
(6) 电话簿管理程序
系统功能设计
1. 在本系统的设计中,主要实现如下一些功能:增加新电话号码、删除电话号码、修改电话号码、查询电话号码(按照电话号码和按照姓名)、排序电话号码(按照电话号码和按照姓名)。电话记录包括:人名、工作单位、电话号码和E-mail地址。
2. 电话记录以文件形式保存。
界面要求
欢迎界面、登录界面、管理界面。
(7) 工资管理程序
系统功能设计
1. 在本系统的设计中,主要实现如下一些功能:加入一个员工的记录、删除一个员工的记录、显示所有员工记录、排序员工记录(按照职工号排序和按照姓名字母序排序)、查询工资(查询工资和显示某一工资范围的记录)、统计功能(统计某一工资范围的人数和统计各部门的工资总数)。员工记录包括:姓名、职工号、所属部门、基本工资、奖励工资.
2. 员工记录以文件形式保存。
界面要求
欢迎界面、登录界面、管理界面。
(8) 商品库存管理
系统功能设计
1. 在本系统的设计中,主要实现如下一些功能:输入商品总类、显示商品种类、增加商品种类、删除商品种类、查询商品种类。商品种类记录包括:名称、代码、颜色、数量、品牌。
2. 商品记录以文件形式保存。
界面要求
欢迎界面、登录界面、管理界面。
(9) 银行帐户管理
系统功能设计
1. 在本系统设计中,主要实现:输入新用户账户信息;显示用户帐户信息;修改帐户信息,要求用户输入帐号,根据用户需要修改除了帐号之外的其余信息;查询帐户情况,根据输入的帐号查询用户情况和帐户金额;删除帐户:根据输入的帐号找到要删除的帐号信息以后,经确认后删除该帐号信息;其中每个用户帐户信息中要求保存帐号、用户身份证号码、用户姓名、用户地址、帐户金额等;
2. 用户账户信息以文件形式存放
界面要求
欢迎界面、登录界面、管理界面。
(10) 图书管理
1. 设计一个具有数据插入、修改、删除、显示、查询和统计(例统计总图书价格,某一出版社、某一类书有多少等)功能的图书管理程序,图书信息包括:书名、作者、书号、所属种类(例如计算机类、海洋类)、出版社、出版日期和单价。
2. 图书信息以文件形式存放
界面要求
欢迎界面、登录界面、管理界面。
(11) 电话簿管理程序
系统功能设计
1. 存储的记录信息包括:人名、工作单位、电话号码和E-mail地址。
要求具有如下功能:
(1)加入一个新电话号码;
(2)删除一个电话号码;
(3)显示所有电话号码;
(4)修改功能;
(5)排序功能,包括按照电话号码排序和按照姓名字母序排序;
(6)查询功能,包括按人名查询电话号码和按电话号码查询人名。
2. 记录需要保存到文件中。
界面要求
欢迎界面、登录界面、管理界面。
(12) 医院信息管理程序
系统功能设计
1. 病人信息包括病人的id号码、姓名、病历以及消费信息,并用链表将所有病人信息整合。
2. 能够实现病人信息的注册、病人信息的查询、病人消费统计、保存信息、载入信息、查询库存等几项功能。
界面要求
欢迎界面、登录界面、管理界面。系统完成后应实现类似下图所示界面。
(13) 航班售票系统
系统功能设计
1、 假设该民航有若干航班,要求实现增加航班和取消某个航班的功能。
2、 查询:根据用户提出的终到站查询航班号、售票情况等航班信息;也可根据航班号,列出该航班已订票的乘客名单;
3、 订票:根据航班号为客户订票,如该航班有余票,则为客户订票;如该航班已满员,则显示相应信息。
4、 退票。
界面要求
欢迎界面、登录界面、管理界面。
(14) 单项选择题测试系统
系统功能设计
1、 用文件保存试题库,每个试题包括题干、4个备选答案、标准答案;
2、 试题输入,增加试题到试题库中;
3、 试题抽取,每次从试题库中抽出n道题(n由键盘输入);
4、 答题,用户输入自己的答案;
5、 自动判卷,系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
界面要求
欢迎界面、登录界面、管理界面。
(15) 餐厅信息管理程序
系统功能设计
1.要求实现客户点菜的过程、客户结账、账目的管理、餐厅系统的维护四大功能模块,每个功能模块又分别对应一些不同操作子模块,从而完成一个餐厅信息管理信息系统。
2.可以使用三种不同的结构体来分别存储餐桌、菜以及订单信息。
3.使用文本文件完成数据的存储与读取,完成账单的管理。
界面要求
欢迎界面、登录界面、管理界面,系统制作完成后应实现类似下图所示界面。