C语言课程设计文档格式.docx
- 文档编号:17720158
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:9
- 大小:20.62KB
C语言课程设计文档格式.docx
《C语言课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
此程序设计主要用到了函数,结构体,数组,以及大量的循环、选择、顺序结构,实现了录入、记录、查找、修改、删除、以及新增、计费等网吧系统管理所需要的功能,基本实现对了一般的网吧系统管理。
二.设计目的
1、熟练掌握C语言课程中所学的理论知识;
通过课程设计让我们对C语言这门课程有一个更深刻的理解,加强对理论只是的熟练程度,加深对各种数据类型的理解,以及对各种数据类型,运算符和表达式的运用,更熟练的运用顺序结构、选择结构、循环结构编程。
2、通过综合C语言的基本知识来解决实际问题;
对理论只是又了一定的了解后要求我们能做到理论与实际结合,运用所学知识,通过合作完成一些实际可用的工程,为以后深造打下基础。
3、加强分析和解决问题的能力。
在编写程序过程中遇到的一些问题,通过查找资料,相互探讨,请教老师等途径,提高我们在面对实际问题时解决问题的能力。
三.课程设计题目描述和要求
设计网吧电脑管理系统,每台电脑信息有:
电脑编号,购买时间,显示器规格,是否带摄像头,每小时资费,当前占用情况(B-忙,S-闲)等。
系统功能包括:
1、系统以菜单方式工作,管理员用密码登陆。
2、新增电脑信息。
用数组数据类型赋初值的方法或从键盘输入的方法把电脑信息送到各个数组中或结构体中,然后把它们输出显示。
3、删除电脑信息。
任意输入一个电脑编号,将该电脑所有的信息从数组中删除。
4、查看电脑信息。
任意输入一个电脑编号,打印出该电脑的所有相关数据。
同时,能提供根据用户要求的显示器规格和摄像头情况,查找未被占用的电脑。
5、修改电脑信息。
任意输入一个电脑编号,打印出所有相关信息后,可对某一项信息进行修改并保存。
6、使用计费。
输入一个用户使用的电脑编号、时长,计算该用户应支付的费用。
四.课程设计报告内容
4.1设计步骤
1)项目背景:
随着互联网技术的发展,网络信息的丰富,特别网络游戏的网络游戏的风靡一时,网民数量也呈现了高速增长的态势,网吧这种经营模式早已被广大用户所接受。
特别是我国这样网民数量相当庞大的情况下,网吧更是发展迅猛,网吧的经济形势日趋看好。
旨在为广大网民提供收费上网服务的网吧或网络咖啡屋凭借舒适宽松的上网环境和高速便捷的上网服务,吸引了越来越多网民的光顾,网吧和酒吧、咖啡屋一样,已成为现代社会的一种不可缺少的文化。
对于网吧的管理来说要求也越来越高当今这个信息时代人们管理对电脑的需求越来越大,管理项目的复杂性,大量性,繁琐性,管理人员需要找到一个管理快捷,方便,可靠可行的管理方式,对于这个网吧管理我们都很熟悉了,一个网吧含有各种类型的电脑,顾客去上网需要找到空闲的且符合顾客要求的机子,网吧的新增及坏机都得及时处理,等等一些需要及时处理的事项,因而其管理如果单纯靠人工记录的方式是很困难做到及时准确的,所以我们用电脑这个工具用程序来指挥其为我们工作达到我们的管理要求。
2)需求分析:
一个网吧包括对所有电脑信息的管理,通过这个系统管理人员可以通过输入电脑编号的方式来查找其信息,对电脑的更新也需要做记录,可单个记录可成批记录,可成批的修改电脑信息,删除某项或全部信息,为了安全性,管理人员一般都要密码登陆,登陆后系统一菜单形式体系管理员需要执行那一步,也可以根据顾客的要求查找到相应的电脑。
3)概要设计:
该系统主要模块如下
1.新增电脑信息voidadd_cmp_info()
2.查找电脑信息voidsearch_cmp_info()
3.显示电脑信息voidoutput_cmp_info()
4.删除电脑信息voidomit_cmp_info()
5.修改电脑信息voidmotify_cmp_info()
6.使用计费情况voidcost_cmp_info()
包括的数据结构设计:
我们设置了一个电脑信息的结构体,structcomputer其中包括了电脑编号:
cmp[i].num,电脑显示器型号及品牌:
cmp[i].display,电脑摄像头:
cmp[i].camera,占用情况:
cmp[i].condition,资费情况:
cmp[i].fee,以及购买日期:
cmp[i].buydate等等。
。
其中对于购买日期我们又定义了一数组,structbuydatedate,包括购买日期的年:
cmp[i].date.year,月:
cmp[i].date.month,日:
cmp[i].date.day。
I为电脑编号。
4.2用流表示如下:
输入密码
显示主菜单
新增
删除
查找
修改
显示
计费
退出
输入信息
输入编号
按编号
按条件
显示原信息
显示各台电脑信息
输入用时和编号
Y
N
确定删除
显示信息
返回
显示总费用
继续
退出
4)编写代码:
根据设计编写。
源程序要按照程序的格式规范来编写,要求结构清晰,界面友好,关键部分有必要的注释。
5)调试分析:
准备充分的测试数据对系统进行调试(对错误的数据输入也要进行
测试,保证程序的容错性),并通过测试对系统提出改进设计思路。
4.3.个人模块设计
1)本次课程设计中我负责的是网吧管理系统中的对电脑信息的修改处理,我定义了一个voidmodify_cmp_info()函数,考虑到编写程序过程中所需要的一些变量,以及实际应用中用户的需求,我先做了一个整体的构思,定义如下变量:
IntI,flag,num1;
Intnum2;
Intmonth,day,year;
Chardisplay[10];
Charcamera;
Floatfee;
Charcondition;
Charcont;
源程序如下:
voidmodify_cmp_info()
{
inti,flag,num1;
intnum2;
intmonth,day,year;
chardisplay[10];
charcamera;
floatfee;
charcondition;
charcont;
system("
cls"
);
do
{
printf("
\t\t请输入你要修改电脑信息的电脑编号:
"
scanf("
%d"
&
num1);
\n\n该电脑原有信息如下:
\n"
printf("
No.\tbuydate\tdispaly\tcamera\tfee\tcondition\n"
-----------------------------------------------------------------\n"
for(i=0;
i<
N;
i++)
{
if(cmp[i].num==num1)
printf("
%d\t%d-%d-%d\t%s\t%c\t%.1f\t%c\n"
cmp[i].num,cmp[i].date.month,cmp[i].date.day,cmp[i].date.year,cmp[i].display,cmp[i].camera,cmp[i].fee,cmp[i].condition);
}
\n\n"
\t\t电脑信息修改的项目如下:
\t\t1.No.\n"
\t\t2.buydate\n"
\t\t3.display\n"
\t\t4.camera\n"
\t\t5.fee\n"
\t\t6.condition\n"
\t\t请选择你要修改的项目:
flag);
fflush(stdin);
switch(flag)
case1:
printf("
请输入改动的电脑编号:
scanf("
num2);
for(i=0;
{
if(cmp[i].num==num1)
cmp[i].num=num2;
}
break;
case2:
请输入改动的日期(月/日/年):
%d,%d,%d"
month,&
day,&
year);
{
cmp[i].date.month=month;
cmp[i].date.day=day;
cmp[i].date.year=year;
}
case3:
请输入改动电脑的类型:
%s"
display);
if(cmp[i].num==num1)
strcpy(cmp[num1-1].display,display);
case4:
请输入有无摄像头:
%c"
camera);
cmp[num1-1].camera=camera;
case5:
请输入该台电脑的收费(每小时)标准:
%f"
fee);
cmp[num1-1].fee=fee;
case6:
请输入该台电脑的状态(B-忙,S-闲):
condition);
cmp[num1-1].condition=condition;
default:
输入出错!
是否继续修改?
(y/n):
cont=getchar();
}while(cont=='
y'
||cont=='
Y'
\n\n\n按任意键返回菜单。
getch();
ma();
}
根据要求,这部分内容要求用户可以根据自己的需要修改某台机的一项或多项内容,所以我事先就定义一个变量,flag,用于存放用户选择的情况,用一个
switch()结构实现此目的,其中考虑到对日期的修改是用户可能只对其中某项作修改,比如只修改day或则year或者month,也肯能是该其中几项,所以这部分我定义了三个变量,可以实现用户这一要求。
此部分我遇到了不少困难,起初我不知道怎么去吧修改后的内容赋给每台电脑,通过查找资料,我需要用一个函数:
Strcpy,把修改后的信息复制到被修改前的电脑信息里.strcpy(cmp[num1-1].display).display,实际运用时用户可能输入错误,可能需要在修改之后还想继续,所以在做界面提示时当用户输入的条件不满足是系统会提示用户,用printf语句输出相应的提示。
2)系统的改进方案
1.系统存在的问题
给系统基本上做到了可以正确执行用户的命令,但其中也还存在一些不足之处,删除部分系统可以做到删除用户想删除的信息,但在确定是否删除信息时输入Y系统会执行删除命令,但是当用户不想删除时输入任意字母都可执行,这样的话用户有可能在不想删除是不小心按错了键而导致信息的丢失,修改部分,用户把信息修改后做不到显示后的信息,用户也不知道信息到底修改好了没,要返回主菜单才能查到是否修改给用户带来了不必要的麻烦。
2.系统的升级
目前我们这个系统只能做到基本上可以管理一些网吧的日常业务,但是某些地方还不完善,有待改进,在新增处,我设想应该可以成批的增加各种电脑,而不是仅仅输入一台然后再继续输入,修改和删除部分今后可以做到不仅是输入电脑的编号后改变其信息,改进后我们可以让用户通过输入不同的信息,比如,输入摄像头,然后成批的修改或删除有或没有摄像头电脑的信息,用户使用该程序能更加自由方便的管理,我们这个系统有一个计费问题还很不完善,只能由用户输入电脑编号和时长然后输出该台电脑的总费用,而在实际运用时管理人员肯定希望
自己休息让电脑自动计时在结账时只需调出其编号即可知道其费用,因而当知识
有了进一步提升时可以设计一个定时计时的函数,自动计时。
五.总结
为期一个星期C语言课程设计结束了,获益不少啊,其中有辛酸有高兴,不管怎么样算是超越了自我吧,用自己的头脑设计出了属于自己的一套完整的程序。
拿到程序设计题目时我很兴奋,我对自己说一定能完美的完成的,可是当我看到老师给我们的一个工程的程序样版时我呆了,好长!
这么多我怎么能完成,想到我们是一个团队我不能给整个团队拉后腿,于是开始了属于我那部分的程序设计的构思。
在程序设计的过程中遇到了不少困难,用当前自己所学的知识是无法解决的,通过查找资料,请问老师同学,自己自学解决了困难,同时自己又学到了新知识,对以前所学知识也有了新的认识。
同时在设计过程中我感受到了团队的力量,没有一个团队我们不可能完成这样一个工程的。
理论要与实践相结合,通过实践时自己的理论知识得到进一步的提升,有一个新的认识,这是我在这次课程设计中最深刻的体会,只有理论只是是远远不够的,只有吧所学的只是与实践结合起来,从理论中得出结论,用理论服务实践,通过时间提高独立思考问题解决问题的能力,才能真正做到为社会服务。
通过课程设计我发现了自己哪些方面的不足,对自己以后学习的方向有了一个清楚的认识,在其间老师,同学给了我不少帮助,在此我表示衷心的感谢,同时也给我自己加油,因为我努力了,课程设计对提高我们的能很有帮助,希望今后我们再能有一些这样的机会!
参考书目:
谭浩强,《C程序设计教程》,清华大学出版社,北京清华大学学研大厦A座,2007年7月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计