C语言课程设计报告学生成绩管理系统.docx

上传人:b****1 文档编号:2448671 上传时间:2022-10-29 格式:DOCX 页数:17 大小:21.46KB
下载 相关 举报
C语言课程设计报告学生成绩管理系统.docx_第1页
第1页 / 共17页
C语言课程设计报告学生成绩管理系统.docx_第2页
第2页 / 共17页
C语言课程设计报告学生成绩管理系统.docx_第3页
第3页 / 共17页
C语言课程设计报告学生成绩管理系统.docx_第4页
第4页 / 共17页
C语言课程设计报告学生成绩管理系统.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C语言课程设计报告学生成绩管理系统.docx

《C语言课程设计报告学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告学生成绩管理系统.docx(17页珍藏版)》请在冰豆网上搜索。

C语言课程设计报告学生成绩管理系统.docx

C语言课程设计报告学生成绩管理系统

 

河南理工大学

本科生课程设计报告

题目:

学生成绩管理系统

学生姓名:

***

学号:

***********

专业:

信管

班级:

12-1

指导教师:

安葳鹏

 

2013年7月10日

 

目录

C语言课程设计任务书3

学生成绩管理系统4

【摘要】4

1.论文题目:

学生成绩管理系统4

2.技术参数、设计步骤:

4

3.设计理论分析方法:

5

4.设计结论及分析:

5

4.1各个函数功能简单分析:

5

4.1.1主菜单函数(main):

5

4.1.2输入函数(input):

5

4.1.3输出函数(display):

6

4.1.4查找(find):

6

4.1.5修改(change):

6

4.1.6删除(del):

6

4.1.7添加(add):

6

4.1.8读入(read):

6

4.1.9保存(save):

6

4.1.10排序(sort):

6

4.1.11学号排序(sortx):

7

4.1.12不及格输出(no_pass):

7

4.1.13输出(shuchu):

7

5.参考文献:

7

6.附录:

8

6.1程序部分:

8

 

C语言课程设计任务书

课程名称

C语言课程设计

设计题目

学生成绩管理系统

一、教学要求

1.巩固和加深学生对C语言课程的基本知识的理解和掌握

2.掌握C语言编程和程序调试的基本技能

3.利用C语言进行基本的软件设计

4.掌握书写程序设计说明文档的能力

5.提高运用C语言解决实际问题的能力

二、设计资料及参数

每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。

某班学生成绩管理,包括以下功能:

1、从键盘输入包括学号、姓名、各门课程成绩(不少于2门),并将其保存在磁盘文件student里

2、打开文件后,计算每个人的总分和平均分,排序并保存

3、具有在文件中进行单项查询或多项查询的功能(即能够按照给定的关键字,如姓名等找出满足条件的纪录)

4、具有输出文件数据信息的功能

三、设计要求及成果

1.分析课程设计题目的要求

2.写出详细设计说明

3.编写程序代码,调试程序使其能正确运行

4.设计完成的软件要便于操作和使用

5.设计完成后提交课程设计报告

四、进度安排

1、选择课程设计题目,分析课题的要求

2、编程

3、编程及调试

4、写课程设计报告

5、提交课程设计报告(打印稿及电子稿)

五、评分标准

1.根据课程设计完成情况,必须有可运行的程序。

2.根据课程设计报告的质量评定。

六、建议参考资料

《C语言程序设计》,贾宗璞,电子工业出版社

学生成绩管理系统

【摘要】

通过课程设计,让我对C语言有了更深的理解,让我们把学到的理论应用于具体实践中,锻炼了我们各方面的能力,从而让我们更快提高。

通过一些简单函数的叠加构成了功能比较完备的学生成绩管理系统,从输入到处理再到输出,你将体会到完美的真正含义。

学生成绩管理系统具有以下简单功能:

1.从键盘输入包括学号、姓名、各门课程成绩(不少于2门),并将其保存在磁盘文件里

2.打开文件后,计算每个人的总分,排序并保存

3.具有在文件中进行单项查询或多项查询的功能(即能够按照给定的关键字,如姓名等找出满足条件的纪录)

4.具有输出文件数据信息的功能

1.论文题目:

学生成绩管理系统

2.技术参数、设计步骤:

本程序包含输入(input)、输出(display)、查找(find)、修改(change)、删除(del)、添加(add)、读入(read)、保存(save)等基本功能。

先分别定义各种全局函数和全局变量now,同时定义结构体及结构体数组(本程序为实现简单操作暂定义长度为3)。

其中now作为现有学生信息的一个标记作用尤为重要。

每次执行完函数就返回主菜单。

共含有四个开关语句,依次在main,display,find,change中,使界面更友好,用户操作更简单。

设计共分四步完成,依次为简单设计,添加细节,上机调试,先改错再修改。

遇到的问题可以查资料或向老师提问。

3.设计理论分析方法:

应有全局的概念,拿到题目首先进行总体功能分析,只有对整体功能有了全局把握才能去里自己用那部分知识进行编写。

这个阶段好比盖房子,如果这个阶段做好了,说明房子已改好了。

剩下任务就是怎么去装修了。

确定了大体方向接下来就是功能实现阶段了,即所谓装修阶段。

同样需要逐一地先写出能实现此功能的简单程序。

比如学生成绩管理系统,先写出最简单的输入、输出、排序等功能函数。

然后通过简单函数的互相调用、嵌套构成一个新功能的复杂函数。

淡然这中间要加很多其他东西,这就需要我们多看书,多问老师同学啦。

等到所有功能都能“正常”(按提示正确输入)实现,再考虑一些细节问题,例如:

如果所有都能简单运行,可是有些时候有些输入错误或正确它都运行,这就需要我们通过改写程序使之在正确输入时运行,在错误输入时给出出错提示。

就像性别问题,输入M/W时运行,输入其他就不让它运行,同时给出正确输入的提示。

这样就好很多了。

后面的一一修改就可以了。

同时还要考虑到见名知意,如:

输入(input)、输出(display)、查找(find)、修改(change)、删除(del)、添加(add)、读入(read)、保存(save)、排序(sort)、按学号排序(sortx)、不及格(no_pass)、输出(shuchu)。

当然还有其他问题需要注意,在这里不一一细说。

4.设计结论及分析:

4.1各个函数功能简单分析:

4.1.1主菜单函数(main):

主函数为一个死循环,前几个是功能实现函数,只有9是退出。

也就是说每执行完一个函数,他就自动返回主菜单。

只有选择9(退出)时才跳出循环。

当然每选择一次它就自动清空屏幕,所以运行结果更直观。

4.1.2输入函数(input):

先输入要添加的学生数量n,同时now标记现有学生的数量。

执行n次循环,输入n个学生的信息;其中输入性别时只有为M/W(M为男,W为女,均大写)时才跳出循环。

如果出错,有提示信息。

最后自动求和并保存。

4.1.3输出函数(display):

三部分1.按总分名次输出2.按学号顺序输出3.输出有不及格课程的学生

4.1.4查找(find):

查找分为按学号查找和按姓名查找,查找成功就输出,查找失败就返回,输出提示信息继续输入。

4.1.5修改(change):

输入学号,然后选择修改项,修改完后,提示用户“是否继续修改”,只有输入N/n时退出,输入其它字符都是继续。

4.1.6删除(del):

输入要删除学生的学号,如果找到就删除其信息,并提示用户删除成功,如果没找到就提示用户删除失败。

4.1.7添加(add):

根据信息总容量(结构体数组的长度)和第一次输入的信息量判断是否能继续添加。

如果添加后信息已满,则提示用户不能继续添加,同时屏蔽了添加选项。

4.1.8读入(read):

从文件读入,避免了用户多次大量输入数据。

4.1.9保存(save):

每次执行完修改信息包括添加、录入、修改、删除等都需要保存信息。

当然在每个修改函数最后都需要调用一下保存函数。

4.1.10排序(sort):

按总成绩名次排序(冒泡法排序)。

n为要排序的学生数量,为形参。

4.1.11学号排序(sortx):

按学号先后顺序进行排序(冒泡法排序)。

n为要排序的学生数量,为形参。

4.1.12不及格输出(no_pass):

输出不及格的学生信息。

4.1.13输出(shuchu):

输出第n个学生信息。

 

5.参考文献:

《C语言程序设计》,贾宗璞,电子工业出版社

6.附录:

6.1程序部分:

#include

#include

#include

#include

#definemax3

voidinput();

voiddisplay();

voidfind();

voidchange();

voiddel();

voidread();

voidsave();

voidadd();

voidsort(intn);

voidsortx(intn);

voidshuchu(intn);

voidno_pass();

intnow=0;/*标记位*/

structstudent

{

intnum;

charname[20];

charsex;

intNO;

floatscore1;

floatscore2;

floatsum;

};structstudentstu[max+1];

voidmain()/*主函数(菜单)*/

{

intas;

do

{

printf("\n\t\t\t欢迎使用学生成绩管理系统\n\n");

printf("\n\t\t\t\t1.录入学员信息\n\t\t\t\t2.显示学员信息\n\t\t\t\t3.查找学员信息\n\t\t\t\t4.修改学员信息\n\t\t\t\t5.删除学员信息\n\t\t\t\t6.添加学员信息\n\t\t\t\t7.读入学员信息\n\t\t\t\t8.保存学员信息\n\t\t\t\t9.退出");

printf("\n\n\n\t\t\t\t请选择");

scanf("%d",&as);

switch(as)

{

case1:

system("cls");input();break;

case2:

system("cls");display();break;

case3:

system("cls");find();break;

case4:

system("cls");change();break;

case5:

system("cls");del();break;

case6:

system("cls");add();break;

case7:

system("cls");read();break;

case8:

system("cls");save();break;

case9:

system("cls");exit(0);

}

}

while

(1);

}

voidinput()/*输入函数*/

{

inti,n,j;

for(i=0;;i++)

{

printf("\n请输入添加的学生数量(在%d以内):

",max-now);

scanf("%d",&n);

if(n>max)printf("\n请确保添加的数量在%d以内\t!

!

!

",max);

if(n<=max)break;

}

now=n;

for(i=0;i

{

printf("\n\t\t\t\t输入第%d个学生的信息\n",i+1);

printf("\n输入学生的学号:

");

scanf("%d",&stu[i].num);

getchar();

printf("\n输入学生的姓名:

");

gets(stu[i].name);

printf("\n请输入学生的性别(M/W):

");

for(j=0;;j++)

{

stu[i].sex=getchar();

if(stu[i].sex=='M'||stu[i].sex=='W')break;

els

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1