C 语 言 课程设计成绩系统Word文件下载.docx
- 文档编号:20086669
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:28
- 大小:262.23KB
C 语 言 课程设计成绩系统Word文件下载.docx
《C 语 言 课程设计成绩系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《C 语 言 课程设计成绩系统Word文件下载.docx(28页珍藏版)》请在冰豆网上搜索。
从而让我们把书上学习到的东西与实际情况联系起来,让我们对用C语言进行编程有进一步的了解和深刻的认识,并且掌握了一些C语言的实际操作技能。
课设要求要求使用C语言进行编程,并且尽可能学习其他语言来穿插在程序中,使程序进一步简单而使用、方便。
要求在程序中使用链表,指针等操作,并且能完整显示出其各种功能。
所以完成此道题目要求较强的设计能力,尤其是要有一种大局观的意识。
如何调程序也非常重要,通过这个程序可以学习到以前调试短程序没有的的经验。
其主要实现录入、修改、查找、删除、显示、排序等功能。
二系统总体设计
本系统首先设计出了主函数,然后根据要实现的功能分别设计,录入、显示、查找、删除、修改功能的子函数。
运用所学的函数调用,以及共种语句和函数,来实现各种功能。
1系统总体框图
图1系统总体框图
2系统流程图
系统流程图如图2所示。
图2操作流程框架图
三详细设计
1输入函数
录入学生成绩,通过voidimport()函数,定义结构体变量,接受临时输入的数据,实现学生姓名和成绩的录入。
其流程图如下图3所示
图3创建函数流程图
图4创建函数界面图
2插入函数
通过定义insert()函数,接收临时输入的姓名和成绩,再通过strcpy()函数,将所得到的数据传入数组。
其流程图如下图5所示
图5插入函数流程图
图6插入函数界面图
3删除函数
通过定义del()函数,运用交互式问询方式,查找判断,如成功显示该生被成功删除,如失败显示失败操作其流程图如下图7所示
图7删除函数流程图
图8删除函数界面图
4排序函数
通过sort()函数,用冒泡排序法,对学生的成绩进行降序排列,实现操作。
其流程图如下图9所示
图9排序函数流程图
图10排序函数界面图
5显示函数
通过调用show()函数,
在需要时显示所有学生的成绩和姓名,
其流程图如右图11所示
图11显示函数流程图
图12显示函数界面图
6查找函数
通过search()函数,输入所需要查找的学生姓名,然后查找。
其流程图如下图13所示
图13查找函数流程图
图14查找函数界面图
7显示作者函数
图15显示作者界面图
四总结
通过短短的一周实习,让我学到了很多。
首先,通过编写大程序,让我知道了学以致用,而且万事开头难,平时完成的都是小程序,而当完成这种大程序需要宏观的思维与细致的态度。
需要耐心,出错时细心检查。
其次,凡是一定要细致,当编写程序后,关于查找学生成绩的调用函数一直不能显示分数,检查几遍也没检查出错误,后请教同学,是因浮点型却用了整形变量。
最后,当程序最终完全实现功能后,有一种小小的成就感。
其实,当困难摆在眼前时并不可怕,要想办法解决,当付出努力并且成功后,心里会很喜悦。
参考文献
[1]谭浩强,张基温.C语言程序设计教程[M].第3版.高等教育出版社,2006
[2]田淑清.全国计算机等级考试二级教程-----C语言程序设计[M].第一版.高等教育出版社,2007
[3]詹可军.全国计算机考试题库[M].电子科技大学出版社,2007
附录
#include<
stdio.h>
string.h>
#defineMAX10/*学生数据最大个数,由于要插入数据,故一般输入要小于10个*/
staticintn=0;
/*全局变量,记录学生的总数*/
structstudent{
charname[10];
/*学生姓名*/
floatscore;
/*学生成绩*/
};
/*录入学生成绩*/
voidinport(structstudent*std)
{
structstudenttemp;
/*临时接受读入的数据*/
printf("
\n\n\t\t******************欢迎使用********************\n"
);
\t\t\t*******开始录入学生成绩******:
\n"
\t\t\t请输入学生姓名和分数:
\t\t\t学生姓名和分数请间隔一空格输入\n"
\t\t\tendbyscore=-1)\n"
do{
scanf("
%s%f"
&
temp.name,&
temp.score);
if(temp.score>
=0)/*输入成绩不小于0,则认为是正常数据,记录一下*/
{strcpy(std[n].name,temp.name);
std[n].score=temp.score;
n++;
}
}while(temp.score>
=0);
/*成绩小于0时退出*/
/*插入一个学生数据,在最后*/
voidinsert(structstudent*std)
/*临时,接受读入的数据*/
输入姓名和分数:
(endbyscore=-1)\n"
=0)/*同上,判断数据是否有效*/
{
strcpy(std[n].name,temp.name);
/*拷贝姓名*/
/*拷贝成绩*/
}
/*按姓名查找,删除一条记录*/
intdel(structstudent*std)
chars[20];
inti=0,j;
\t\t\t请输入要删除学生的姓名:
"
/*交互式问寻*/
%s"
s);
while(strcmp(std[i].name,s)!
=0&
&
i<
n)i++;
/*查找判断*/
if(i==n)
\t\t\t该学生不存在!
/*返回失败信息*/
return(n);
for(j=i;
j<
n-1;
j++)/*删除操作*/
strcpy(std[j].name,std[j+1].name);
std[j].score=std[j+1].score;
\t\t该学生已被成功删除!
/*返回成功信息*/
}
/*对学生成绩进行排序*/
voidsort(structstudent*std)
inti,j;
for(i=0;
i++)/*学生的成绩按照降序排列*/
for(j=0;
n-i-1;
j++)/*冒泡排序法*/
if(std[j].score<
std[j+1].score)
temp=std[j];
std[j]=std[j+1];
std[j+1]=temp;
}
n;
i++)
姓名:
%10s分数:
%10f\n"
std[i].name,std[i].score);
/*输出全部的学生*/
voidshow(structstudent*std)
inti;
-------姓名**********分数-----\n"
%10s\t%10f\n"
/*显示制作人*/
voidshowme(structstudent*std)
printf("
\t\t\t制作单位:
唐山学院\n\n"
\t\t\t学生学号:
4080214135\n\n"
\t\t\t学生姓名:
张*\n\n"
\t\t\t学生系别:
信息工程系\n\n"
\t\t\t学生专业:
08通信\n\n"
\t\t\t学生班级:
01班\n\n"
\t\t\t联系方式:
huaerhaiyang@\n\n\n"
/*查找并显示一个记录*/
voidsearch(structstudent*std)
inti=0,k=1;
\t\t\t请输入要查找的学生姓名:
\t\t\t%s"
name);
while(k)
if(strcmp(std[i].name,name)==0&
n)
\t\t\this(her)name:
%s\n,"
std[i].name);
\t\t\this(her)score:
%f\n"
std[i].score);
\n\n"
i++;
k=0;
else
printf("
\t\t\t该生不存在\n"
break;
/*判断,所输入的选项*/
voiddome(intchoose,structstudent*std)
switch(choose)
case1:
insert(std);
break;
case2:
del(std);
case3:
sort(std);
case4:
show(std);
case5:
search(std);
case6:
showme(std);
case7:
default:
请输入一个正确的分数\n"
/*不符合条件则,输出提示信息*/
/*主函数*/
intmain()
structstudentstd[MAX];
intchoose;
inport(std);
\t\t****************************学生成绩管理系统******************\n\n"
\t\t\t1--------------------插入学生成绩-----------------\n\n"
\t\t\t2--------------------删除学生记录-----------------\n\n"
\t\t\t3--------------------排序这些学生-----------------\n\n"
\t\t\t4--------------------显示全部学生-----------------\n\n"
\t\t\t5--------------------查找学生---------------------\n\n"
\t\t\t6--------------------显示作者---------------------\n\n"
\t\t\t7--------------------退出程序--------------------\n\n"
\t\t*************************请选择序号(0--6)******************\n\n"
%d"
choose);
dome(choose,std);
while(choose!
=7);
return;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计成绩系统 课程设计 成绩 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)