C语言课程信息管理系统课程设计报告Word格式文档下载.docx
- 文档编号:20914932
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:30
- 大小:267.53KB
C语言课程信息管理系统课程设计报告Word格式文档下载.docx
《C语言课程信息管理系统课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言课程信息管理系统课程设计报告Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。
4、课程信息的浏览功能(查找数据)。
任意输入一门课程的编号,打印出所有相关数据。
要求能多次查找。
5、课程信息的删除(修改数据)。
任意输入一门课程的编号,打印出所有相关信息后,可对某一项信息进行修改并保存。
6、课程信息的计算并排序。
计算所有课程的总学分及平均学分(aver,单精度,输出一位小数),将包括所有数据的数组元素按价格从高到低的顺序排序打印出来。
3.2概要设计
程序流程图:
模块分解:
voidpasd();
//声明密码函数
声明部分
(1)主函数模块voidzhujie();
//声明zhujie()函数
zhujie();
//调用zhujie()函数
调用部分
pasd();
//调用密码函数
联系
声明部分:
voidyewu();
//声明业务函数
(2)密码模块
调用部分:
yewu();
//调用业务函数
联系voidinputcouinfo(void);
//声明输入函数
voidupdatecouinfo(void);
//声明修改函数
voidaddcouinfo(void);
//声明添加函数
声明部分
voidfindcouinfo(void);
//声明查询函数
voidordercouinfo(void);
//声明排序函数
(3)业务模块voiddelcouinfo(void);
//声明删除函数
inputcouinfo();
//调用输入函数
case'
1'
:
findcouinfo();
break;
//调用课程信息查询
调用部分case'
2'
delcouinfo();
//调用课程信息删除
3'
updatecouinfo();
//调用课程信息修改
4'
ordercouinfo();
//调用课程信息排序
5'
addcouinfo();
break;
//调用课程信息添加
数据结构的说明:
#definen120//控制课程个数的存储空间
#definem15//控制课程属性个数的存储空间空间
charcouinfo[n1][m1][16];
//定义全局数组
charpassword[]={"
123456"
};
//原密码
inta,i,j,t=0,c=0,n=4,m=5;
//定义全局变量
密码模块:
charp[9];
//定义密码数组
p[i]==8//控制退格
p[i]==13//回车控制
strcmp(p,password)==0//密码匹配字符串比较函数
intn=3;
//密码输入次数控制
业务模块:
system("
cls"
);
//清屏函数
3.3详细设计
定义数组密码
intn=3;
n=3;
n=3;
inti;
密码是否匹配
注释
Y(是)N(否)
YN
删除模块:
开始
定义变量数组
chary[16];
chary1[16];
intd,x,z;
输入一个X值
scanf("
%d"
&
x);
X值是否等于0
结束
输入Y,Y1的值
Y与Y1是否相等
删除该课程
显示没有删除的课程
3.4编写过程中遇到的问题及解决办法
(1)在调试函数的过程时,一般高级语言要求函数实参与形参个数与类型一致,但在C语言编译在该点检查不严格。
当出现实参与形参类型不一致时,编译运行时,系统不报错。
因此,错误隐含了下来,给程序调试带来了困难。
解决方法是:
一开始,我自己仔细查找自己的程序的错误,但最终在老师的帮助下,找到了程序的错误。
并将其改正,使程序正常运行。
(2)当要求从键盘读入一字符串时,若选用输入的函数不当时,则容易造成错误,并很难发现。
解决方法:
自己认真并且反复检查以及老师的帮助。
3.5调试结果
界面
3.6课程设计总结
课程管理信息系统心得
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。
回顾起此次课程设计,至今我们仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整半个月的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。
我做的是课程管理信息系统,虽然是很简单的一个小的程序,但对我一个初学者来说却是一个很大的困难。
更加是第一次做这样的课程设计,所以第一天下午在机房做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。
可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。
特别是函数调用和数组的部分,几乎是一片空白。
不过经过几天的努力,大体上把课本上的知识点看了一遍,知识点也都基本是撑握了,所以下一步就是开始正式的编程序了。
不过毕竟是个新手,还是不知如何下手,于是就在网上下了一篇类似的程序,经过仔细的研究,终于读懂了C语言编程的基本过程和方法。
经过一波三折,终于开始正式编程。
编程是一件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还必须强迫自己坚持下去,按照老师所说的模块化思想,分部分的进行编写。
而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。
无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自己进步的证明。
通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;
再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。
在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。
因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!
四.参考书目:
[1]谭浩强,《C程序设计教程》,北京,清华大学出版社,2007年
[2]康莉,《零基础学C语言》,北京,机械工业出版社,2010年
[3]方风波,《C语言程序设计》,北京,地质出版社,2006年
附录A源程序代码
#include<
stdio.h>
conio.h>
//ConsoleInput/Output(控制台输入输出)
string.h>
chard[16],b[6];
//主函数模块
voidmain()
{
//声明密码函数
voidzhujie();
pasd();
}
voidzhujie()
printf("
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n"
★******************************************************************************\n"
★**********************************\n"
★**★★★★**★★★★**欢迎进入课程管理信息系统**★★★★**★★★★**\n"
★************Welcometothecourseinformationmanagementsystem***************\n"
★***★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★***\n"
★**★★★★★★★★★★★★★★★★★★★★**\n"
★*★★★★*\n"
★*★****************★★****************★*\n"
★*★*添加课程信息*★★*删除课程信息*★*\n"
★*★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★*\n"
printf("
★**★*查询课程信息*★★*修改课程信息*★**\n"
★***★****************★★****************★***\n"
//密码模块
voidpasd(void)//定义密码函数
voidyewu();
charp[9];
do
{
pleaseenterpassword:
\n"
//输入密码
for(i=0;
i<
6;
i++)
{
p[i]=getch();
if(p[i]==8)//控制退格
{
i=i-2;
printf("
\b\b"
}
else
printf("
*"
if(p[i]==13)break;
//回车控制
p[6]='
\0'
;
}
if(strcmp(p,password)==0)//密码匹配strcmp(p,password)
{
//printf("
c=1;
yewu();
break;
else
pleaseenterpasswordagain:
n--;
}
while(n>
0);
//业务模块
voidyewu()//定义业务函数
voidinputcouinfo(void);
voiddelcouinfo(void);
//声明修改函数
chard;
system("
if(c==1)
{
inputcouinfo();
//调用输入函数
\t课程信息查询请输入:
1\n\t课程信息删除请输入:
2\n\t课程信息修改请输入:
3\n\t课程信息排序请输入:
4\n\t课程信息添加请输入:
5\n"
您是否进行其他操作,否输入0,否则输入其他:
"
scanf("
a);
for(i=0;
if(a!
=0)
{
请输入要操作的选项:
scanf("
%s"
d);
switch(d)
{
case'
//调用课程信息查询函数
//调用课程信息删除函数
//调用课程信息修改函数
//调用课程信息排序函数
//调用课程信息添加函数
default:
}
}
}
//课程信息输入模块
voidinputcouinfo(void)//定义课程信息输入函数
{
intx=1;
\t\t\t**********************\n"
\t\t\t欢迎进入信息输入系统!
!
请注意:
性质为必修(B)或选修(X)\n"
\t\t课程号名称性质总学时学分\n"
n;
i++)
输入课程编号%d:
x++);
for(j=0;
j<
m;
j++)
couinfo[i][j]);
课程号名称性质总学时学分\n"
for(j=0;
%s\t"
couinfo[i][j]);
voidaddcouinfo(void)//课程信息添加函数
intd,t,z;
\t\t\t**********************\n"
\t\t\t欢迎进入信息添加系统!
for(d=1;
d++)
\n是否进行添加,“否”请输入0,进行输入其他\n"
t);
if(t!
=0)
请输入要添加的第%d个课程信息:
d);
z=n++;
couinfo[z][j]);
couinfo[z][j]);
elsebreak;
\t课程查询请输入:
1\n\t课程删除请输入:
2\n\t课程修改请输入:
3\n\t课程排序请输入:
4\n\t课程添加请输入:
voidfindcouinfo(void)//课程信息查询函数
chary[16];
\t\t\t欢迎进入信息查询系统!
\n是否进行查询,“否”请输入0\n"
请输入要查询的课程号:
y);
for(i=0;
z=i,i<
n1;
if(strcmp(y,couinfo[i][0])==0)
for(j=0;
{
printf("
}
if(z==n)printf("
没有此课程号信息\n"
elsebreak;
voiddelcouinfo(void)//课程信息删除函数
\t\t\t欢迎进入信息删除系统!
是否进行删除信息,否请输入:
0进行输入其他数字:
if(x!
请输入要删除的课程号:
请再次输入要删除的课程号:
y1);
if(strcmp(y,y1)==0)
if(strcmp(y,couinfo[i][0])==0)
z=i;
printf("
要删除的课程信息是\n"
{
t++;
for(i=z;
n-t;
strcpy(couinfo[i][j],couinfo[i+1][j]);
if(z==n)printf("
else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程 信息管理 系统 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)