学生成绩录入系统

合集下载

深圳市学籍系统学生成绩及评语录入指南(班主任下载)

深圳市学籍系统学生成绩及评语录入指南(班主任下载)

深圳市学籍系统学生成绩、评语录入指南
(由班主任完成)
一、录入成绩
第一步:登陆系统(账号密码各班主任不能给其他老师)
网址;:8008/jsp/login/Login.jsp
第二步:左边栏目找到“成绩管理”—“考试成绩录入”
选择“类别”(只要求录入‘期中成绩’和‘期末成绩’)和“学期”(本学期为‘上学期’)
第三步:录入成绩
成绩可以直接输入等级大写A、B、C、D也可选择输入分数,系统会自动转成等级,输完点击“保存成绩”。

转换原则为:
A:85.0~100.0 B:70.0~84.9 C:60.0~59.9 D:0.0~59.9
二、评语录入
第一步:登陆系统
第二步:左边栏目找到“学籍管理”—“在校生档案”—“班级”点击其中一名学生进入页面
第三步:点击“点击显示右边菜单”进去评语录入页面第四步:录入评语
填写“学年度:2014-2015”
“操评等级”
“考评教师”
“学期:上”
“日期”
“考评”
第五步:保存与删改
录完之后点击保存。

在考评列表中就会有记录显示。

如需新增,则直接点击新增再录入,如需删除,则选择列表左边的小方框,然后点击删除即可。

备注:以后每个学期的期中和期末成绩(小一小二只录入期末成绩)都需要各班主任跟进录入该系统。

请互相提醒,再次强调账号密码不要告诉其他老师,谢谢。

学生成绩管理系统(详细操作过程)

学生成绩管理系统(详细操作过程)

学生成绩管理系统我将把我的实现步骤完整的写出来,我是在VC 6.0版本下用MFC实现的。

我创建的基于单文档的应用程序,过程不介绍,大家都会。

下面的是我系统菜单:思路:刚进入系统时,只有“登录”菜单可用,其他三个菜单项都是灰色不可用的。

当用户点“进入系统”菜单项时,用户输入用户名、密码和用户类型,系统将根据相应的用户权限使相应的菜单可用,并且“进入系统”菜单项变为不可用。

如:如果用户类型是学生,那么只有学生权限菜单可用,而“教师权限”和“管理员权限”都不可用,同时“进入系统”变为不可用。

“学生权限”下只有“查询成绩”,因为学生只可以查询自己相应的成绩;“教师权限”下有“查询学生成绩”和“增改删学生成绩”两个菜单项,因为教师除了可以查询学生成绩还可以增加、修改和删除学生成绩;“管理员权限”下有“管理学生”和“管理教师”两个菜单项。

整体设计:因为我们要设置系统菜单的状态,所以必须在CMainFrame中添加相应的函数和代码,具体步骤如下:【步骤1】由于系统要使用ODBC类操作数据库,所以需要在stdafx.h中加入代码:#include <afxdb.h>【步骤2】在CMainFrame中的OnCreat()中添加代码如下,实现菜单的初始化工作,当用户没进入系统之前,只有“登陆”菜单下的“进入系统”菜单项可用,而“退出系统”和其他3个权限菜单都不可用,即都是灰色的。

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){//使“退出系统”和其他3个权限菜单都不可用,即都是灰色的GetMenu()->GetSubMenu(0)-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);GetMenu()-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);GetMenu()-> EnableMenuItem(2,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);GetMenu()-> EnableMenuItem(3,MF_BYPOSITION | MF_DISABLED | MF_GRAYED);}【步骤3】在CMainFrame中添加自己定义的函数void SetMenuSta(int type),此函数在登陆对话框的OnOK()中被调用,即当用户进入系统后使“进入系统”菜单项不可用,并根据用户类型使相应菜单可用。

系统操作步骤学生成绩录入及综合素质评价步骤

系统操作步骤学生成绩录入及综合素质评价步骤

初中新课程管理系统操作步骤学生成绩录入及综合素质评价步骤一、打开首页;进入主页面,然后进入“学籍管理”页面,点击“福建省普通初中新课程管理系统”;或在IE地址栏内输入亦可二、登入用户名;用户名为所有教师自己姓名的全拼拼音,如:苏文彬,则用户名为suwenbin,密码统一为12345678。

请所有教师登入后自己在“个人设置”内修改。

教务管理模块1、成绩录入;(1)登入后,每个科任教师都可以在“教务管理”“原(2)在“原始成绩导入”中进行批导入,进入批导入后“考试”需选择“2010-2011第一学期期末考试”,再选择自己所任教的学科。

批导入前请参照下面的模板进行。

(班主任可录入本班所有学科的期末成绩)2、成绩导出与查询;成绩录入后,可在“成绩导出”及“成绩查询”中,进行各班成绩的导出与查询。

综合素质评价管理模块(班主任)学生综合素质评价管理;(1)1、(2)“总评”,按照模板对学生的评价结果进行总评。

2、查询报表;班主任可对学生的相关报表进行查询。

3、评价等级:“道德品质”(包括:是非观、亲社会、诚实守信)、“公民素养” (包括:热爱祖国、社会责任、遵纪守法、文明习惯)、“审美与表现” (包括:感受美、表达美)三个一级指标的评价结果采用“优秀”、“合格”、“尚待改进”三个等级呈现。

“学习能力” (包括:学习态度、学习兴趣、学习习惯、创新意识)和“交流与合作” (包括:表达能力、倾听习惯、评价能力)采用A、B、C、D四个等级呈现。

“运动与健康” (包括:生活方式、体能、情绪、意志)采用“良好”、“一般”、“差”三个等级呈现)。

学籍管理模块(班主任)1“学生信息维护”中,可对本班班级的学生进行相关信息的维护。

2“报表查询”后,选择私有报表,可对学生的个人详细信息进行查询与导出(每次导出只能导出一页)。

(注意:请所有任课教师于2011年1月21日前将所任教的学科予与录入完整并保存。

班主任需对本班学生进行综合素质评价。

系统操作步骤学生成绩录入及综合素质评价步骤

系统操作步骤学生成绩录入及综合素质评价步骤

初中新课程管理系统操作步骤学生成绩录入及综合素质评价步骤一、打开首页;进入主页面,然后进入“学籍管理”页面,点击“福建省普通初中新课程管理系统”;或在IE地址栏内输入亦可二、登入用户名;用户名为所有教师自己姓名的全拼拼音,如:苏文彬,则用户名为suwenbin,密码统一为12345678。

请所有教师登入后自己在“个人设置”内修改。

教务管理模块1、成绩录入;(1)登入后,每个科任教师都可以在“教务管理”“原(2)在“原始成绩导入”中进行批导入,进入批导入后“考试”需选择“2010-2011第一学期期末考试”,再选择自己所任教的学科。

批导入前请参照下面的模板进行。

(班主任可录入本班所有学科的期末成绩)2、成绩导出与查询;成绩录入后,可在“成绩导出”及“成绩查询”中,进行各班成绩的导出与查询。

综合素质评价管理模块(班主任)学生综合素质评价管理;(1)1、(2)“总评”,按照模板对学生的评价结果进行总评。

2、查询报表;班主任可对学生的相关报表进行查询。

3、评价等级:“道德品质”(包括:是非观、亲社会、诚实守信)、“公民素养” (包括:热爱祖国、社会责任、遵纪守法、文明习惯)、“审美与表现” (包括:感受美、表达美)三个一级指标的评价结果采用“优秀”、“合格”、“尚待改进”三个等级呈现。

“学习能力” (包括:学习态度、学习兴趣、学习习惯、创新意识)和“交流与合作” (包括:表达能力、倾听习惯、评价能力)采用A、B、C、D四个等级呈现。

“运动与健康” (包括:生活方式、体能、情绪、意志)采用“良好”、“一般”、“差”三个等级呈现)。

学籍管理模块(班主任)1“学生信息维护”中,可对本班班级的学生进行相关信息的维护。

2“报表查询”后,选择私有报表,可对学生的个人详细信息进行查询与导出(每次导出只能导出一页)。

(注意:请所有任课教师于2011年1月21日前将所任教的学科予与录入完整并保存。

班主任需对本班学生进行综合素质评价。

学生成绩管理系统

学生成绩管理系统

目录1 需求分析 (1)1.1行业现状 (1)1.2可行性分析 (2)1.3 系统运行环境 (3)2 系统设计 (4)2.1 E-R图 (4)2.2 数据字典 (6)3 代码 (9)总结 (10)参考文献 (11)1 需求分析该学生成绩管理系统,实现简单的密码修改、成绩查询、课程查询、学生查询等操作,并能实现简单的数据统计。

此系统主要完成用户密码登陆、用户密码的修改、成绩查询、课程查询、学生查询、具体成绩查询等基本功能。

(一)用户密码登录:在登录程序之前会先弹出一个登录对话框,在正确的输入了数据库中存储的用户和密码后才能登录程序。

(二)用户密码的修改在成功登录了程序之后用户可以根据自己的需要修改当前密码。

(三)成绩查询1.成绩修改前选中要修改的成绩信息,然后进行修改。

2.成绩添加直接弹出添加对话框,然后进行添加。

3.成绩删除前选中要删除的成绩信息,然后直接删除。

(四) 课程查询1.课程修改实现对课程名、学时、学分的修改。

2.课程添加对一门新开设的课程进行录入,并存入数据库。

3.课程删除对一门不再开设的课程进行删除,并从数据库中删除。

(五)学生查询1 .学生信息修改修改选中当前学生的信息。

2 .学生信息添加增加新学生的信息。

3.学生信息删除删除选中当前学生信息。

1.1 行业现状在现代,高科技的飞跃发展,计算机的大量普及,使得人们生活节奏越来越快。

因此对教育行业的多元信息进行有效的管理工作,也成为教育行业中的重中之重。

目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。

为各高校教务工作人员减轻负,提高工作效率,所以制作了学生成绩管理系统。

学生成绩管理系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。

比较系统地对教务、教学上的各项服务和信息进行管理,使数据管理更现代化、自动化、智能化、人性化。

学生成绩管理系统

学生成绩管理系统

“学生学习成绩管理系统”用于对学生学习成绩数据文件的新文件创建和老文件管理,并可以进行密码设置。

具体要求实现的功能如下:1、输入/添加记录:将每一个学生的学号、姓名和各科学习成绩作为一个记录进行输入或添加。

要求经过密码验证后能建立一个新的数据文件或给已建立好的数据文件增加记录。

2、显示、查询记录:能按学生姓名(或学号)显示、查询一个或多个学生的各门(或某门)功课的成绩和平均成绩。

3、修改记录:可以对数据文件中的任意记录的数据进行修改,在修改前后对该记录的内容进行显示,并设确认提示。

(要求设置密码,验证通过后方可进入修改环节)4、删除记录:可以删除数据文件中的任一记录,包括逻辑删除(具有恢复功能)和物理删除(不可恢复)。

(说明:该功能也应设置为经过验证密码后才可实施删除)5、成绩排序:采用不同的排序方法对单科成绩和总(或平均)成绩进行排序,但不能改变原记录的顺序。

6、统计功能:(A)计算各门课程全班总成绩及平均成绩;(B)统计各门课程得分为100、90~99、80~89、70~79、60~69和不及格学生的人数,以及与全班总人数的百分比。

7、其他:该软件应具有系统名称、设计单位或个人等基本信息。

学生成绩管理系统源程序清单:#include<stdio.h>#include<string.h>#include<malloc.h>#include<conio.h>#define NULL 0#define LEN sizeof(student)#define N 5typedef struct stu{int flag;long num;char name[10];int score[N];struct stu *next;}student;void edit();/*编辑菜单*/void search(student *head); /*查找函数*/student *search_number(student *head,long number); /*按学号查找*/ void search_name(student *head); /*按姓名查找*/student *search_score(student *head,int min,int max,int i); /*按成绩查找*/void enter_record(student *p); /*输入成绩*/student *creat(void); /*建立链表*/student * insert(student *head); /*插入结点*/void count(int *p); /*计算总成绩及平均成绩*/void print(student *p); /*输出结点*/void print_title();/*输出标题*/student *delete(student *head); /*删除结点*/void recover(student *head); /*恢复删除*/void revise(student *head); /*修改记录*/void tongji(student *head); /*统计*/void paixu(student *head,int m); /*排序*/int cipher_check();/*密码检测*/void set_up_cipher();/*设立密码*/student *load();/*载入*/void save(student *head); /*保存*/void about();/*关于*/int n;char cipher[11]={""};/*字符串,保存密码*/main(){char c;student *head=NULL;system("cls");about();for(;;){system("cls");printf("************************************************************ *******************\n");printf("\t\t Welcome to\n");printf("\n\t\t The student score manage system\n");printf("*************************************MENU******************* *******************\n");printf("\t\t\t1. Creat the record\n");printf("\t\t\t2. Load the file\n");printf("\t\t\t3. Edit the record\n");printf("\t\t\t4. About design\n");printf("\t\t\t5. Quit\n");printf("************************************************************ ********************\n");printf("\n\t\t\tEnter your choice(1~5):");for(;;){c=getchar();if(c=='\n') continue;else if(c<'1'||c>'5') printf("\t\t\tEnter your choice(1~5):"); else break;}getchar();switch (c){case '1':head=creat();if(head==NULL){printf("Empty record!\n\nEnter any key to continue...\n"); getch();break;}set_up_cipher();printf("Enter any key to edit menu...");getch();edit(head);break;case '2':head=load();if(head==NULL){printf("\nEnter any key to continue...");getch();break;}printf("Enter any key to edit menu...");getch();edit(head);break;case '3':edit(head);break;case '4':about();break;case '5':exit(0);}}}void edit(student *head)/*编辑菜单*/{char c,m;int i,f=0;for(;;){system("cls");printf("***********************************EDIT*MENU**************** ********************\n");printf("\t\t\t1.Save the record.\n");printf("\t\t\t2.Insert a record.\n");printf("\t\t\t3.Delete a record.\n");printf("\t\t\t4.Recover the record.\n");printf("\t\t\t5.Revise the record.\n");printf("\t\t\t6.Search records.\n");printf("\t\t\t7.Sort the records.\n");printf("\t\t\t8.Tongji the records.\n");printf("\t\t\t9.Change the password.\n");printf("\t\t\t0.Return to main menu.\n");printf("************************************************************ ********************\n");printf("\t\t\tEnter your choice(0~9):");for(;;){c=getchar();if(c=='\n') continue;else if(c<'0'||c>'9') printf("\t\t\tEnter your choice(0~9):"); else break;}switch (c){case '1':save(head);f=0;break;case '2':printf("Please enter the right password:\n");if(cipher_check()==0){printf("Wrong password!\n"); break;}head=insert(head);f=1;break;case '3':printf("Please enter the right password:\n");if(cipher_check()==0){printf("Wrong password!\n"); break;}head=delete(head);f=1;break;case '4':printf("Please enter the right password:\n");if(cipher_check()==0){printf("Wrong password!\n"); break;}recover(head);f=1;break;case '5':printf("Please enter the right password:\n");if(cipher_check()==0){printf("Wrong password!\n"); break;}revise(head);f=1;break;case '6':search(head);break;case '7':printf("Sort on which subject?\n");printf("score1(1)/score2(2)/score3(3)/sum(4)\n");for(;;){scanf("%c",&m);if(m=='\n') ;else if(m>='1'&&m<='4') break;else printf("error!enter again:");}i=m-'0'-1;paixu(head,i);break;case '8':tongji(head);break;case '9':printf("Please enter the old password:\n");if(cipher_check()) {set_up_cipher();f=1;}else printf("Wrong password!\n");break;case '0':if(f==1){char c;printf("This record has already been revised.\nSave the record or not? ");for(;;){c=getchar();if(c=='\n') continue;else if(c=='y'||c=='Y') {save(head);break;}else if(c=='n'||c=='N') break;else printf("error!enter again:");}}return;}printf("\nenter any key to return...");getch();}}student *creat(void) /*建立链表*/{student *head,*p1,*p2;n=0;p1=(student *)malloc(LEN);p2=NULL;printf("please enter number");printf("(enter 0 to end):\n");scanf("%ld",&p1->num);head=NULL;while(p1->num!=0){n++;enter_record(p1);if(n==1) head=p1;else p2->next=p1;p2=p1;p1=(student *)malloc(LEN);printf("Please enter next number(0 to end):\n");scanf("%ld",&p1->num);}if(n!=0)p2->next=NULL;free(p1);return head;}student * insert(student *head) /*插入结点*/{student *p1,*p2,*new_node;for(;;){new_node=(student *)malloc(LEN);if(new_node==NULL){printf("Database is full,can't add more record.\n");return NULL;}printf("\nPlease enter the number you want to insert\n(enter 0 to end):");scanf("%ld",&new_node->num);if(new_node->num==0) {break;}for(p1=head,p2=NULL;p1!=NULL&&(new_node->num)>(p1->num);p2=p1,p1=p1->next);if(p1!=NULL&&(p1->num)==(new_node->num)&&p1->flag==1){char c;printf("This number already exists:\n");print_title();print(p1);printf("Cover or not?(y/n)?");for(;;){c=getchar();if(c=='n'||c=='N'){free(new_node);break;}else if(c=='y'||c=='Y'){free(new_node);enter_record(p1);break;}else if(c!='\n')printf("Error!enter again:");else continue;}}else if(p1!=NULL&&(p1->num)==(new_node->num)){n++;free(new_node);enter_record(p1);}else{n++;enter_record(new_node);new_node->next=p1;if(p2==NULL)head=new_node;elsep2->next=new_node;}}return head;}student *delete(student *head) /*删除结点*/{long number;char c;student *p1,*p2;for(;;){printf("Please enter the number you want to delete(enter 0 to end):\n");scanf("%ld",&number);if(!number) break;for(p1=head,p2=NULL;p1!=NULL&&p1->num!=number;p2=p1,p1=p1->next);if(p1==NULL||p1->flag==0){printf("this number doesn't exist.\n");}else{print_title();print(p1);printf("delete this record?\n");printf("sure(s)/cancle(c)/delete thoroughly(t)\n");for(;;){c=getchar();if(c=='c'||c=='C') break;else if(c=='s'||c=='S'||c=='t'||c=='T'){n--;if(c=='s'||c=='S')p1->flag=0;else{if(p2==NULL) head=p1->next;else p2->next=p1->next;free(p1);}break;}else if(c!='\n')printf("error!enter again:");}}}return head;}void recover(student *head) /*恢复删除*/{student *p;long number;printf("recover which number?\n");scanf("%ld",&number);if(number==0) return;p=search_number(head,number);if(p==NULL) printf("Can't recover this number!\n");else if(p->flag==1) printf("This number has not been deleted.\n"); else {n++;p->flag=1;printf("Recover success!\n");}}void revise(student *head) /*修改记录*/{char c;long number;student *p1;for(;;){printf("Which number do you want to revise?\n(enter 0 to end):"); scanf("%ld",&number);if(number==0) return;p1=search_number(head,number);if(p1==NULL||p1->flag==0) {printf("this number doesn'texist.\n");continue;}print_title();print(p1);printf("Do you want to revise the record?(y/n)\n");for(;;){c=getchar();if(c=='\n') continue;else if(c=='n'||c=='N') break;else if(c=='y'||c=='Y'){printf("please enter new record:\n");enter_record(p1);printf("the new record is:\n");print_title();print(p1);break;}else printf("error,enter again:");}}}void search(student *head) /*查找函数*/{char c;int i,min,max;long number;student *p;printf("Please enter search conditions:\n");printf("all(a)/number(n)/name(m)/score(s)/return(r)\n");for(;;){c=getchar();if(c=='\n') continue;else if(c=='s'){printf("Which couse do you want to search?\n");printf("score1(1)/score2(2)/score3(3)/total(4)/average(5)");for(;;){c=getchar();if(c=='\n') continue;else if(c>'0'&&c<'6') {i=c-'0'-1;break;}else printf("Error,enter again:");}printf("please enter min and max score(min-max):");scanf("%d-%d",&min,&max);p=search_score(head,min,max,i);if(p==NULL)printf("No record\n");else{ print_title();for(;p!=NULL;p=search_score(p->next,min,max,i))print(p);}}else switch(c){case 'a':print_title();for(p=head;p!=NULL;p=p->next)if(p->flag==1) print(p);break;case 'n':printf("What number do you want to search?\n");scanf("%ld",&number);p=search_number(head,number);if(p==NULL||p->flag==0) printf("This number doesn't exist!\n"); else{print_title();print(p);}break;case 'm':search_name(head);break;case 'r': return;default :printf("this condition doesn't exist,Pleaseenter again:\n");printf("all(a)/number(n)/name(m)/score(s)/return(r)\n");continue;}printf("Please enter search conditions:\n");printf("all(a)/number(n)/name(m)/score(s)/return(r)\n");}}student *search_number(student *head,long number) /*按学号查找*/ {student * p;for(p=head;p!=NULL&&p->num!=number;p=p->next);return p;}void search_name(student *head) /*按姓名查找*/{student *p1;char *p,str[10];p=str;printf("please enter the name you want to search:\n");scanf("%s",p);for(p1=head;p1!=NULL;p1=p1->next){if(p1->flag==0) continue;if(strcmp(p,p1->name)==0) break;}if(p1==NULL) printf("this people doesn't exist.\n");else{print_title();for(;p1!=NULL;p1=p1->next)if(strcmp(p,p1->name)==0&&p1->flag==1)print(p1);}}student *search_score(student *head,int min,int max,int i) /*按成绩查找*/{student *p1;for(p1=head;p1!=NULL;p1=p1->next)if(p1->flag==1&&p1->score[i]>=min&&p1->score[i]<=max) break;return p1;}void paixu(student *head,int m)/*排序*/{long *number,t;int i,j,k,max;student *p;number=calloc(n,sizeof(long));i=0;for(p=head;p!=NULL;p=p->next){if(p->flag==0) continue;number[i]=p->num;i++;}for(i=0;i<n-1;i++){k=i;max=search_number(head,number[i])->score[m];for(j=i+1;j<n;j++){p=search_number(head,number[j]);if(p->score[m]>max){max=p->score[m];k=j;}}if(k!=i){t=number[i];number[i]=number[k];number[k]=t;}}printf("************************************************************ ****************\n");if(m==3) printf("Sord by sum score:\n");else printf("Sord by score%d:\n",m+1);printf("mingci ");printf("number name score1 score2 score3 total aver\n");for(i=0;i<n;i++){printf("%4d ",i+1);print(search_number(head,number[i]));}}void tongji(student *head) /*统计*/{int i,sum,s,j;student *p1;printf("************************************************************ ****************\n");printf(" sum average\n");for(i=0;i<N-2;i++){sum=0;for(p1=head;p1!=NULL;p1=p1->next)if(p1->flag==1) sum+=p1->score[i];printf(" score%d:%6d%9.2f\n",i+1,sum,(float)sum/n);}for(sum=0,p1=head;p1!=NULL;p1=p1->next)if(p1->flag==1) sum+=p1->score[N-2];printf(" sum :%6d%9.2f\n",sum,(float)sum/n);printf("average:%6.2f%9.2f\n",(float)sum/(N-2),(float)sum/(N-2)/n); printf("************************************************************ ****************\n");printf("Ge fenshuduan renshu:\n");printf(" 100 90-99 80-89 70-79 6 0-69 fail\n");printf(" score digit rate digit rate digit rate digit rate digit rate digit rate\n");for(i=0;i<N-2;i++){printf("score%d",i+1);for(s=100;s>=60;s-=10){j=0;for(p1=search_score(head,s,s+9,i);p1!=NULL;p1=search_score(p1->next,s,s+9,i))j++;printf("%5d,%6.2f",j,(float)j/n);}for(j=0,p1=search_score(head,0,59,i);p1!=NULL;p1=search_score(p1->next,0,59,i))j++;printf("%5d,%6.2f",j,(float)j/n);printf("\n");}}void about()/*关于设计*/{clrscr();printf("\n\n\n\n\n\n");printf("\t\t\b*********************ABOUT************************\n") ;printf("\t\t\b*\tThe Student Score Manage System\t\t*\n");printf("\t\t\b*\t\t\t\t\t\t*\n");printf("\t\t\b*\t\t\b llrsnake \t\t\t*\n");printf("\t\t\b*\t\t\b 1000000001\t\t\t*\n");printf("\t\t\b**************************************************\n"); printf("\n\t\t\tPress any key to return...");getch();}student *load()/*载入*/{FILE *fp;student *head=NULL,*p1,*p2;char c[10];printf("please enter the file name:\n");scanf("%s",c);if((fp=fopen(c,"rb"))==NULL){printf("Can not open the file %s\n",c); return head;}printf("loading...\n");n=0;fgets(cipher,11,fp);p1=(student *)malloc(LEN);if(p1==NULL){printf("Out of memory!\n");return(head);}head=p1;while(!feof(fp)){if(fread(p1,LEN,1,fp)!=1)break;n++;p1->next=(student *)malloc(LEN);if(!p1->next){printf("Out of memory!\n");return (head);}p2=p1;p1=p1->next;}p2->next=NULL;fclose(fp);printf("load successfuly!\n");return head;}void save(student *head) /*保存*/{FILE *fp;student *p;char str[10];int i;printf("please enter the file name:\n");scanf("%s",str);if((fp=fopen(str,"wb"))==NULL){printf("Cannot open file!\n");return;}printf("Saving...\n");for(i=0;i<10;i++)fputc(cipher[i],fp);for(p=head;p!=NULL;p=p->next)if(fwrite(p,LEN,1,fp)!=1)printf("file save error!\n");printf("save successfully!\n");fclose(fp);}int cipher_check()/*密码检测*/{char c[11];int i,flag;for(i=0;(c[i]=getch())!='\r'&&i<11;){if(c[i]==8){if(i==0) continue;else {printf("\b");clreol();i--;continue;} }if(i==10) continue;printf("*");i++;}c[i]='\0';printf("\n");flag=!strcmp(c,cipher);return flag;}void set_up_cipher()/*设立密码*/{int i=0,flag;char c;printf("\nPlease input the password:\n"); while((cipher[i]=getch())!='\r'&&i<11){if(cipher[i]==8){if(i==0) continue;else{i--;printf("\b");clreol();continue;}if(i==10) continue;printf("*");i++;}cipher[i]='\0';printf("\nplease input the password again:\n"); flag=cipher_check(cipher);if(flag==0){printf("password set up fail\n");cipher[0]='\0';}if(flag==1)printf("\npassword set up success!\n");}void enter_record(student *p) /*输入信息*/{int i;p->flag=1;printf("name:");scanf("%s",p->name);for(i=0;i<N-2;i++){printf("score%d=",i+1);for(;;){scanf("%d",(p->score)+i);if(p->score[i]>100||p->score[i]<0)printf("Wrong score,enter again:");else break;}count(p->score);}}void count(int *p) /*计算总成绩及平均成绩*/{int i,sum=0,aver;for(i=0;i<N-2;i++)sum+=p[i];aver=(int)sum/i;p[N-2]=sum;p[N-1]=aver;}void print(student *p) /*输出结点*/printf("%5ld %-6s",p->num,p->name);for(i=0;i<N;i++)printf("%7d",p->score[i]);printf("\n");}void print_title()/*输出标题*/{printf("\n********************************************************** **********************\n");printf("number name score1 score2 score3 total aver\n");}。

学生成绩录入方法

学生成绩录入方法

学生成绩录入方法一、登陆系统登陆 网站,或通过福建省教育厅网站中的学籍系统栏目中的福建省小学新课程管理系统进入到网站,用自己的账号和密码(统一是:12345678)填写验证码,登陆后,点击“教务系统”二、成绩录入办法由“教务系统”进入→点击“成绩管理”→点击“原始成绩录入”→选择“班级”、“考试”为“2011—2012第二学期期末考试”→选择要录入成绩的“科目”→在成绩栏中选择相应学生的成绩“等第”(四个等级:优秀、良好、合格、不合格,按期末成绩相应等级登录,|其中,期末成绩“待及格”的在录入是统一改成“合格”,其余不变)→全部完成后,点击“保存”即可。

三、需成绩录入的科目:一二年级:品生、语文、数学、体育、音乐、美术三—六年级:品社、语文、数学、科学、英语、体育、音乐、美术。

请相应任教教师于7月4日前完成成绩录入。

四、附:各位教师的用户名廖兆蕙liaozhaohui1陈淑萍chenshupingqx刘世超liushichao林香娜linxiangna李兰花lilanhua苏桂月suguiyue李美华limeihualt王宝梅wangbaomei颜淑婷yanshuting廖碧珠liaobizhuqx林秋琼linqiuqiong许庆美xuqingmeiqx郑晓萍zhengxiaopingqx 沈雪芳shenxuefang叶珍珍yezhenzhen陈琼娜chenqiongna沈碧玲shenbiling王贵真wangguizhen陈素霞chensuxiaqx陈子燕chenziyan白群治baiqunzhi廖银银liaoyinyin陈义辉chenyihuiqx陈淑珠chenshuzhuqx 徐素真xusuzhen李素婷lisuting林兴国linxingguoqx陈秀英chenxiuyingqx林联英linlianying周美霞zhoumeixia陈育娟chenyujuan吴填坡wutianpo章渊宗zhangyuanzong 吴水生wushuishengqx 李彩纫licairen苏清妙suqingmiao陈福成chenfuchengqx 林燕真linyanzhenqx陈友铭chenyoumingqx 王颜珍wangyanzhen 姚跃煌yaoyuehuang沈淑丽shenshuli王庆专wangqingzhuan 刘英民liuyingmin林启宗linqizong陈雪霞chenxuexiaqx王亚梅wangyamei王雪芬wangxuefen陈孝顺chenxiaoshun 翁艺云wengyiyun王玉凤wangyufengqx 叶小菁yexiao陈金泉chenjinquan 胡雪敏huxuemin林淑玲linshulingqx叶志斌yezhibin陈彬彬chenbinbin蔡玉琴caiyuqin林志卿linzq苏棉花sumh李碧珍libz高秋爽gaoqs林玉梅linym周正需zhouzx易燕娥yiye廖淑珍liaosz杨淑琼yangqq黄春振huangcz王朝阳wangcy李雪娟lixj。

学生成绩信息管理系统

学生成绩信息管理系统

题目:学生成绩信息管理系统用c语言实现学生管理系统,每个学生的信息包括:学号、姓名、性别、平时成绩、期末成绩。

系统能够完成学生信息的查询、更新、插入、删除、排序功能。

1、系统以菜单方式工作;2、学生信息录入功能(学生信息用文件保存)--输入;3、学生信息按条件查询功能—算法;●按学号查询●按姓名查询●按性别查询●按平时成绩查询●按期末成绩查询4、学生信息的删除与修改。

流程图:图1 函数功能模块图输入输出的要求(1)等候用户输入时,给出足够的提示信息,如:选择1,输入学生信息、选择2,查询学生信息。

(2)对输入值的类型,大小范围,字符串长度等,进行检查,对不合法的输入值给出出错信息。

(3)对删除数据给出方式,让用户进行确认删除。

1.概要设计1.抽象数据类型定义struct Student//创建结构体{………………………………};2.系统功能模块划分与设计(系统功能模块图)录入学生信息模块:输入1,判断学生信息是否存在,不存在输入1,继续上次输入,判断学生信息是否存在,运行结束。

输入2,判断学生信息是否存在,不存在输入2,清除数据重新输入,运行结束。

查询学生信息模块:查询学生信息,请输入选择查询方式。

输入1,按姓名查找学生信息输入2,按学号查找学生信息输入3,按性别查找学生信息输入4,按平时成绩查找学生信息输入5,按期末成绩查找学生信息运行结束删除学生信息模块:首先使用查询功能查询出需要修改/删除的记录,然后进行修改/删除操作无学生信息!请选项删除方式。

输入1,按照姓名删除输入2,按照学号删除运行结束修改,输出,排序学生信息输入4,修改学生信息,请输入需要修改的学生信息输入5,按姓名,成绩,平时成绩,期末成绩输出学生成绩。

输入6,将学生信息进行排序。

运行结束2.详细设计1、数据类型的定义struct Student//创建结构体{char num[20]; //学号char name[20]; //姓名char sex[5]; //性别int score; //平时成绩int QiMoscore; //期末成绩struct Student *next; //动态链表连接下一个结构体};2、主要模块的算法描述菜单模块通过while语句给出信息提示;清屏;绘制菜单(包含输入,查询,删除,修改,输出,排序);提示菜单选择并读入到变量;根据读入变量的值调用不同的模块函数;信息录入模块打开文件While(){ 清屏;按照提示输入各种信息;While显示各种信息;通过选择1.确认并继续 2.填写 3.修改 4.确认并返回选择四种功能;}}信息查询While(){ 通过菜单式的选择是学号查询还是姓名printf("\n----------请选择查询方式----------");printf("\n 1.按姓名查询");printf("\n 2.按学号查询");printf("\n 3.按性别查询");printf("\n 4.按平时成绩查询");printf("\n 2.按期末成绩查询");printf("\n 3.返回主菜单");printf("\n****************************\n");}如果选择学号进入学号模块通过输入学号If(学号存在继续){输出学生信息}Else 输出无此学生如果选择姓名进入姓名模块If(根据比较姓名判断学生是否存在){输出学生信息}Else 输出无此学生删除模块while( 继续删除 ){提示并读入待删除的学生的学生号;显示要删除的信息}删除成功信息修改模块输入要修改学生信息的学号:If (判断是否有此学生){ 菜单形式显示要修改的项目printf("\n1.姓名 2.学号 3.性别 4.平时成绩 5. 期末成绩 \n");printf("\n输入0可返回主页面 \n");}打开文件模块struct Student *read(){struct Student *p0, *p1, *head; FILE *fp;if ( ){return NULL;}if ( ){return 0;}do{if ( ){return NULL;}if ( ){return 0;}} while ( );}排序模块int paixu(struct Student *head)while(){while(){if(){}}}}}3.使用说明及编程体会使用说明该程序可以实现学生管理系统的信息排序、查询、更新、插入和删除。

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

接口实验报告(2011/2012学年第一学期)题目:学生成绩录入系统专业计算机网工班级09211314学生姓名李小明学生学号09211524日期2011-12-19一、实验目的1、熟悉汇编语言编程,BIOS中断调用,常用的DOS系统功能调用等2、通过本次编程,理解汇编与结构化语言的差异与优点3、通过本次试验,使我们更深入的了解计算机系统内部的有关知识,为以后的学习和系统开发奠定良好的基础。

二、实验内容与要求一个学生的信息系统包括姓名、班级、学号、成绩,编写程序实现以下功能:(1)、可以录入学生成绩(十进制形式);(2)、可以按要求(如学号或者成绩)进行排序显示(3)、可以统计不及格、60~70、70~80、80~90、90~100各分数段的人数三、需求分析1、首先,对录入的学生信息进行录入,所以需要一结构存储学生信息。

将学生信息存储在一段连续个内存空间里。

2、录入学生信息可以做成宏,格式化输入.3、对成绩进行冒泡排序,做成子函数sort,当比较的某学生成绩比其后的成绩小时,交换两学生的信息块。

4、统计:将学生成绩除以10,然后通过除数的大小查找跳转表进行跳转,对其进行统计。

四、程序流程图NY五、数据结构设计与算法实现infor struc stuname db 20 dup('$') stuid db 20 dup('$') stuclass db 20 dup('$') stuscore dw 0 infor ends62字节大小的一个结构伪指令,用于存放一个学生成绩。

输入将要的操作0~4switchcase0jmp caseed case1输入学生信息姓名为’$’case2 按成绩从大到小排序case3 根据成绩进行跳转统计case4显示学生信息stu infor 200h dup(<>) 结构数组,申请一片连续的空间,用于存放录入的学生信息table dw case0,case1,case2,case3,case4,case11dw default跳转表,用于选择所要进行的操作,具体流程见流程图table2 dw caseE,caseE,caseE,caseE,caseE,caseEdw caseD,caseC,caseB,caseA,caseA,default2以及countE dw 0countD dw 0countC dw 0countB dw 0countA dw 0跳转表table2用于根据成绩进行跳转,对每位学生的成绩除以10,用其商选择跳转表现,成绩0~59,跳转到caseE,对countE进行加1操作,其它的类似。

num dw 0 记录学生人数,num=学生人数*62num2 dw 0 辅助记录用,主要用在输出学生信息是计数grade db 0 用于记录10进制的成绩输入,并将其转换为二进制存入内存buffer dw 0 以及子函数decout 子函数decout将buffer的信息除以10直到除数为0,每次将得到余数压栈,除数为0时,信息出栈,依次打印,则将buffer的二进制转换为十进制输出。

子函数stuadd 添加学生信息,将其存入stu结构数组中,其中学生成绩以十进制输入,将其转换为二进制存入成绩中子函数crlf 打印回车换行string macro opr1 ;定义的宏,用于输出提示信息mov ah,09hmov dx,offset opr1int 21hendminput macro opr ;宏,用于输入字符串,并存在[opr]中mov dx,offset opradd dx,nummov ah,0ahint 21hcall crlfendm六、程序代码;学生成绩录入系统infor strucstuname db 20 dup('$')stuid db 20 dup('$')stuclass db 20 dup('$')stuscore dw 0string macro opr1 ;定义的宏,用于输出提示信息mov ah,09hmov dx,offset opr1int 21hendminput macro opr ;宏,用于输入字符串,并存在[opr]中mov dx,offset opradd dx,nummov ah,0ahint 21hcall crlfendmdata segmentstu infor 200h dup(<>)msg db 'what are you going to do:',0dh,0ah,'0 to exit the program',0dh,0ah,'1 to the students score',0dh,0ah,'2 to sort the scores',0dh,0ah,'3 to statics grade',0dh,0ah,'$'xmsg db '4 show the information',0dh,0ah,'$'msg1 db 'Please input students infotmation;and end with dollars ',0dh,0ah,'$' names db 'name:',0dh,0ah,'$'classes db 'class:',0dh,0ah,'$'ids db 'id:',0dh,0ah,'$'scores db 'scores(0 to 100):',0dh,0ah,'$'sorts db 'sorted by grade',0dh,0ah,'$'err db 'Error.',0dh,0ah,'$'exit db 'exit.',0dh,0ah,'$'E db '0 to 59',0dh,0ah,'$'D db '60 to 69',0dh,0ah,'$'C db '70 to 79',0dh,0ah,'$'B db '80 to 89',0dh,0ah,'$'A db '90 to 100',0dh,0ah,'$'table dw case0,case1,case2,case3,case4,case11dw defaulttable2 dw caseE,caseE,caseE,caseE,caseE,caseEdw caseD,caseC,caseB,caseA,caseA,default2cr =0dhlf =0ahnum dw 0num2 dw 0buffer dw 0count dw 0countE dw 0countD dw 0countC dw 0countB dw 0countA dw 0data endsstack segment stackdw 100h dup(?)stack endscode segmentassume ds:data,ss:stack,cs:code start:mov ax,datamov ds,axstring msgstring xmsgmov ah,1int 21hcall crlfsub al,30hcmp al,5jbe case11mov bx,5case11:cbwmov bx,axshl bx,1jmp table[bx]case0:jmp caseedcase1:;call crlfstring msg1call stuaddjmp caseedcase2:string sorts;call sortmov ax,numxor dx,dxmov bx,62div bxdec axmov cx,axloop1:mov di,cxmov bx,60loop2:mov ax,word ptr stu[bx]cmp ax,word ptr stu[bx+62]jae cont1mov count,0mov si,bxsub si,60loop3:mov ax,word ptr stu[si]xchg ax,word ptr stu[si+62]mov word ptr stu[si],axadd si,2inc countcmp count,31jnz loop3cont1:add bx,62loop loop2mov cx,diloop loop1jmp startcase3:mov countE,0mov countD,0mov countC,0mov countB,0mov countA,0mov ax,numxor dx,dxmov bx,62div bxmov cx,axmov bx,60staic:mov ax,word ptr stu[bx]mov dl,10div dlcmp al,10jbe case10mov si,11case10:cbwmov si,axshl si,1jmp table2[si] caseE:mov ax,countEinc axmov countE,axjmp caseed2 caseD:mov ax,countDinc axmov countD,axjmp caseed2 caseC:mov ax,countCinc axmov countC,axjmp caseed2 caseB:mov ax,countBinc axmov countB,axjmp caseed2 caseA:mov ax,countAinc axmov countA,axjmp caseed2 default2:string errjmp start caseed2:add bx,62loop staicstring Emov ax,countEmov buffer,axcall decoutstring Dmov ax,countDmov buffer,axcall decoutstring Cmov ax,countCmov buffer,axcall decoutstring Bmov ax,countBmov buffer,axcall decoutstring Amov ax,countAmov buffer,axcall decoutjmp startcase4:mov cx,numnext:string namesmov ah,09hmov dx,offset stu.stuname+2add dx,num2int 21hcall crlfstring idsmov ah,09hmov dx,offset stu.stuid+2add dx,num2int 21hcall crlfstring classesmov ah,09hmov dx,offset stu.stuclass+2add dx,num2int 21hcall crlfstring scoresmov dx,offset stu.stuscoreadd dx,num2mov si,dxmov ax,[si]mov buffer,axcall decoutadd num2,62sub cx,62call crlfjnz nextjmp lp2default:string errlp2:jmp startcaseed:string exitmov ax,4c00hint 21hstuadd proc nearpush axpush dxpush bxpush sipush cxlp: string namesinput stu.stunamemov si,dxcmp byte ptr[si+2],'$'jz lp2string idsinput stu.stuidstring classesinput stu.stuclassstring scoresmov grade,0lp4:mov bl,10mov ah,01hint 21hcmp al,0dhjz lp3sub al,30hmov al,grademul bladd al,bhmov grade,aljmp lp4lp3:mov al,gradeand ax,00ffhmov dx,offset stu.stuscoreadd dx,nummov si,dxmov [si],axmov buffer,axcall decoutadd num,62jmp lppop cxpop sipop bxpop dxpop axretstuadd endpcrlf proc nearpush axpush dxmov dl,crmov ah,2int 21hmov dl,lfmov ah,2int 21hpop dxpop axretcrlf endpdecout proc nearpush axpush bxpush dxpush simov bl,10mov ax,bufferxor cx,cxlp5: div blmov dx,axcbwpush dxinc cxor al,aljnz lp5sb: pop bxmov dl,bhadd dl,30hmov ah,2int 21hloop sbcall crlfpop sipop dxpop cxpop bxpop axretdecout endpcode endsend start六、运行结果截图进入程序,选择要进行的操作,选择1,添加学生信息输入学生信息并以姓名为‘$’结束对刚刚输入成绩进行排序显示学生信息显示统计信息七、所遇问题及解决方法由于以前一直用的是结构化编程语言,初次接触到汇编感觉程序结构很乱,不易阅读。

相关文档
最新文档