成绩管理系统报告书
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随着科学技术的不断提高,计算机科学日渐成 熟,其强大的功能已为人们深刻认识,它已进入人 类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生成绩 信息进行管理,有着手工管理所无法比拟的优点. 例如:检索迅速、查找方便、可靠性高、存储量 大、保密性好、寿命长、成本低等。这些优点能 够极大地提高学生成绩管理的效率,也是企业的科 学化、正规化管理,与世界接轨的重要条件。因 此,开发这样的一套成绩管理系统成为很有必要 的事情。
printf("学生信息已保存在%s中!\n",filepath); system("pause"); system("cls"); menu();}
运行效果图
四 程序测试
虽然采取了许多防止出错的方法,特别是对 于输入错误数据的防范措施,但系统测试仍然是 发现程序存在的错误并及时予以纠正的必要环 节。我采用了各种不同的数据(如正常数据、错 误数据等)对语法和逻辑上可能产生的错误进行 了大量的测试,测试中发现该系统在运行中有太 多的不稳定,同时跟设计要求有太大的出入,但 后来我在老师的帮助下对其进行了一系列的改 正、修复、以及重新编写某些函数,并且对程序
该系统能够实现对整个学生信息的添加、修 改、删除、查询,保存等操作。在设计的过程 中,建立了清晰的结构体层次,能进行简单的界 面设计,能够实现友好的人机交互。有清晰的程 序流程图和数据结构定义。当中主要是用了一些 简单的C语言的语法,算法以及函数,文件跟数 组。在保存学生信息中用到了结构体数组和指针 文件。
学生成绩管理系统提供了强大的学生成绩管 理管理功能,方便系统管理员对学生成绩等信息 的添加、修改、删除、查询等操作,同时一样的 方面学生对自己各科成绩查询,学习 。
1.2学生成绩管理系统设计的目标的 分析
《学生成绩管理系统》采用结构化程序设 计,各函数模块功能单一,结构清晰,较好的利 用了指针、结构体数组等数据类型以及不同的使 用方法,主要语句都加了详细的注释,将难以理 解的指针、结构体数组等数据类型、函数调用以 及文件操作等内容较好的融合到该系统中。
printf("\t\t║ 2. 显示学员信息
\t║
\n");
printf("\t\t║ 3. 成绩排序信息
\t║
\n");
printf("\t\t║ 4. 添加学员信息
\t║
\n");
printf("\t\t║ 5. 删除学员信息
\t║
\n"); printf("\t\t║ 6. 修改学员信息
\t║\n");
\t║
\n");
printf("\t\t╰═════════════════════╯
\n");
printf("\t\t
\1选择菜单选项(1-11):Enter进入\n");
/*为下一功能选择模块*/
}
运行效果图如下:
3.2 学生成绩管理系统的录入
流程图如下:
代码如下:
void input()/*原始数据录入模块*/
目录
一 课题意义 1.1 成绩管理系统的背景分析 1.2学生成绩管理系统设计的目标的分析
二 算法分析 2.1学生成绩管理系统模块图 2.2学生成绩管理功能介绍
三 学生成绩管理系统设计功能的实现 3.1 成绩管理系统的登录页面 3.2 学生成绩管理系统的录入 3.3 学生成绩管理系统的显示 3.4 学生成绩管理系统的删除 3.5 学生成绩管理系统的查询 3.6学生成绩管理系统的保存
find(); fflush(stdin); as=getch(); menu(); } while(!as); }
运行效果图
3.6学生成绩管理系统的保存
流程图如下:
代码如下:
void save()/*保存数据函数*/ { FILE *fp; int i; char filepath[20]; printf("输入要保存的文件路径:"); fflush(stdin); gets(filepath); if((fp=fopen(filepath,"w"))==NULL) {
{
int i=0;
char ch;
do
{
Baidu Nhomakorabea
printf("\t\t\t\t1.录入学员信息\n输入第%d个学员的信息
\n",i+1);
printf("\n输入学生学号:");
scanf("%d",&stu[i].no);
fflush(stdin);/*清除前面信息*/
printf("\n输入学员姓名:");
{ if(i==now_no)now_no-=1; else {for(j=c;j<now_no;j++) stu[j]=stu[j+1]; now_no-=1; } printf("你已成功删除学号为%d的信息\n",c); printf("继续(Y/N)\t\t\n"); fflush(stdin); ch=getchar(); if(ch=='y'||ch=='Y') sort(); else system("cls"); menu(); }}} else {printf("没有学号为%d的信息\n",c); printf("继续(Y/N)\t\t\n"); fflush(stdin); ch=getchar(); if(ch=='y'||ch=='Y') sort(); else system("cls"); menu();}}
\n");
printf("\t\t ║ ......欢迎进入航天技术学院....... \t║
\n");
printf("\t\t ║ ***********Enter 进入***********
\t║
\n");
printf("\t\t
╰════════════════╯
\n\t\t\t\t\t");
fflush(stdin);
gets(stu[i].name);
printf("\n输入学员性别:");
fflush(stdin);
gets(stu[i].sex);
printf("\n输入学员成绩1:");
fflush(stdin);
scanf("%d",&stu[i].score1); printf("\n输入学员成绩2:"); fflush(stdin); scanf("%d",&stu[i].score2); printf("\n输入学员成绩3:"); fflush(stdin); scanf("%d",&stu[i].score3); printf("\n\n"); i++; now_no=i; printf("是否继续输入?(Y/N)"); fflush(stdin); ch=getch(); system("cls");/*系统清屏*/ } while(ch!='n'&&ch!='N'); if(ch=='N'||ch=='n') menu();}
getchar();
}
void menu()
{
system("cls");
printf("\n\n\n\n\n");
printf("\t\t╭══════┤成绩管理系统├═══════╮
\n");
printf("\t\t║
\t║
\n");
printf("\t\t║ 1. 录入学员信息
\t║
\n");
运行效果图
3.3 学生成绩管理系统的显示
流程图如下:
代码如下:
void display()/*显示数据函数*/ { int i; char as; average(); do {
printf("\t\t\t班级学员信息列表\n"); printf("\t学号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");
二 系统模块的设计
2.1学生成绩管理系统模块图
学生成绩管理系统中分为六个功能:一是系 统管理登录页面、二是系统管理录入、三是系统 管理显示、四 是系统管理删除、五是系统管理查询、六是系统 管理保存。 模块图如下:
2.2学生成绩管理功能介绍
各主要模块功能说明如下: 登录:各功能的选择界面,实现人机交互; 录入:录入学生成绩或者添加学生记录在信息表
四 程序测试 五 总结 六 参考文献
一 课题意义
.1 成绩管理系统的背景分析
当今时代是飞速发展的信息时代,在各行各 业中离不开信息处理,这正是计算机被广泛应用 于信息管理系统的环境。计算机的最大好处在于 利用它能够进行信息管理。使用计算机进行信息
控制,不仅提高了工作效率,而且大大的提高了 其安全性。尤其对于复杂的信息管理,计算机能 够充分发挥它的优越性。
运行效果图
3.5 学生成绩管理系统的查询
流程图如下:
代码如下:
void find()/*查询函数*/ { int i; int a; char as,ch;
do {
printf("输入要查询的学生学号:"); fflush(stdin); scanf("%d",&a); for(i=0;i<now_no;i++) if(a==stu[i].no)
{ printf("\t学号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值 \n");
printf("\t%d\t%s\t%s\t%.2d\t%.2d\t%.2d\t%.2d\n",stu[i].no,stu[i].name,stu }
printf("\t\t继续(y/Y)\n"); printf("\t\t按任意键返回主菜单.\n"); ch=getch(); if(ch=='y'||ch=='Y')
(注:该系统中不要乱输入字母,最好一切都要 提示进行,否则可能会出现死循环或界面无法返 回等)
三 学生成绩管理系统设计功能的 实现
3.1 成绩管理系统的登录页面
流程图如下:
代码如下:
void welcome()/*欢迎界面*/
{
printf("\n\n\n\n\n\n");
printf("\t\t ╭══════┤成绩管理系统├═══════╮
printf("\n保存失败!"); exit(0); } for(i=0;i<now_no;i++) { stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3; stu[i].ave=stu[i].sum/3;
fprintf(fp,"\t%d\t%s\t%s\t%d\t%d\t%d\t%d\n",stu[i].no,stu[i].name,stu[i]. } fclose(fp);
3.4 学生成绩管理系统的删除
流程图如下:
代码如下:
void del()/*删除数据函数*/
{ int c,i,j; char ch; printf("输入要删除学员的学号:"); scanf("%d",&c); printf("你确定要删除学号为%d的信息吗!!(Y/N)\n",c); ch=getch(); if(ch=='y'||ch=='Y') {for(i=0;i<now_no;i++) {if(stu[i].no==c)
printf("\t\t║ 7. 查询学员信息
\t║
\n");
printf("\t\t║ 8. 从文件读入学员信息
\t║
\n");
printf("\t\t║ 9. 删除文件中学员信息
\t║
\n"); printf("\t\t║ 10. 保存学员信息
\t║\n");
printf("\t\t║ 11. 退出
管理信息系统是进行信息的采集、存储、加 工、维护和使用的系统,它是随着管理科学和技 术科学的发展而形成的。学生成绩管理系统是一 个教育单位不可缺少的部分,它的内容对于学校 的决策者和管理者来说都至关重要,所以学生成绩 管理系统应该能够为用户提供充足的信息和快捷 的查询手段,对学生来说可以轻松的查阅自己在 校的成绩以及信息等。但是一直以来人们都是靠 传统人工的方式管理学生成绩,这种管理方式存 在着许多缺点,如:效率低、保密性差,另外时间一 长,将产生大量的文件和数据,这对于查找、更新 和维护都带来了不少的困难。
for(i=0;i<now_no&&stu[i].name[0];i++)printf("\t%d\t%s\t%s\t%.2d\t%.2d\t%. printf("\t\t按任意键返回主菜单."); fflush(stdin); as=getch(); } while(!as); menu();}
运行效果图
末尾,并且在必要时可以返回上层保存信息; 显示:显示全部已经排好序的学生记录,方便用 户查看; 删除:按学号删除一条或者多条学生记录,同时 返回上层保存记录; 查询:按学号查询学生记录,并显示出该学生所 有信息; 保存:把录入、删除、添加、并且排好序的学生 信息保存在文件当中,方便下次查询或录入学生 信息,文件名需要用户自己输入;
printf("学生信息已保存在%s中!\n",filepath); system("pause"); system("cls"); menu();}
运行效果图
四 程序测试
虽然采取了许多防止出错的方法,特别是对 于输入错误数据的防范措施,但系统测试仍然是 发现程序存在的错误并及时予以纠正的必要环 节。我采用了各种不同的数据(如正常数据、错 误数据等)对语法和逻辑上可能产生的错误进行 了大量的测试,测试中发现该系统在运行中有太 多的不稳定,同时跟设计要求有太大的出入,但 后来我在老师的帮助下对其进行了一系列的改 正、修复、以及重新编写某些函数,并且对程序
该系统能够实现对整个学生信息的添加、修 改、删除、查询,保存等操作。在设计的过程 中,建立了清晰的结构体层次,能进行简单的界 面设计,能够实现友好的人机交互。有清晰的程 序流程图和数据结构定义。当中主要是用了一些 简单的C语言的语法,算法以及函数,文件跟数 组。在保存学生信息中用到了结构体数组和指针 文件。
学生成绩管理系统提供了强大的学生成绩管 理管理功能,方便系统管理员对学生成绩等信息 的添加、修改、删除、查询等操作,同时一样的 方面学生对自己各科成绩查询,学习 。
1.2学生成绩管理系统设计的目标的 分析
《学生成绩管理系统》采用结构化程序设 计,各函数模块功能单一,结构清晰,较好的利 用了指针、结构体数组等数据类型以及不同的使 用方法,主要语句都加了详细的注释,将难以理 解的指针、结构体数组等数据类型、函数调用以 及文件操作等内容较好的融合到该系统中。
printf("\t\t║ 2. 显示学员信息
\t║
\n");
printf("\t\t║ 3. 成绩排序信息
\t║
\n");
printf("\t\t║ 4. 添加学员信息
\t║
\n");
printf("\t\t║ 5. 删除学员信息
\t║
\n"); printf("\t\t║ 6. 修改学员信息
\t║\n");
\t║
\n");
printf("\t\t╰═════════════════════╯
\n");
printf("\t\t
\1选择菜单选项(1-11):Enter进入\n");
/*为下一功能选择模块*/
}
运行效果图如下:
3.2 学生成绩管理系统的录入
流程图如下:
代码如下:
void input()/*原始数据录入模块*/
目录
一 课题意义 1.1 成绩管理系统的背景分析 1.2学生成绩管理系统设计的目标的分析
二 算法分析 2.1学生成绩管理系统模块图 2.2学生成绩管理功能介绍
三 学生成绩管理系统设计功能的实现 3.1 成绩管理系统的登录页面 3.2 学生成绩管理系统的录入 3.3 学生成绩管理系统的显示 3.4 学生成绩管理系统的删除 3.5 学生成绩管理系统的查询 3.6学生成绩管理系统的保存
find(); fflush(stdin); as=getch(); menu(); } while(!as); }
运行效果图
3.6学生成绩管理系统的保存
流程图如下:
代码如下:
void save()/*保存数据函数*/ { FILE *fp; int i; char filepath[20]; printf("输入要保存的文件路径:"); fflush(stdin); gets(filepath); if((fp=fopen(filepath,"w"))==NULL) {
{
int i=0;
char ch;
do
{
Baidu Nhomakorabea
printf("\t\t\t\t1.录入学员信息\n输入第%d个学员的信息
\n",i+1);
printf("\n输入学生学号:");
scanf("%d",&stu[i].no);
fflush(stdin);/*清除前面信息*/
printf("\n输入学员姓名:");
{ if(i==now_no)now_no-=1; else {for(j=c;j<now_no;j++) stu[j]=stu[j+1]; now_no-=1; } printf("你已成功删除学号为%d的信息\n",c); printf("继续(Y/N)\t\t\n"); fflush(stdin); ch=getchar(); if(ch=='y'||ch=='Y') sort(); else system("cls"); menu(); }}} else {printf("没有学号为%d的信息\n",c); printf("继续(Y/N)\t\t\n"); fflush(stdin); ch=getchar(); if(ch=='y'||ch=='Y') sort(); else system("cls"); menu();}}
\n");
printf("\t\t ║ ......欢迎进入航天技术学院....... \t║
\n");
printf("\t\t ║ ***********Enter 进入***********
\t║
\n");
printf("\t\t
╰════════════════╯
\n\t\t\t\t\t");
fflush(stdin);
gets(stu[i].name);
printf("\n输入学员性别:");
fflush(stdin);
gets(stu[i].sex);
printf("\n输入学员成绩1:");
fflush(stdin);
scanf("%d",&stu[i].score1); printf("\n输入学员成绩2:"); fflush(stdin); scanf("%d",&stu[i].score2); printf("\n输入学员成绩3:"); fflush(stdin); scanf("%d",&stu[i].score3); printf("\n\n"); i++; now_no=i; printf("是否继续输入?(Y/N)"); fflush(stdin); ch=getch(); system("cls");/*系统清屏*/ } while(ch!='n'&&ch!='N'); if(ch=='N'||ch=='n') menu();}
getchar();
}
void menu()
{
system("cls");
printf("\n\n\n\n\n");
printf("\t\t╭══════┤成绩管理系统├═══════╮
\n");
printf("\t\t║
\t║
\n");
printf("\t\t║ 1. 录入学员信息
\t║
\n");
运行效果图
3.3 学生成绩管理系统的显示
流程图如下:
代码如下:
void display()/*显示数据函数*/ { int i; char as; average(); do {
printf("\t\t\t班级学员信息列表\n"); printf("\t学号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");
二 系统模块的设计
2.1学生成绩管理系统模块图
学生成绩管理系统中分为六个功能:一是系 统管理登录页面、二是系统管理录入、三是系统 管理显示、四 是系统管理删除、五是系统管理查询、六是系统 管理保存。 模块图如下:
2.2学生成绩管理功能介绍
各主要模块功能说明如下: 登录:各功能的选择界面,实现人机交互; 录入:录入学生成绩或者添加学生记录在信息表
四 程序测试 五 总结 六 参考文献
一 课题意义
.1 成绩管理系统的背景分析
当今时代是飞速发展的信息时代,在各行各 业中离不开信息处理,这正是计算机被广泛应用 于信息管理系统的环境。计算机的最大好处在于 利用它能够进行信息管理。使用计算机进行信息
控制,不仅提高了工作效率,而且大大的提高了 其安全性。尤其对于复杂的信息管理,计算机能 够充分发挥它的优越性。
运行效果图
3.5 学生成绩管理系统的查询
流程图如下:
代码如下:
void find()/*查询函数*/ { int i; int a; char as,ch;
do {
printf("输入要查询的学生学号:"); fflush(stdin); scanf("%d",&a); for(i=0;i<now_no;i++) if(a==stu[i].no)
{ printf("\t学号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值 \n");
printf("\t%d\t%s\t%s\t%.2d\t%.2d\t%.2d\t%.2d\n",stu[i].no,stu[i].name,stu }
printf("\t\t继续(y/Y)\n"); printf("\t\t按任意键返回主菜单.\n"); ch=getch(); if(ch=='y'||ch=='Y')
(注:该系统中不要乱输入字母,最好一切都要 提示进行,否则可能会出现死循环或界面无法返 回等)
三 学生成绩管理系统设计功能的 实现
3.1 成绩管理系统的登录页面
流程图如下:
代码如下:
void welcome()/*欢迎界面*/
{
printf("\n\n\n\n\n\n");
printf("\t\t ╭══════┤成绩管理系统├═══════╮
printf("\n保存失败!"); exit(0); } for(i=0;i<now_no;i++) { stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3; stu[i].ave=stu[i].sum/3;
fprintf(fp,"\t%d\t%s\t%s\t%d\t%d\t%d\t%d\n",stu[i].no,stu[i].name,stu[i]. } fclose(fp);
3.4 学生成绩管理系统的删除
流程图如下:
代码如下:
void del()/*删除数据函数*/
{ int c,i,j; char ch; printf("输入要删除学员的学号:"); scanf("%d",&c); printf("你确定要删除学号为%d的信息吗!!(Y/N)\n",c); ch=getch(); if(ch=='y'||ch=='Y') {for(i=0;i<now_no;i++) {if(stu[i].no==c)
printf("\t\t║ 7. 查询学员信息
\t║
\n");
printf("\t\t║ 8. 从文件读入学员信息
\t║
\n");
printf("\t\t║ 9. 删除文件中学员信息
\t║
\n"); printf("\t\t║ 10. 保存学员信息
\t║\n");
printf("\t\t║ 11. 退出
管理信息系统是进行信息的采集、存储、加 工、维护和使用的系统,它是随着管理科学和技 术科学的发展而形成的。学生成绩管理系统是一 个教育单位不可缺少的部分,它的内容对于学校 的决策者和管理者来说都至关重要,所以学生成绩 管理系统应该能够为用户提供充足的信息和快捷 的查询手段,对学生来说可以轻松的查阅自己在 校的成绩以及信息等。但是一直以来人们都是靠 传统人工的方式管理学生成绩,这种管理方式存 在着许多缺点,如:效率低、保密性差,另外时间一 长,将产生大量的文件和数据,这对于查找、更新 和维护都带来了不少的困难。
for(i=0;i<now_no&&stu[i].name[0];i++)printf("\t%d\t%s\t%s\t%.2d\t%.2d\t%. printf("\t\t按任意键返回主菜单."); fflush(stdin); as=getch(); } while(!as); menu();}
运行效果图
末尾,并且在必要时可以返回上层保存信息; 显示:显示全部已经排好序的学生记录,方便用 户查看; 删除:按学号删除一条或者多条学生记录,同时 返回上层保存记录; 查询:按学号查询学生记录,并显示出该学生所 有信息; 保存:把录入、删除、添加、并且排好序的学生 信息保存在文件当中,方便下次查询或录入学生 信息,文件名需要用户自己输入;