班级成绩管理系统

合集下载

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典引言概述:学生成绩管理系统是一种用于管理学生各科成绩的软件系统。

通过数据流程图和数据字典,可以清晰地了解学生成绩管理系统的工作流程和数据定义。

本文将详细介绍学生成绩管理系统的数据流程图和数据字典,以便更好地理解该系统的功能和数据结构。

一、数据流程图1.1 学生信息录入流程1.2 成绩录入流程1.3 成绩查询流程1.1 学生信息录入流程学生信息录入是学生成绩管理系统的第一步,其流程如下:1.1.1 教师登录系统1.1.2 选择学生信息录入功能1.1.3 输入学生基本信息,如学号、姓名、性别、班级等1.1.4 系统保存学生信息1.2 成绩录入流程成绩录入是学生成绩管理系统的核心功能,其流程如下:1.2.1 教师登录系统1.2.2 选择成绩录入功能1.2.3 选择要录入成绩的科目和班级1.2.4 输入学生学号和对应科目的成绩1.2.5 系统保存成绩信息1.3 成绩查询流程成绩查询是学生成绩管理系统的常用功能,其流程如下:1.3.1 教师登录系统1.3.2 选择成绩查询功能1.3.3 输入要查询的学生学号或姓名1.3.4 系统显示该学生的各科成绩信息二、数据字典2.1 学生信息数据字典2.1.1 学号:学生的唯一标识符,通常由系统自动生成2.1.2 姓名:学生的姓名,由教师或管理员输入2.1.3 性别:学生的性别,可选项为男或女2.1.4 班级:学生所在的班级,由教师或管理员输入2.2 成绩信息数据字典2.2.1 学号:学生的唯一标识符,用于关联学生信息2.2.2 科目:学生所修科目的名称,如数学、语文、英语等2.2.3 成绩:学生在对应科目的成绩,由教师输入2.2.4 班级:学生所在的班级,用于关联班级信息2.3 教师信息数据字典2.3.1 教师编号:教师的唯一标识符,通常由系统自动生成2.3.2 姓名:教师的姓名,由管理员输入2.3.3 职称:教师的职称,如讲师、副教授、教授等2.3.4 所在学院:教师所在的学院,由管理员输入三、系统功能说明3.1 学生信息管理功能3.1.1 学生信息录入:教师或管理员可以录入学生的基本信息3.1.2 学生信息查询:教师或管理员可以查询学生的基本信息3.2 成绩管理功能3.2.1 成绩录入:教师可以录入学生的各科成绩3.2.2 成绩查询:教师或学生可以查询学生的各科成绩3.3 教师信息管理功能3.3.1 教师信息录入:管理员可以录入教师的基本信息3.3.2 教师信息查询:管理员可以查询教师的基本信息四、系统数据流说明4.1 输入流4.1.1 学生基本信息:由教师或管理员输入4.1.2 成绩信息:由教师输入4.2 输出流4.2.1 学生基本信息:显示学生的基本信息4.2.2 成绩信息:显示学生的各科成绩信息五、数据存储说明5.1 学生信息存储:包含学生的学号、姓名、性别、班级等信息5.2 成绩信息存储:包含学生的学号、科目、成绩、班级等信息5.3 教师信息存储:包含教师的教师编号、姓名、职称、所在学院等信息通过以上的数据流程图和数据字典,我们可以清晰地了解学生成绩管理系统的工作流程和数据结构。

班级成绩管理系统

班级成绩管理系统

一、设计内容与设计要求1.课程设计目的全面熟悉、掌握C语言基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为后继课程(数据结构和数据库等课程)的实验以及课程设计打下较扎实的基础。

2.课题题目⑴班级成绩管理系统⑵班级档案管理系统⑶飞机订票系统⑷猜数字游戏⑸电子英汉词典设计⑹通讯录管理系统3.设计要求(1)掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。

具体要求如下:设计课题题目:每位同学根据自己学号除以6所得的余数加一选择相应题号的课题。

原则上不予换提,私自换题者不记成绩。

(2)根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求;输入输出的要求。

②完成系统概要设计:程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。

③完成系统详细设计:包括采用C语言定义相关的数据类型;写出各模块的类C码算法;画出函数的调用关系图。

④调试分析、设计体会、测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。

⑤关键源程序(带注释)⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。

⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。

二、进度安排第 17 周星期一 8时:00分——11时:30分星期二 8时:00分——11时:30分星期四 8时:00分——11时:30分星期五 8时:00分——11时:30分第18周星期一 8时:00分——11时:30分第18周星期二 14时:30分——18时:00分目录1.系统需求分析 (1)1.1问题描述 (1)1.2功能需求 (1)1.3算法提示: (1)1.4测试数据: (2)1.5其它 (2)2.概要设计 (2)2.1程序的模块组成 (2)2.2各模块的功能 (2)3.详细设计 (3)3 .1采用C语言定义相关的数据类型 (3)3.2显示主界面的函数 (4)3.3成绩录入函数 (5)3.4成绩显示函数 (5)3 .5成绩保存函数 (5)3.6成绩排序函数 (6)3.7成绩修改函数 (6)3.8成绩统计函数 (7)4.系统调试 (8)4.1函数关系调用图 (8)4.2 程序中出现的问题及解决方法 (9)5.运行结果 (10)5.1 主界面、成绩录入 (10)5.2成绩显示、保存 (11)5.3成绩排序 (12)5.4成绩修改以及修改后保存 (13)5.5 成绩统计 (14)6.心得体会 (15)7.附录 (16)7.1源代码 (16)7.2参考文献 (22)8 评分表 (23)1.系统需求分析1.1问题描述对一个有N个学生的班级,每个学生有M门课程。

C语言课程设计---班级成绩管理系统

C语言课程设计---班级成绩管理系统

课程设计报告课程名称C语言程序设计课题名称班级成绩管理系统专业班级学号姓名指导教师年月日湖南工程学院课程设计任务书课程名称C语言程序设计课题班级成绩管理系统专业班级学生姓名学号指导老师审批任务书下达日期年月日任务完成日期年月日目录一、引言 (1)二、总体设计 (2)三、详细设计 (4)四、问题分析及总结 (13)五、参考文献 (15)六、附件 (15)一、设计内容与设计要求1. 设计内容:班级成绩管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。

熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。

③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。

④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。

⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。

2.设计要求:1)用C语言实现系统;利用结构体数组实现班级成绩的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表格的形式输出;在各功能子模块中应设计相应的二级菜单。

2) 建立一个班级学生成绩数据库,文件名为bjcjk.txt,并从该文件中读取数据;3) 班级成绩管理系统应能提供以下功能:(1)主菜单界面设计。

通过提示用户输入一个数字选项,调用相应的功能函数。

(2)学生成绩显示:完成班级全部学生成绩的显示,显示时按表格的形式,且应有表头;(3)学生成绩追加:完成新增一个(或多个)学生的成绩记录,要求在追加过程中有相应的提示信息,完成追加后能重新计算学生平均成绩并显示;(4)学生成绩修改:要求能按学号和按姓名两种定位方式,且可以按用户要求修改记录中除学号和姓名以外的指定内容,并重新计算学生的平均成绩;(5)学生成绩信息的查询;要示系统能按学号、按姓名查询以及能查总分在某一指定范围内的学生信息,且能显示符合条件的所的记录,若所需查询的信息不存在时应有相应的提示信息。

班级成绩管理系统

班级成绩管理系统

#include <stdio.h>#include<string.h>#include<stdlib.h>/*定义学生结构体*/struct Student{char ID[20];char Name[20];float yuwen;float shuxue;float yingyu;float Average;};/*声明学生数组及学生数量*/struct Student students[1000];int num=0;/*求平均值*/float Avg(struct Student stu){return (stu.yuwen+stu.shuxue+stu.yingyu)/3; }/*通过学号返回数组下标*/int Student_SearchByIndex(char id[]){int i;for (i=0;i<num;i++){if (strcmp(students[i].ID,id)==0){return i;}}return-1;}/*显示单条学生记录*/void Student_DisplaySingle(int index){printf("%10s%10s%8s%8s%8s%10s\n","学号","姓名","成绩","成绩","成绩","平均成绩");printf("-------------------------------------------------------------\n");printf("%10s%10s%8.2f%8.2f%8.2f%10.2f\n",students[index].ID,students[ index].Name,students[index].yuwen,students[index].shuxue,students[index].yingyu,s tudents[index].Average);}/*学生成绩录入*/void Student_add(){while(1){printf("请输入学号:");scanf("%s",&students[num].ID);printf("请输入姓名:");scanf("%s",&students[num].Name);printf("请输入语文成绩:");scanf("%f",&students[num].yuwen);printf("请输入数学成绩:");scanf("%f",&students[num].shuxue);printf("请输入英语成绩:");scanf("%f",&students[num].yingyu);students[num].Average=Avg(students[num]);num++;getchar();printf("是否继续?(y/n)");if (getchar()=='n'){break;}}}/*显示学生信息*/void Student_Display(){int i;printf("%10s%10s%8s%8s%8s%10s\n","学号","姓名","成绩","成绩","成绩","平均成绩");printf("-------------------------------------------------------------\n");for (i=0;i<num;i++){printf("%10s%10s%8.2f%8.2f%8.2f%10.2f\n",students[i].ID,students[i].N ame,students[i].yuwen,students[i].shuxue,students[i].yingyu,students[i].A verage);}}/*按平均值排序*/void Student_SortByAverage(){int i,j;struct Student tmp;for (i=0;i<num;i++){for (j=1;j<num-i;j++){if (students[j-1].Average<students[j].Average){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}/*修改学生信息*/void Student_Modify(){int i;char str1[15],str2[15];printf("\t\t\t 管理员登陆\n");for (i=0;i<100000000;i++){printf("\t\t\t请输入用户名:");gets(str1);printf("\t\t\t请输入密码:");gets(str2);if ((strcmp(str1,"123")==0&&strcmp(str2,"123")==0)) {printf("\t\t\t正确!\n");break;}elseprintf("\t\t\t用户名密码错误,请重试!\n");continue;}while(1){char id[20];int index;printf("请输入要修改的学生的学号:");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if (index==-1){printf("学生不存在!\n");}else{printf("你要修改的学生信息为:\n");Student_DisplaySingle(index);printf("-- 请输入新值--\n");printf("请输入学号:");scanf("%s",&students[index].ID);getchar();printf("请输入姓名:");scanf("%s",&students[index].Name);getchar();printf("请输入语文成绩:");scanf("%f",&students[index].yuwen);getchar();printf("请输入数学成绩:");scanf("%f",&students[index].shuxue);getchar();printf("请输入英语成绩:");scanf("%f",&students[index].yingyu);getchar();students[index].Average=Avg(students[index]); }printf("是否继续?(y/n)");if (getchar()=='n'){break;}}}/*成绩统计*/void student_statistics(){int i;struct Student tmp;for (i=1;i<num;i++){if (students[i-1].yuwen>students[i].yuwen){tmp=students[i-1];students[i-1]=students[i];students[i]=tmp;}}printf("语文成绩最高的是:\n");printf("%10s%10s%10s%10s%10s%10s\n","学号","姓名","语文成绩","数学成绩","英语成绩","平均成绩");printf("-------------------------------------------------------------\n");printf("%10s%10s%10.2f%10.2f%10.2f%10.2f\n",students[num-1].ID,studen ts[num-1].Name,students[num-1].yuwen,students[num-1].shuxue,students[num-1].yingyu,s tudents[num-1].Average);printf("-------------------------------------------------------------\n");for (i=1;i<num;i++){if (students[i-1].shuxue>students[i].shuxue){tmp=students[i-1];students[i-1]=students[i];students[i]=tmp;}}printf("数学成绩最高的是:\n");printf("%10s%10s%10s%10s%10s%10s\n","学号","姓名","语文成绩","数学成绩","英语成绩","平均成绩");printf("-------------------------------------------------------------\n");printf("%10s%10s%10.2f%10.2f%10.2f%10.2f\n",students[num-1].ID,studen ts[num-1].Name,students[num-1].yuwen,students[num-1].shuxue,students[num-1].yingyu,s tudents[num-1].Average);printf("-------------------------------------------------------------\n");for (i=1;i<num;i++){if (students[i-1].yingyu>students[i].yingyu){tmp=students[i-1];students[i-1]=students[i];students[i]=tmp;}}printf("英语成绩最高的是:\n");printf("%10s%10s%10s%10s%10s%10s\n","学号","姓名","语文成绩","数学成绩","英语成绩","平均成绩");printf("-------------------------------------------------------------\n");printf("%10s%10s%10.2f%10.2f%10.2f%10.2f\n",students[num-1].ID,studen ts[num-1].Name,students[num-1].yuwen,students[num-1].shuxue,students[num-1].yingyu,s tudents[num-1].Average);printf("-------------------------------------------------------------\n");}/*主程序*/main(){int choice;while(1){/*主菜单*/printf("\n\t\t\t------ 班级成绩管理系统------\t\t\t\n"); printf("\t\t\t1. 学生成绩录入\t\t\t\n");printf("\t\t\t2. 学生成绩显示\t\t\t\n");printf("\t\t\t3. 按学生平均成绩排序\t\t\t\n");printf("\t\t\t4. 学生成绩修改\t\t\t\n");printf("\t\t\t5. 学生成绩统计\t\t\t\n");printf("\t\t\t6.退出系统\t\t\t\n");printf("\t\t\t请选择(1-6):");scanf("%d",&choice);getchar();switch(choice){case 1:Student_add();break;case 2:Student_Display();break;case 3:Student_SortByAverage();Student_Display();break;case 4:Student_Modify(); break;case 5:student_statistics();break;case 6:exit(0);break;}}}。

班级成绩管理系统

班级成绩管理系统

班级成绩管理系统班级成绩管理系统文档⒈引言⑴目的在教育领域,班级成绩管理是一个重要的任务。

它可以帮助教师和学校管理学生的成绩情况,提供数据分析和报告,监控学绩并进行干预措施。

本文档旨在向开发人员、教师和学校管理者提供一个详细的班级成绩管理系统文档。

⑵范围本文档涵盖了班级成绩管理系统的各个方面,包括系统的功能、用户角色、数据结构、界面设计和安全策略等。

⑶参考文献[参考文献1] 班级成绩管理系统需求文档[参考文献2] 班级成绩管理系统设计文档⒉系统概述⑴目标班级成绩管理系统的目标是提供一个方便、高效和安全的方式来管理班级的学绩信息。

⑵系统功能班级成绩管理系统将包括以下功能:●学生管理:包括学生信息录入、查询和统计功能。

●成绩录入:教师可以录入学绩,并计算出总分和平均分。

●成绩查询:教师和学生可以根据不同的条件查询学绩。

●数据报告:系统将各种学绩的报告,供教师和学校管理者参考。

●安全管理:系统将保证学绩信息的安全性,只有授权人员可以访问和修改数据。

⒊用户角色⑴教师教师是系统的主要用户,他们可以使用系统进行学生管理、成绩录入、成绩查询和报告等操作。

⑵学生学生可以使用系统查询和查看自己的成绩。

⑶管理员管理员拥有最高权限,可以管理用户角色、系统设置和安全策略等。

⒋数据结构⑴学生信息表学生信息表包含了学生的基本信息,如学生ID、姓名、性别、年级等。

⑵成绩表成绩表包含了学生的各个科目的成绩信息,包括科目、成绩、考试时间等。

⒌界面设计⑴登录界面登录界面提供用户名和密码输入框,用于用户验证身份。

⑵学生管理界面学生管理界面提供学生信息录入、查询和统计功能。

⑶成绩录入界面成绩录入界面提供成绩录入表格,教师可以根据学生和科目输入成绩。

⑷成绩查询界面成绩查询界面提供根据学生、科目和时间等条件进行查询的功能。

⒍安全策略⑴用户身份验证用户在登录时需要提供正确的用户名和密码进行身份验证。

⑵数据加密系统将使用加密算法对用户的密码和敏感数据进行加密保存,提高数据的安全性。

班级成绩管理系统

班级成绩管理系统

目录一需求分析-------------------------------------- 1(1)程序功能-------------------------------------- 1 (2)输入输求出要-----------------------------------1二总体设计--------------------------------------- 1(1) 抽象数据类型定义------------------------------1(2)程序的模块及其功能和关系-----------------------2 (3)主函数分析------------------------------------3三模块功能详细设计分析----------------------------3四调试分析及体会---------------------------------4五部分运行界面截取图-----------------------------5六流程图----------------------------------------10七心得体会--------------------------------------25八附件------------------------------------------26 1源程序---------------------------------------132参考书目-------------------------------------26九评分表1 一.需要分析:(1)程序功能该程序是一个实现对班级成绩管理的系统。

包括显示,添加,删除,修改,排序,查找,统计及退出等功能。

输入学生的学号、姓名及成绩对其进行存储,在存储后可以对学生的成绩按学号和姓名进行查寻。

该系统具有存贮学生数据,按学号、姓名查询,列出学生成绩和统计功能。

运行该文件时出现以下菜单:1:Disp 2:Appe3:Modi 4:Dele5:Query 6:Sort7:Quit执行一个具体的功能之后,程序将重新显示菜单,由管理者自己任意选择。

学生成绩管理系统

学生成绩管理系统

学生成绩管理系统简介学生成绩管理系统是一种用于管理学生的学业成绩和相关信息的软件系统。

它可以帮助学校、教师和学生有效地管理和查询学生的成绩,提供全面的成绩分析和统计功能,促进教学质量的提高。

功能学生成绩管理系统通常具有以下核心功能:1.学生信息管理:包括学生的基本信息、课程注册、班级信息等。

2.成绩录入:教师可以登录系统,录入学生成绩,并进行相应的成绩审核和修改。

3.成绩查询:学生、教师和学校管理者均可通过系统查询学生成绩,可以按照学生、班级、课程等维度进行灵活查询。

4.成绩统计与分析:系统可以对成绩数据进行统计和分析,生成各类成绩报告和分析图表,为教师和学校提供决策依据。

5.成绩排名:系统可以根据学生成绩进行排名,可以按照总分、班级、课程等维度进行排名。

6.数据导入导出:系统可以支持将学生成绩数据导入导出到Excel、CSV等格式,方便学校的数据管理。

优势学生成绩管理系统的应用带来诸多优势:1.提高工作效率:通过系统自动化处理和统计成绩数据,节省了大量的人力和时间成本。

2.提供准确的数据:系统可以准确地计算和记录学生成绩,避免了人工计算和录入带来的错误。

3.提供个性化服务:学生成绩管理系统可以根据学生的不同需求提供个性化的信息查询和分析功能,满足学生个性化的学习需求。

4.提供全面的分析和决策支持:系统可以生成各类成绩报告和分析图表,帮助教师和学校进行成绩分析和决策。

5.提高教学质量:通过系统对学生成绩进行全方位的管理和分析,有助于教师了解学生的学习状况,及时调整教学方法,提高教学质量。

使用场景学生成绩管理系统适用于各类学校、教育机构以及在线教育平台的学生成绩管理需求。

以下是几个典型的使用场景:1.学校管理者可以通过系统了解学校整体的学生成绩情况,进行综合分析和决策。

2.教师可以通过系统录入学生成绩、排名、查询历史成绩等,方便管理学生成绩和进行个性化教学。

3.学生可以通过系统查询自己的成绩、查看排名等,及时了解自己的学习状况。

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典随着教育信息化的发展,学生成绩管理系统在学校中得到了广泛应用。

学生成绩管理系统是一种利用计算机技术对学生成绩进行管理和分析的系统。

本文将介绍学生成绩管理系统的数据流程图及数据字典,以帮助读者更好地理解该系统的数据处理流程和数据结构。

一、数据流程图1.1 学生成绩录入流程- 学生成绩管理员登录系统- 选择录入成绩功能- 输入学生学号和成绩信息- 确认提交1.2 学生成绩查询流程- 学生/教师登录系统- 选择查询成绩功能- 输入学生学号或姓名- 系统显示学生成绩信息1.3 学生成绩统计流程- 教师登录系统- 选择统计功能- 选择统计范围(班级/科目等)- 系统生成成绩统计报表二、数据字典2.1 学生信息表(Student)- 字段:学号(ID)、姓名(Name)、性别(Gender)、班级(Class)- 主键:学号(ID)2.2 成绩信息表(Score)- 字段:学号(ID)、科目(Subject)、成绩(Grade)- 主键:学号(ID)、科目(Subject)- 外键:学号(ID)参考学生信息表2.3 教师信息表(Teacher)- 字段:工号(ID)、姓名(Name)、科目(Subject)- 主键:工号(ID)三、数据处理流程3.1 学生成绩录入流程- 学生成绩管理员登录系统后,通过录入成绩功能将学生成绩信息存储到成绩信息表中。

- 系统会进行数据验证,确保输入的学号和科目存在且成绩符合规定范围。

- 成绩信息成功录入后,系统会生成相应的操作日志记录。

3.2 学生成绩查询流程- 学生/教师登录系统后,通过查询成绩功能可以根据学号或姓名查看学生成绩信息。

- 系统会根据输入的条件在成绩信息表中进行查询,并将查询结果显示给用户。

- 查询结果包括学号、姓名、科目、成绩等信息,方便用户了解学生成绩情况。

3.3 学生成绩统计流程- 教师登录系统后,通过统计功能可以选择不同的统计范围进行成绩统计。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2010-2011第一学期数据库期末考试试卷请在90分钟内按要求独立完成具有如下界面及功能的“班级成绩管理系统”图1 图2操作说明:1、在D盘根目录下创建具有如下格式的文件夹:年级专业班级姓名,例如:09计1潘明宇、09计32刘伟。

所有表单以菜单项目名为文件名,登录表单文件名为“登录”,主表单为“班级成绩管理系统”,菜单名为“班级成绩管理系统”,所有表单的标题必须替换为相应功能的中文名。

2、创建名为”班级成绩表.dbf”的数据表文件,学号以“01”、“02”方式录入,至少5条记录。

字段为:3、由登录窗口(图1)跳转到主界面(图2),主界面所含菜单如图,除文件菜单不具功能外,其余菜单项均具相应的菜单功能。

用户名为考生中文名字,密码为考生姓名的全拼。

4、功能说明:(1)追加,即为记录添加,以屏幕变量替换字段方式进行,不准直接操作数据表数据。

(2)修改,具有翻动记录并修改记录的功能。

(3)插入,以定位记录号的方式在指导定记录号之前插入记录,不准直接操作数据表,以屏幕变量替换字段方式进行。

(4)具有物理删除指定记录号记录内容的功能。

(5)显示,为浏览方式显示。

(6)查询,除评语外,可指定其他字段为查询字段,然后指定字段值查询,查询结果在新窗口中显示。

(7)排序,除评语外,可指定其他字段为排序字段,统一按降序排列。

(8)统计,具有自动计算平均分、总分、各科最高分、最低分、及格人数等。

(9)退出,退出系统。

5、评分说明:见附表班级成绩管理系统界面及代码说明:图1登录表单*登录按钮代码:if thisform.text1.text="杜小林" and thisform.text2.text="duxiaolin"thisform.releasedo form d:\ 班级成绩管理系统\班级成绩管理系统endif*取消按钮代码:thisform.release图2班级成绩表表结构图3主界面表单*Form1的init过程代码:Do d:\ 班级成绩管理系统\班级成绩管理系统.mpr with thisform,.t.图4追加表单界面*所有表单界面属性四修改:1、caption(标题)2、height(高度)3、width(宽度)4、showwindow(显示方式)*form1 的load过程代码:If used(“班级成绩表”)Sele 班级成绩表elseuse e:\班级成绩管理系统\班级成绩表endif@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2)*追加按钮代码:if len(alltrim(thisform.txt学号.value))>0append blankrepl 学号with thisform.txt学号.valuerepl 语文with val(alltrim(thisform.txt语文.value))repl 数学with val(alltrim(thisform.txt数学.value))repl 英语with val(alltrim(thisform.txt英语.value))repl 计算机with val(alltrim(thisform.txt计算机.value))repl 平均分with val(alltrim(thisform.txt平均分.value))repl 总分with val(alltrim(thisform.txt总分.value))repl 名次with thisform.txt名次.valuerepl 评语with thisform.edt评语.value***清除屏幕显示thisform.txt学号.value=""thisform.txt语文.value=""thisform.txt数学.value=""thisform.txt英语.value=""thisform.txt计算机.value=""thisform.txt平均分.value=""thisform.txt总分.value=""thisform.txt名次.value=""thisform.edt评语.value=""@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2) thisform.refreshelse@0,2 say "不能追加空记录!" colo 4/2=inkey(5)@0,2 say " "endif图5插入表单界面*Form1的load过程代码:If used(“班级成绩表”)Sele 班级成绩表elseuse e:\班级成绩管理系统\班级成绩表endif@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2)*文本框lostfocus代码if val(alltrim(thisform.text1.text))>0mand1.enabled=.t.endif*插入按钮代码:if len(alltrim(thisform.txt学号.value))>0go val(alltrim(thisform.text1.text))&&定位insert blank before&&之前插入空记录repl 学号with thisform.txt学号.valuerepl 语文with val(alltrim(thisform.txt语文.value))repl 数学with val(alltrim(thisform.txt数学.value))repl 英语with val(alltrim(thisform.txt英语.value))repl 计算机with val(alltrim(thisform.txt计算机.value))repl 平均分with val(alltrim(thisform.txt平均分.value))repl 总分with val(alltrim(thisform.txt总分.value))repl 名次with thisform.txt名次.valuerepl 评语with thisform.edt评语.value***清除屏幕显示thisform.txt学号.value=""thisform.txt语文.value=""thisform.txt数学.value=""thisform.txt英语.value=""thisform.txt计算机.value=""thisform.txt平均分.value=""thisform.txt总分.value=""thisform.txt名次.value=""thisform.edt评语.value=""mand1.enabled=.f.&&修改插入按钮状态thisform.text1.value=""&&清除记录号输入@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2) thisform.refreshelse@0,2 say "不能插入空记录!" colo 4/2=inkey(5)@0,2 say " "mand1.enabled=.f.&&修改插入按钮状态thisform.text1.value=""&&清除记录号输入endif图6修改表单界面*数据环境关联数据表*上一条if .not.bof()skip -1@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2) thisform.refreshendif*下一条if .not.eof()skip@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2) thisform.refreshendif*第一条go top@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2) thisform.refresh*最后一条go bottom@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2) thisform.refresh*取消thisform.release图7删除表单界面*Form1的load过程:If used(“班级成绩表”)Sele 班级成绩表elseuse e:\班级成绩管理系统\班级成绩表endif@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2) *Form1的init过程:if deleted()thisform.check1.value=1elsethisform.check1.value=0endif*上一条if .not.bof()skip -1if deleted()thisform.check1.value=1elsethisform.check1.value=0endif@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2) thisform.refreshendif*下一条if .not.eof()skipif deleted()thisform.check1.value=1elsethisform.check1.value=0endif@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2) thisform.refreshendif*第一条go topif deleted()thisform.check1.value=1elsethisform.check1.value=0endif@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2) thisform.refresh*最后一条go bottomif deleted()thisform.check1.value=1elsethisform.check1.value=0endif@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2) thisform.refresh*取消thisform.release*复选框代码:if thisform.check1.value=1deleteelserecallendif*删除按钮代码:Pack@0,50 say “当前是第”+str(recno(),2)+”条记录”+space(5)+”总记录数为:”+str(reccount(),2) Thisform.refresh图8排序表单界面*Form1的load过程代码:If used(“班级成绩表”)Sele 班级成绩表elseuse e:\班级成绩管理系统\班级成绩表endif*排序按钮代码:s1=thisform.optiongroup1.value&&获取第一单选组的选值s2=thisform.optiongroup2.value&&获取第二单选组的选值if s2=2ps="desc"&&根据选项值给变量赋值endifzd=field(s1)&&必须赋值给变量,再通过宏代换使用if s2=1sele * from e:\班级成绩管理系统\班级成绩表order by &zd&&升序排序elsesele * from e:\班级成绩管理系统\班级成绩表order by &zd &ps&&降序排序endif图9查询表单界面*Form1的load过程代码:If used(“班级成绩表”)Sele 班级成绩表elseuse e:\班级成绩管理系统\班级成绩表endif*查询按钮代码:*符号赋值do casecase thisform.optiongroup2.value=1fh=">"case thisform.optiongroup2.value=2fh="<"case thisform.optiongroup2.value=3fh=">="case thisform.optiongroup2.value=4fh="<="case thisform.optiongroup2.value=5fh="="case thisform.optiongroup2.value=6fh="<>"endcasezd=field(thisform.optiongroup1.value)&&获取选中的字段if thisform.optiongroup1.value=1.or.thisform.optiongroup1.value=8ml="sele * from e:\班级成绩管理系统\班级成绩表where &zd"+fh+"alltrim(thisform.text1.text)"&mlelseml="sele * from e:\班级成绩管理系统\班级成绩表where &zd"+fh+"val(alltrim(thisform.text1.text))"&mlendif图10统计表单界面*Form1的load过程代码:If used(“班级成绩表”)Sele 班级成绩表elseuse e:\班级成绩管理系统\班级成绩表endif*统计按钮代码:*符号赋值do casecase thisform.optiongroup2.value=1fh=">"case thisform.optiongroup2.value=2fh="<"case thisform.optiongroup2.value=3fh=">="case thisform.optiongroup2.value=4fh="<="case thisform.optiongroup2.value=5fh="="case thisform.optiongroup2.value=6fh="<>"xz=thisform.optiongroup1.value+1zd=field(xz,1)&&获取选中的字段***统计内容赋值tj=""if thisform.check1.value=1tj=tj+"count(&zd) as &zd.个数"endifif thisform.check2.value=1if len(tj)>0tj=tj+",avg(&zd) as &zd.平均"elsetj=tj+"avg(&zd) as &zd.平均"endifendifif thisform.check3.value=1if len(tj)>0tj=tj+",sum(&zd) as &zd.求和"elsetj=tj+"sum(&zd) as &zd.求和"endifendifif thisform.check4.value=1if len(tj)>0tj=tj+",max(&zd) as &zd.最大值"elsetj=tj+"max(&zd) as &zd.最大值"endifendifif thisform.check5.value=1if len(tj)>0tj=tj+",min(&zd) as &zd.最小值"elsetj=tj+"min(&zd) as &zd.最小值"endifendif****组合查询命令字符串ml="sele "+tj+" from e:\班级成绩管理系统\班级成绩表where &zd"+fh+"val(alltrim(thisform.text1.text))"&ml&&执行查询命令**关闭查询表if used("查询")sele 查询use*取消按钮Thisform.release*退出菜单代码:quit。

相关文档
最新文档