学生成绩管理系统设计报告[内含C语言程序].docx

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

学生成绩管理系统设计报告[内含C语言程序].docx

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

学生成绩管理系统设计报告[内含C语言程序].docx

山东工商学院

信电学院

高级语言程序设计课程设计报告

高级语言程序设计课程设计报告

题目:

学生学籍信息管理系统设计

专 业:

自动化班 级:

自动142学 号:

14057217姓 名:

吕泽帅

指导教师:

杨莉

日 期:

2015年7月1日

山东工商学院信电学院

1、程序基本功能要求

(1)、需求分析

学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。

(2)、总体设计

整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和数据排序模块。

(3)、详细设计

设计学生基本信息和学生成绩基本信息结构体数组。

2、总体设计

(1)数据录入模块

学生基本信息文件可以在磁盘建立,采用写文件方式录入学生成绩基本信息。

综合成绩和实得学分通过计算得到。

(2)通过学号删除模块

通过菜单选择删除学生的功能,输入要删除学生的学号,则在A.TXT查找该生信息,删除之。

注意:

C语言中没有直接删除信息的函数,需要自己实现,可以采取读出数据,判断数据(如果不删除,则进入缓冲区,否则删除),写入数据(把缓冲区中的数据写入文件)的步骤进行。

(3)通过姓名删除模块

通过菜单选择删除学生的功能,输入要删除学生的姓名,先在A.TXT中得到该生的学号,删除该生信息,再删除该学号对应的信息。

注意:

C语言中没有直接删除信息的函数,需要自己实现,可以采取读出数据,判断数据(如果不删除,则进入缓冲区,否则删除),写入数据(把缓冲区中的数据写入文件)的步骤进行。

(4)排序模块

通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出结果。

(5)查询模块

通过菜单选择查询功能,通过菜单输入所要查找的学生的姓名,按照基本查找算法查找A.TXT,查找对应的姓名,再查找该学生的课程情况,并统计各类成绩和实得总成绩,输出结果。

(6)成绩浏览模块

通过菜单选择对所有学生成绩进行输出显示。

(7)结束模块

通过菜单选择结束改程序。

3、详细设计(各模块程序设计组成框图、流程图)

(1)总流程图

主函数

界面

根据提示操作

退出

录入信息

通过学号

通过姓名删

学生成绩排序调

Student_SortBy

学生成绩查

所有成绩浏

删除

除 调

Student_I

nsert函

Student_D

elete函数

Name_Delet

e函数

totalGrade

Student_Se

lect函数

display

函数

Student_Displa

y函数

(2)函数说明

①.Student_Insert函数,该函数是录入函数,运用scanf语句对学生基本信息进行录入,并使用if语句判断是否继续录入。

②.Student_Delete函数,该函数是通过学号删除函数,首先利用scanf函数对所要删除学生的学号进行输入,然后在A.txt中查找此学生的信息并显示,最后询问是否确认删除,删除后询问是否继续进行删除操作。

③.Name_Delete函数,该函数是通过姓名删除学生信息函数,首先利用scanf函数对所要删除学生的姓名进行输入,然后在A.txt中查找此学生的信息并显示,最后询问是否确认删除,删除后询问是否继续进行删除操作。

④.Student_SortBytotalGrade和Student_Display函数,分别是按综合成绩值排序和显示学生信息函数,先对学生综合成绩进行排序再将其显示。

⑤.Student_Select函数,该函数是学生成绩查询函数,先用scanf函数输入所要查询学生的姓名,然后在A.txt中查找到该学生信息并显示出来,最后询问是否继续输入。

⑥.display函数,该函数是所有学生成绩浏览函数,通过调用A.txt将其中所有存在的学生成绩信息输出。

4、程序运行结果

(1)主界面

(2)学生成绩录入界面

(3)通过学号学生删除界面

(4)通过姓名学生删除界面

(5)学生成绩排序

(6)学生成绩查询

(7)所有学生成绩浏览

(8)退出

5、源程序代码

/*各模块分工已注明,未注明模块为小组成员共同负责*/#include

#include

//-------------------------------------------------------------

/*定义学生结构体*/

structStudent

{

charID[20];// 学号

charName[20];// 姓名charsex[5];//性别chardomNum;//宿舍号

inttel;//电话号

charcourseNo;//课程编号

charcourseName[20];//课程名称

floatcreditHour;//学分

doubletriGrade;//平时成绩占20%

doubleexperiGrade;// 实验成绩占10%

doubleexamGrade;// 卷面成绩占70%

doubletotalGrade;// 综合成绩

};

//-------------------------------------------------------------

/*声明学生数组及学生数量*/

structStudentstudents[1000];

intnum=0;

//-------------------------------------------------------------

/*求综合成绩值*/

doubletot(structStudentstu)

{

returnstu.triGrade*0.2+stu.experiGrade*0.1+stu.examGrade*0.7;

}

//-------------------------------------------------------------

/*通过学号返回数组下标,本模块由吕泽帅负责*/

intStudent_SearchByIndex(charid[])

{

inti;

for(i=0;i

{

if(strcmp(students[i].ID,id)==0)

{

returni;

}

}

return-1;

}

//-------------------------------------------------------------

/*通过姓名返回数组下标,本模块由吕泽帅负责*/

intStudent_SearchByName(charname[])

{

inti;

for(i=0;i

{

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

{

returni;

}

}

return-1;

}

//-------------------------------------------------------------

/*显示单条学生记录*/

voidStudent_DisplaySingle(intindex)

{

printf("%10s%10s%11s%11s%11s%11s\n"," 学号","姓名","平时成绩","实验成绩","

卷面成绩","综合成绩");

printf(" \n");

printf("%9s%11s%10.2f%10.2f%10.2f%11.2f\n",students[index].ID,students[index].Name,

students[index].triGrade,students[index].experiGrade,students[index].examGrade,students[index].totalGrade);

}

//-------------------------------------------------------------

/*录入学生信息,本模块由苗振阳负责*/

voidStudent_Insert()

{

while

(1)

{

printf(" 请输入学号:

");

scanf("%s",&students[num].ID);

getchar();

printf(" 请输入姓名:

");

scanf("%s",&students[num].Name);

getchar();

printf(" 请输入性别:

");

scanf("%s",&students[num].sex);

getchar();

printf("请输入宿舍号:

");

scanf("%s",&students[num].domNum);

getchar();

printf("请输入电话号码:

");

scanf("%d",&students[num].tel);

getchar();

printf("请输入课程编号:

");

scanf("%s",&students[num].courseNo);

getchar();

printf("请输入课程名称:

");

scanf("%s",&students[num].courseName);

getchar();

printf(" 请输入该课程多少学分:

");

scanf("%f",&students[num].creditHour);

getcha

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

当前位置:首页 > IT计算机 > 互联网

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

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