数据结构课程设计基于C语言的学生成绩管理系统设计.docx

上传人:b****1 文档编号:14202558 上传时间:2023-06-21 格式:DOCX 页数:19 大小:78.63KB
下载 相关 举报
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第1页
第1页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第2页
第2页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第3页
第3页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第4页
第4页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第5页
第5页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第6页
第6页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第7页
第7页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第8页
第8页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第9页
第9页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第10页
第10页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第11页
第11页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第12页
第12页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第13页
第13页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第14页
第14页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第15页
第15页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第16页
第16页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第17页
第17页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第18页
第18页 / 共19页
数据结构课程设计基于C语言的学生成绩管理系统设计.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据结构课程设计基于C语言的学生成绩管理系统设计.docx

《数据结构课程设计基于C语言的学生成绩管理系统设计.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计基于C语言的学生成绩管理系统设计.docx(19页珍藏版)》请在冰点文库上搜索。

数据结构课程设计基于C语言的学生成绩管理系统设计.docx

数据结构课程设计基于C语言的学生成绩管理系统设计

数据结构课程设计-基于C语言的学生成绩管理系统设计

课程设计说明书(论文)用纸

摘要

数据结构是计算机程序设计的重要理论技术基础,要求学生编写的程序结构清楚和正确易读,符合软件工程的规范,培养我们的数据抽象能力。

本系统全称为实验课成绩管理系统,主要包括插入,删除,排序,更新,查找等六个模块,整个程序是采用c语言进行编写的,在这次程序设计中,本人所负责的主要时排序模块。

不仅可以完成对学生学号的排序,还可以根据总分对学生信息进行排序。

本文主要介绍了该系统的需求分析,概要设计,详细设计,以及测试分析等部分,重点介绍了本人所设计模块的详细设计以及测试分析。

关键词:

成绩管理系统,C语言,数据结构

I

课程设计说明书(论文)用纸

1需求分析.............................................................................................................1

1.1数据需求分析..............................................................................................1

1.2功能需求分析..............................................................................................12概要设计.............................................................................................................2

2.1系统模块划分..............................................................................................2

2.2系统模块结构图..........................................................................................23详细设计.............................................................................................................3

3.1创建学生信息表..........................................................................................3

3.2结构类型定义..............................................................................................3

3.3函数调用......................................................................................................4

3.4排序..............................................................................................................5

3.5输出学生信息表..........................................................................................64测试分析.............................................................................................................7总结......................................................................................................................9参考文献.................................................................................................................10

II

课程设计说明书(论文)用纸

1需求分析

当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境.计算机的最大好处在于利用它能够进行信息管理.使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性.尤其对于复杂的信息管理,计算机能够充分发挥它的优越性.

学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩。

1.1数据需求分析

本系统的主要数据信息有学生实验课成绩信息表。

学生信息表包括:

学号,姓名,实验成绩,平时成绩,总成绩等。

1.2功能需求分析

本系统主要实现对学生实验课成绩信息进行管理,需要实现以下几个方面的管理功能:

(1)学生管理:

学生信息的添加、删除、修改、查询、排序。

(2)打印输出:

学生实验课成绩信息。

第1页共10页

课程设计说明书(论文)用纸

2概要设计

2.1系统模块划分

数据结构的研究内容:

数据的逻辑结构,数据的存储结构,数据的操作。

线性表是一种典型的线性数据结构,它可以采用链式结构与顺序存储结构来存储。

本课程设计采用的是顺序存储结构,并上施加了一些操作:

插入,删除,查找,排序,修改等。

(1)主界面模块提供实验课成绩管理系统的主菜单界面,供用户选择与执行各项管理工作。

2)查询模块用于用户根据学号进行成绩的查询。

(3)录入模块用于将用户的基本信息存储到数据库。

(4)删除模块用于根据学号删除用户的基本信息。

(5)插入模块用于将用户的基本信息插入到记录中。

(6)排序模块用于根据用户的要求进行排序。

本学生所负责的模块是完成记录的排序与输出,不仅可以自动对学号进行排序还可以对总成绩进行排序。

2.2系统模块结构图

根据系统功能设计,对应的系统模块结构图如图1所示。

实验课成绩管理系统

工程

删除排序录入更新插入查找

单平找按单实找按时学验总成号成分绩查绩查

图1系统模块结构图

第2页共10页

课程设计说明书(论文)用纸

3详细设计

3.1创建学生信息表

创建顺序表,也就是如何对一个顺序存储的线性表进行数据的录入。

即,对已经定义好的线性表进行数据的附值。

思想:

本课程能够提示用户输入相应的信息,并能够自动进行运算,将数据保存到文件中,并进行输出。

相关代码:

/*构建学生信息库*/

studentcreatedatabase()

{

intn,i;

printf("\n\nPleaseInputStudents'Sum:

\n");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

printf("Di%dGeXueShengDeJiBenXinXi:

\n",i);

printf("PleaseInputNo:

\n");

scanf("%d",&List.data[i-1].xuehao);

printf("PleaseInputName:

\n");

scanf("%s",List.data[i-1].name);

printf("PleaseInputpingshichengji:

\n");

scanf("%d",&List.data[i-1].pingshi);

printf("PleaseInputshiyanchengji:

\n");

scanf("%d",&List.data[i-1].shiyan);

List.len=n;

}

}

3.2结构类型定义

要想让计算机对数据进行处理,首先要将数据存储到计算机。

为此,必须先定义数据的存储类型。

由于本课题采用的顺序存储结构,结构类型定义如下:

typedefstruct/*结构类型的定义*/

{

intxuehao;

第3页共10页

课程设计说明书(论文)用纸

charname[N];

intshiyan,pingshi,zhong;

}stu;

typedefstructLnode//顺序表类型的定义

{

studata[M];

intlen;

}student;

staticstudentList;//定义顺序表

staticFILE*fp;//定义文件型指针变量

3.3函数调用

main()

{

clrscr();

Welcome();

clrscr();

ZhuJieMian();

getch();

}

其实在主函数中并没有使用太多的调用,而是使用了一个函数专门实现其它

函数的调用,这样可以使程序更加清晰,可移植性强。

该函数如下:

ZhuJieMian()

{intt,i,no,ldata,lname;

printf("\n\n\n");

printf("************************************\n\n");

printf("PleaseChooseTheNumberYouLike!

\n\n");

printf("\n");

printf("Switch()\n");

printf("\n");

printf("1Input\n");

printf("\n");

printf("2Shanchu\n");

printf("\n");

printf("3Charu\n");

printf("\n");

printf("4Update\n");

printf("\n");

printf("5Search\n");

printf("\n");

printf("6Sort\n");

printf("\n");

printf("7End\n");

第4页共10页

课程设计说明书(论文)用纸

scanf("%d",&t);

if(t==6)

{clrscr();

printf("\n");

printf("*********ShuJuPaixu*********\n\n");

Sort();

getch();

clrscr();

ZhuJieMian();

}

if(t==7)

{clrscr();

printf("\n\n\n");

printf("*********SeeYou!

*********\n\n");

}

getch();

exit(0);

}

3.4排序

思想:

本程序主用运用冒泡法对记录进行排序,其中用两种排序方法,一种是根据学号进行排序,另一种是根据总分成绩进行排序。

Sort()/*排序*/

{inti,j,flag,No;

stux;

printf("1anxuehaopaixu2anzhongfenpaixu\n");

printf("InputTheNumberWhichBeSorted:

\n");

scanf("%d",&No);

if(No==1)//根据学号进行排序

{for(i=1;i<=List.len-1;i++)

{

flag=0;

for(j=0;j

if(List.data[j+1].xuehao

{flag=1;

x=List.data[j+1];

List.data[j+1]=List.data[j];

List.data[j]=x;

}

if(flag==0)

break;

}

}

第5页共10页

课程设计说明书(论文)用纸

if(No==2)//根据总分成绩进行排序

{for(i=1;i<=List.len-1;i++)

{flag=0;

for(j=0;j

if(List.data[j+1].zhong

{

flag=1;

x=List.data[j+1];

List.data[j+1]=List.data[j];

List.data[j]=x;

}

if(flag==0)

break;

}

}

}

3.5输出学生信息表

思想:

该程序能够将保存到相应文件中的记录输出,该文件有指针fp指向。

Save()

{

inti;

if((fp=fopen("shuju.txt","a"))!

=NULL)

{printf("No\t\t");

printf("Name\t\t");

printf("pingshichengji\t");

printf("shiyanchengji\t");

printf("zhongchengji\n");

for(i=1;i<=List.len;i++)

{printf("%d\t\t",List.data[i-1].xuehao);

printf("%s\t\t",List.data[i-1].name);

printf("%d\t\t",List.data[i-1].pingshi);

printf("%d\t\t",List.data[i-1].shiyan);

List.data[i-1].zhong=(List.data[i-1].pingshi+List.data[i-1].shiyan)/2;

printf("%d\t\t",List.data[i-1].zhong);

fprintf(fp,"%d\t\t%s\t\t%d\t\t%d\t\t%d\n",List.data[i-1].xuehao,

List.data[i-1].name,List.data[i-1].pingshi,List.data[i-1].shiyan,

List.data[i-1].zhong);

printf("\n");

}

}

fclose(fp);

}

第6页共10页

课程设计说明书(论文)用纸

4测试分析

运行程序成功,出现欢迎界面,按任意键,将会出现主菜单的界面,界面如图2所示:

图2主界面

选择1,对数据进行录入,此时输入三个记录,并由系统自动进行输出,界面如2图所示。

图3录入信息界面

第7页共10页

课程设计说明书(论文)用纸

按任意键返回到主界面,选择5,实现对录入的数据进行排序的功能,所出现的界面图4所示:

图4数据排序界面

此时有两种排序方法,选择1,将对学号进行排序,选择2,就可以将记录按照总分从小到大进行排序了,所得到的界面分别如下:

图5按学号排序模块

图6按总分排序模块

第8页共10页

课程设计说明书(论文)用纸

总结

在这次课程设计中,本人做的主要是排序功能,包括对学生按照学号进行排序,同时还可以根据总分进行排序。

学生信息主要包括:

学号、姓名、平时成绩、实验成绩等。

运用了冒泡法来编写算法,加深了我对该算法的理解。

同时,我还了解了编写算法的基本流程。

通过本次课程设计,我第一次体会到了编写程序的艰辛,但是,当我费了好大劲将程序运行出来的时候,我才真正体会到了快乐的滋味。

在编写过程中我对数据结构的基本编程方法也有了更加深层的理解,虽然只是短短的一个星期,但这已经足够了。

这一个星期过得真的很充实。

但看到自己所编写的程序能够运行的时候,感到很有成就感。

我现在对于我所学习的课程有了更加深刻的认识,对数据结构也更加感兴趣了。

感谢学校给我们提供了这个平台,让我们能够把理论运用到实践中去。

同时,我还要感谢老师,在这次课程设计中老师也对我们提供了很大的帮助。

第9页共10页

课程设计说明书(论文)用纸

参考文献

[1]曹衍龙等.C语言实例解析精粹(第二版).北京:

人民邮电出版社,2007.8.[2]谭浩强.C程序设计(第三版).北京:

清华大学出版社,2005.7.

[3]张磊等.C语言程序设计教程.北京:

中国铁道出版社,2007.8.[4]严蔚敏,吴伟民等.数据结构(C语言版).北京:

清华大学出版社,1997.4.[5]余苏宁等.C++课程设计.北京:

高等教育出版社,2004.1.[6]黄梯云.管理信息系统(修订版)[M].北京:

高等教育出版社,2000年.

第10页共10页

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

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2