籍学管理系统课程设计本科毕业设计.docx

上传人:b****5 文档编号:5912038 上传时间:2023-01-02 格式:DOCX 页数:31 大小:633.55KB
下载 相关 举报
籍学管理系统课程设计本科毕业设计.docx_第1页
第1页 / 共31页
籍学管理系统课程设计本科毕业设计.docx_第2页
第2页 / 共31页
籍学管理系统课程设计本科毕业设计.docx_第3页
第3页 / 共31页
籍学管理系统课程设计本科毕业设计.docx_第4页
第4页 / 共31页
籍学管理系统课程设计本科毕业设计.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

籍学管理系统课程设计本科毕业设计.docx

《籍学管理系统课程设计本科毕业设计.docx》由会员分享,可在线阅读,更多相关《籍学管理系统课程设计本科毕业设计.docx(31页珍藏版)》请在冰豆网上搜索。

籍学管理系统课程设计本科毕业设计.docx

籍学管理系统课程设计本科毕业设计

 

石家庄职业技术学院

学籍管理系统

 

学生姓名:

崔鹏飞

指导教师:

刘云桥

系别:

信息工程系

专业:

软件技术

年级:

12级软件一班

论文提交时间:

2013年1月15日

评阅人:

年月日:

第一章课程设计目的和要求1

§1-2课程设计要求1

§3-5学生成绩排序13

§3-10查询成绩最低分…………………………………………………………………………26

第四章心得与体会27

§4-1心得与体会27

第一章课程设计目的和任务

§1-1课程设计的目的和任务

1.本课程设计的目的和任务:

1.本课程设计是软件工程专业重要的实践性环节之一,是在学生学习完《C语言程序设计》课程后进行的一次全面的综合练习,是锻炼学生总结的综合能力。

本课程设计的目的和任务:

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

2.利用所学的知识对编程的思路扩展

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

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

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

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

 

§1-2课程设计要求

2.课程设计要求

1、题目《学生学籍管理程序》

2、基本信息:

班级、学号、姓名、性别、三科成绩、总成绩、平均成绩。

3、基本功能要求:

●以菜单方式工作(参考附录1)

●输入学生成绩

●显示学生成绩

●学生成绩查询

●学生成绩排序

●学生成绩插入

●学生成绩删除

●学生信息统计(最高分,最低分或不及格)

●保存输入数据(选作)(此部分涉及第十章文件系统内容)

●打开记录文件(选作)(此部分涉及第十章文件系统内容)

4、其他

●程序应具备较好的人机交互界面

●可以在指导教师的许可下自拟其它题目,但设计应基本覆盖《C语言程序设计》课程的教学内容

指导教师验收通过后上交所做的题目的源程序文档、及设计报告。

第二章总体设计与分析

§2-1功能概述

本学生管理系统主要实现学生信息的录入并显示,学生信息的添加、删除,查询学生成绩的最高分、最低分与及格率,学生成绩排序等九大功能。

当然,此学生管理系统还有许多功能不能实现,仍需继续努力,使其更加完善。

 

§2-2系统结构图

第三章详细分析与设计

本章分模块对整个系统进行介绍,每个函数一个模块。

每个模块介绍时首先介绍本模块的功能,粘贴模块运行时的界面,然后贴代码,最后画流程图。

流程图样例

§3-1主函数

main()

{intchoose;

voidinput();

voidput();

voidsearch();

voidsort();

voidinsert();

voidpass();

voidmax();

voidmin();

voiddelete();

while

(1)

{

{printf("∽∽∽∽∽∽∽⊙⊙⊙⊙⊙⊙⊙⊙∽∽∽∽∽∽\n");

printf("学生成绩管理系统\n");

printf("☆1、学生信息录入☆\n");

printf("☆2、显示学生信息☆\n");

printf("☆3、学生成绩查询☆\n");

printf("☆4、学生成绩排序☆\n");

printf("☆5、插入学生成绩☆\n");

printf("☆6、删除学生信息☆\n");

printf("☆7、学生成绩及格率☆\n");

printf("☆8、查询成绩最高分☆\n");

printf("☆9、查询成绩最低分☆\n");

printf("☆10、退出☆\n");

printf("请选择:

");

}

scanf("%d",&choose);

switch(choose)//输入选择

{case1:

input();break;//选择1进行学生成绩输入

case2:

put();break;//选择2进行显示学生成绩

case3:

search();break;//选择3进行学生成绩查询

case4:

sort();break;//选择4进行学生成绩排序

case5:

insert();break;//选择5进行学生成绩插入

case6:

delete();break;//选择6进行学生成绩删除

case7:

pass();break;//选择7进行学生成绩及格率

case8:

max();break;//选择8进行学生成绩最高分查询

case9:

min();break;//选择9进行学生成绩最低分查询

case10:

exit

(1);//选择10退出系统

}

}

}

§3-2学生信息录入

inti,j,n;

floatsum;

printf("输入学生的信息\n");

puts("班级\t学号\t姓名\t语文\t数学\t英语\n");

for(i=0;i

{scanf("%d%d%s",&a[i].bj,&a[i].num,a[i].name);

for(j=0;j<3;j++)

scanf("%f",&a[i].score[j]);

}

for(n=0;n

for(j=0,sum=0;j<3;j++)

{

sum=sum+a[i].score[j];

a[n].ave=sum/3;//每位学生的平均成绩

a[n].sum=sum;//每位学生的总成绩

}

§3-3显示学生成绩

inti,j,r,n;

floatsum;

printf("输出学生的成绩\n");

for(i=0;i

for(j=0,sum=0;j<3;j++)

{

sum=sum+a[i].score[j];

a[i].ave=sum/3;//每位学生的平均成绩

a[i].sum=sum;//每位学生的总成绩

}

puts("班级\t学号\t姓名\t语文\t数学\t英语\t总成绩\t平均分\n");

for(r=0;r

{

printf("%d\t%d\t%s\t",a[r].bj,a[r].num,a[r].name);

for(j=0;j<3;j++)

printf("%.1f\t",a[r].score[j]);

printf("%.1f\t%.1f\n",a[r].sum,a[r].ave);

}

§3-4学生成绩查询

intcx,xh,i,j,k,s;

charname[20];

floatsum;

printf("通过姓名查找选择1\n");

printf("通过学号查找选择2\n");

printf("请选择:

\n");

scanf("%d",&cx);

for(k=0;k

for(s=0,sum=0;s<3;s++)

{

sum=sum+a[k].score[s];

a[k].ave=sum/3;//每位学生的平均成绩

a[k].sum=sum;//每位学生的总成绩

}

switch(cx)

{case1:

printf("输入姓名:

\n");

scanf("%s",name);

for(i=0;i

if(strcmp(a[i].name,name)==0)

{printf("输出该学生的信息\n");

puts("班级\t学号\t姓名\t语文\t数学\t英语\t总成绩\t平均分\n");

printf("%d\t%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t\n",a[i].bj,a[i].num,a[i].name,a[i].score[0],a[i].score[1],a[i].score[2],a[i].sum,a[i].ave);

}

break;

case2:

printf("输入学号:

\n");

scanf("%d",&xh);

for(j=0;j

if(xh==a[j].num)

{printf("输出该学生的信息\n");

puts("班级\t学号\t姓名\t语文\t数学\t英语\t总成绩\t平均分\n");

printf("%d\t%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t\n",a[j].bj,a[j].num,a[j].name,a[j].score[0],a[j].score[1],a[j].score[2],a[j].sum,a[j].ave);

}

break;

}

 

§3-5学生成绩排序

inti,j,s,k,g;

floatsum;

for(i=0;i

for(j=0,sum=0;j<3;j++)

{

sum=sum+a[i].score[j];

a[i].ave=sum/3;//每位学生的平均成绩

a[i].sum=sum;//每位学生的总成绩

}

for(s=0;s

for(k=0;k

if(a[k].ave

{

student=a[k];

a[k]=a[k+1];

a[k+1]=student;}

puts("输出每位学生的总成绩以及平均成绩\n\n");

puts("班级\t学号\t姓名\t语文\t数学\t英语\t总成绩\t平均分\n");

for(g=0;g

{printf("%d\t%d\t%s\t",a[g].bj,a[g].num,a[g].name);

for(j=0;j<3;j++)

printf("%.1f\t",a[g].score[j]);

printf("%.1f\t%.1f\t\n",a[g].sum,a[g].ave);

}

§3-6插入学生成绩

intk;

floatsum;

puts("1.更新学生信息2.添加学生信息");

scanf("%d",&k);

 

if(k==1)//更新学生信息

{inti,j,x,h,f,g,c,r;

puts("请输入学生学号:

");

scanf("%d",&h);

for(x=0;x

if(h==a[x].num)

for(i=m+1;i>h;i--)

{

{

student=a[i];

a[i]=a[i-1];

a[i-1]=student;

}

break;}

printf("输入插入学生的信息:

\n");

puts("班级\t学号\t姓名\t语文\t数学\t英语\t总成绩\t平均分\n");

scanf("%d%d%s%f%f%f",&a[h-1].bj,&a[h-1].num,a[h-1].name,&a[h-1].score[0],&a[h-1].score[1],&a[h-1].score[2]);

for(f=0;f

for(g=0,sum=0;g<3;g++)

{

sum=sum+a[f].score[g];

a[f].ave=sum/3;//每位学生的平均成绩

a[f].sum=sum;//每位学生的总成绩

}

puts("输出每位学生的总成绩以及平均成绩:

\n\n");

puts("班级\t学号\t姓名\t语文\t数学\t英语\t总成绩\t平均分\n");

for(r=0;r

{

printf("%d\t%d\t%s\t",a[r].bj,a[r].num,a[r].name);

for(c=0;c<3;c++)

printf("%.1f\t",a[r].score[c]);

printf("%.1f\t%.1f\n",a[r].sum,a[r].ave);

}

}

else

if(k==2)//添加学生信息

{inti,j,x,h,k,f,g,c,r;

puts("请输入学生学号:

");

scanf("%d",&h);

for(x=0;x

if(h==a[x].num)

for(i=m+1;i>h;i--)

{

{

student=a[i];

a[i]=a[i-1];

a[i-1]=student;

}

break;}

printf("输入插入学生的信息:

\n");

puts("班级\t学号\t姓名\t语文\t数学\t英语\t总成绩\t平均分\n");

scanf("%d%d%s%f%f%f",&a[h-1].bj,&a[h-1].num,a[h-1].name,&a[h-1].score[0],&a[h-1].score[1],&a[h-1].score[2]);

for(f=0;f

for(g=0,sum=0;g<3;g++)

{

sum=sum+a[f].score[g];

a[f].ave=sum/3;//每位学生的平均成绩

a[f].sum=sum;//每位学生的总成绩

}

puts("输出每位学生的总成绩以及平均成绩:

\n\n");

puts("班级\t学号\t姓名\t语文\t数学\t英语\t总成绩\t平均分\n");

for(r=0;r

{

printf("%d\t%d\t%s\t",a[r].bj,a[r].num,a[r].name);

for(c=0;c<3;c++)

printf("%.1f\t",a[r].score[c]);

printf("%.1f\t%.1f\n",a[r].sum,a[r].ave);

}

l=o;

o++;

}

 

 

§3-7删除学生成绩

intxh,i,j,r,g;

floatave,sum;

printf("输入学号:

");

scanf("%d",&xh);

for(j=0;j

{

if(xh==a[j].num)break;

}

for(i=j;i

{

a[i].bj=a[i+1].bj;

a[i].num=a[i+1].num;

strcpy(a[i].name,a[i+1].name);

a[i].score[0]=a[i+1].score[0];

a[i].score[1]=a[i+1].score[1];

a[i].score[2]=a[i+1].score[2];

a[i].sum=a[i+1].sum;

a[i].ave=a[i+1].ave;

}

for(i=0;i

for(j=0,sum=0;j<3;j++)

{

sum=sum+a[i].score[j];

a[i].ave=sum/3;//每位学生的平均成绩

a[i].sum=sum;//每位学生的总成绩

}

puts("班级\t学号\t姓名\t语文\t数学\t英语\t总成绩\t平均分\n");

for(r=0;r

{

printf("%d\t%d\t%s\t",a[r].bj,a[r].num,a[r].name);

for(g=0;g<3;g++)

printf("%.1f\t",a[r].score[g]);

printf("%.1f\t%.1f\n",a[r].sum,a[r].ave);

}

§3-8学生成绩及格率

inti,km,s,t;

floatjigelv,j,k,b;

printf("语文的及格率选择1\n");

printf("数学的及格率选择2\n");

printf("英语的及格率选择3\n");

printf("请选择:

");

scanf("%d",&km);

switch(km)

{case1:

{printf("语文及格率:

\n");

for(i=0,j=0;i

{if(a[i].score[0]>=60)

j++;

}

jigelv=j/(m+l);

printf("及格的人数:

%.1f人\t语文及格率:

%.1f\t\n",j,jigelv);

}

break;

case2:

{printf("数学及格率:

\n");

for(s=0,k=0;s

{if(a[s].score[1]>=60)

k++;

}

jigelv=k/(m+l);

printf("及格的人数:

%.1f人\t数学及格率:

%.1f\t\n",k,jigelv);

}break;

case3:

{printf("英语及格率:

\n");

for(t=0,b=0;t

{if(a[t].score[1]>=60)

b++;

}

jigelv=b/(m+l);

printf("及格的人数:

%.1f人\t英语及格率%.1f\t\n",b,jigelv);

}break;

}

 

§3-9查询成绩最高分

inti,chinese=0,math=0,english=0;

for(i=0;i

{

if(a[i].score[0]>a[chinese].score[0])chinese=i;

if(a[i].score[1]>a[math].score[1])math=i;

if(a[i].score[2]>a[english].score[2])english=i;

}

printf("语文最高分的人:

%s语文最高分%.1f\n",a[chinese].name,a[chinese].score[0]);

printf("数学最高分的人:

%s数学最高分%.1f\n",a[math].name,a[math].score[1]);

printf("英语最高分的人:

%s英语最高分%.1f\n",a[english].name,a[english].score[2]);

§3-10查询成绩最低分

inti,chinese=0,math=0,english=0;

for(i=0;i

{

if(a[i].score[0]

if(a[i].score[1]

if(a[i].score[2]

}

printf("语文最低分的人:

%s语文最低分%.1f\n",a[chinese].name,a[chinese].score[0]);

printf("数学最低分的人:

%s数学最低分%.1f\n",a[math].name,a[math].score[1]);

printf("英语最低分的人:

%s英语最低分%.1f\n",a[english].name,a[english].score[2]);

 

第四章心得与体会

§4-1心得与体会

C程序设计并不是一门纯理论的课程,而是一门应用课程。

应当注意培养分析问题的能力、调试程序的能力。

要把重点放在接替思路上,通过大量的例题学习怎样设计一个算法,构造一个程序,先学会看程序然后编写简单的程序,逐渐深入。

要十分重视实践环节,光靠听课和看书是学不会程序设计的。

学的好坏,不是看你“知不知道”而是“会不会干”。

要举一反三,学习程序设计主要是掌握程序设计的思路和方法,在学习是一定要灵活运用,掌握规律,在以后需要时能很快的掌握其他的语言进行编程。

要提倡和培养创新精神。

能在教材程序的基础上,思考更多的问题。

 

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

当前位置:首页 > 求职职场 > 简历

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

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