班主任管理系统
❶ 推荐一套适应中学学校使用的OA 及内容管理系统,最好带班级教学管理功能的。
加强学校德育管理工作 德育是学校实施素质教育的重要组成部分。它贯穿于学校教育教学的全过程和学生日常生活的各个方面,渗透在智育、体育、美育和劳动教育中。对青少年学生健康成长和学校工作起着导向、动力和保证的作用。小学德育是社会主义精神文明建设的奠基工程,是提高全民族思想道德素质的奠基性教育,是培养造就中华人民共和国合格公民的起点。小学德育是基础教育,它要在德智体诸方面为学生的成长与发展打好基础,要为学生步入社会打好做人的基础。同时,《中共中央、国务院关于深化教育改革,全面推进素质教育的决定》指出:"实施素质教育,必须把德育、智育、体育、美育等有机地统一在教育活动的各个环节中。学校教育不仅抓好智育,更要重视德育,还要加强体育、美育、劳动技术教育和社会实践,使诸方面教育相互渗透、协调发展,促进学生的全面发展和健康成长。因此,学校必须把德育工作摆在重要位置,并认真学习德育工作政策文件,提高认识,树立教书育人,管理育人,服务育人的思想,为了确保学校德育工作的顺利实施,近年来,我们加强了学校德育管理工作的研究,其主要做法是: 一、健全学校德育管理系统。 进行学校德育管理,需要有一健全的组织机构。我们建立了校、处、班三级管理网络,明确德育管理的职责。由校长、德育主任、大队辅导员和班主任组成德育领导小组,从校长到最基层的班,可形成一种垂直的联系并沟通教导处、总务处之间的横向联系,这就使学校的德育工作从组织系统方面做到了上下左右联系密切,指挥灵活,步调一致,信息畅通,充分发挥德育管理的效能,从组织上保证学校德育工作的实施。 二、明确责任,调动每位德育工作者的积极性。 发挥德育组织作用必须明确学校各类人员德育工作职责,调动广大德育工作者的积极性、主动性和创造性,才能使德育工作落实。要调动全校教职工的积极性,首先应调动管理者育人的积极性。学好《小学德育纲要》、《中小学德育工作规程》以及党和国家的方针政策等,统一认识,一致行动,建立和落实德育工作目标及工作步骤,使他们既明确自己的责任,又有一定的职权范围和利益。其次应调动教书育人者的积极性。一是调动班主任教师加强班级管理的积极性。因为班级是学校教育教学的基本单位,班主任是班级工作的组织者和指导者,是学校贯彻教育方针、促进学生全面健康成长的骨干力量,是学校德育工作的骨干。 为调动他们育人的积极性,学校制定了班主任工作职责、考核细则,以及高于国家标准的班主任津贴,对班主任工作出色的同志在评先、评职、晋级等方面优先,如评职指标受限时,确有够条件的班主任,实行校内低评高聘的政策,并与工资挂勾,大大调动了班主任的积极性,使我校班主任队伍稳定。二是调动各科教师教书育人的积极性。学科教师是不容忽视的德育工作者,学校提出要在学科教学中以知识为载体渗透德育。爱国主义教育是德育的主旋律,各科进行爱国主义教育都是同本学科的知识紧密结合在一起的,这就增强了爱国主义教育的说服力和感染力,能给学生深刻的影响,形成强大的内化力量。各学科德育以知识为载体,能实现知识与道德、教学与教育、教书与育人的统一效果。学校制定了科任教师教书育人的职责,以及配合班主任抓好班级工作的具体要求,并对他们的工作在评选巴蜀好教师工作中有所体现,同时也把他们此项工作的好坏纳入每期末的工作质量评价中。第三,调动服务者育人的积极性。学校的后勤人员在学校德育工作中有其重要的作用,特别是在营造校园育人环境方面,需要他们有构思、有设计、有计划地实施。学校制定了有关服务育人的职责和制度,期末评价将成绩显著的同志评为巴蜀好职工,进行奖励。学校在德育管理中,重视了对各类人员的管理,运用激励性原则,调动了各方人士的积极性,达成了育人共识,形成了合力,充分发挥了学校各类人员的聪明才智,使学校德育工作取得显著成效。 三、更新观念,不断提高德育工作者的自身素质。 未来社会的发展对基础教育提出了新的挑战,面对新世纪的挑战,面对新世纪对人才素质的要求,我们认为应更新教育观念。更新观念重点体现在一个重视、两个克服上,即学校教育不仅抓好智育,更要重视德育;改进德育工作的方式方法,克服形式主义倾向;更新人才观念,克服用一个模子培养人才的倾向。必须树立为受教育者今后的终生学习打好基础的观念,树立为受教育者成为一个合格公民的观念,按李岚清同志提出的"六个学会"教育、培养、训练学生,即教育、培养、训练学生学会做人、学会求知、学会劳动和创造,学会生活,学会审美,学会健体。 同时还应根据社会主义市场经济对于人才素质的要求,确立人在经济社会生产中的主体地位,要求给人的个性和人格以充分的尊重,使人的个性和创造才能获得充分的发展。德育工作者的着眼点,应放在作为教育主体的学生身上,致力于促进学生个性的全面发展和人格的健全,实现人格个性的社会化。为此,必须确立以学生为主体,以发展健康的个性和健全的人格为着眼点的现代德育观。 要做好小学德育工作,必须提高学校干部和教师的素质。学校重视对教师的培训,通过教育理论学习,举办专题讲座,加强德育科研等形式,不断提高德育工作者自身素质。德育工作者是学校精神文明建设的主要传播者和建设者,要切实履行教书育人的职责。因为,教师思想道德水平的高低对学生的德育工作起着重要作用,教师职业道德的好坏是学校精神文明程度的一个重要标志。因此,必须加强教师职业道德教育,认真落实《中小学教师职业道德规范》的要求,树立德育工作者的良好形象。 德育科研是德育工作改革和发展的标志,是德育工作科学化的保证,也是提高德育工作者自身素质的有效途径。我们应针对新形势下青少年成长的特点,进一步加强以下六个方面的教育和研究,即:爱国主义教育、良好行为习惯教育、艰苦奋斗教育、适应社会生活能力的教育、心理健康教育和国防教育。我校多年来重视德育工作的研究和实践,参与了市、国家级科研实验,如"小学生良好行为习惯的培养与评价"、"小学生思想品德评价"及"以红岩精神为主导的小学生责任感启蒙教育"等。通过科研实验培养、锻炼、提高了干部、教师队伍素质,大家思想解放,努力实践,勇于探索,获得了丰硕成果。四、加强校园环境建设,充分发挥环境的育人作用。 校园环境建设是学校精神文明建设的窗口,同时又是学校日常德育的载体。优美的环境氛围,高雅的校园文化,给人以奋进向上的力量,学校应发挥环境育人的作用,创设一个"时时爱教育,处处受感染"的德育环境。我校有健全的教育阵地,如:宣传栏、黑板报、广播站、阅览室、少先队活动室等,有统一用磁砖烧制的中国地图和世界地图,校风、教风、学风以及《小学生日常行为规范》、《小学生守则》等标志,让每一堵墙壁成为无声的语言,在潜移默化中,向学生进行爱国主义和良好行为习惯教育。学校长期坚持不懈地开展升旗仪式和系列化的国旗下的讲演,丰富多彩的巴蜀艺术团活动和兴趣小组活动并形成了学校"艺术节"、"科技节"、"体育节"的大型活动传统。这些活动都充分体现了学生参与的全体性、教育目的的素质性、教育形式的多样性,使学生在这样的教育环境中,陶冶情操,健全人格,促进学生实践能力和创新精神的发展。 五、树立整体观念,加强综合研究,强调整体效益。 当今社会,只靠学校教育难以完成培养下一代新人的任务,要用大教育观思想来指导小学德育研究。要树立整体观念,加强综合研究,要着眼在学校教育教学整体改革中,加强德育;着眼德育研究的过程和成果转化,这才有利于学校全面贯彻党的教育方针,有利于全面提高学生素质。有利于全面落实德育工作目标。 系统论的核心是"整体性原则"。小学教育是一个有机的整体,学校中诸教育因素要互相配合,发挥自身的个性优势,形成整体功能,树立整体观念。从各育之间的关系看,德育与其它几育互相促进,相辅相成,构成全面教育的整体。从学生本身来看,他们的各种个性、品质是互相联系、互相制约的。从学校实施德育的途径来看,诸途径各自发挥独有的教育功能,互相配合,互为补充,形成有机的整体。从大教育观的高度看,学校教育、家庭教育、社会教育也是一个整体,要协调一致,密切配合,做到学校、家庭、社会"三结合"的一致性教育。 实施证明:在这样的指导思想下,我们不断实践,不断总结,大大提高了学校整体办学质量和办学效益,取得显著成效。学校先后获得全国红旗大队,四川省校风示范学校,重庆市文明礼仪示范学校,重庆市创造教育实验学校,全国德育实验学校等殊誉。在这样的指导思想下,大大促进了学生全面和谐、生动活泼主动地发展。据不完全统计,学生个人获得市级奖630人次,省级奖215人次,国家级奖110人次,国际奖83人次。其中,一名学生获国家标徽设计专利,两名学生获得"全国故事大王"称号,两名学生在全国首创出版了个人诗画专集,九名学生获国家二级运动员称号,一名学生代表我国少年儿童出席了在日本举行的第五届亚太地区儿童福冈大会,一名学生3次举办了个人画展,成为世界书画家总会永久会员,在北京人民大会堂受到中央领导亲自接见。 在这样的指导思想下,大大加强了学校、家庭、社区的联系。家长走进了学校,学校走向了社会,并受到家长和社区的好评。他们在给学校的反馈意见中说:通过家长开放日教师的汇报、教育教学活动的展示,使他们深受教育和感动,教师寓教育于教学之中,不仅对学生进行知识传授,同时也进行思想教育,我们认为这不仅仅是成功,而且是对学生、对家长的教益都菲浅。参加社区活动,街道分管教育的领导,多次在会上表扬学校与街道配合好,学生参加街道活动热情高,完成任务好,他们夸奖巴蜀小学有良好的校风,学生素质高。今后,我们要进一步结合小学德育工作中的新情况、新问题,结合少年儿童的年龄特点,加强教育理论的学习,不断提高教师的科研意识,为培养德智体美全面发展的建设者和接班人而不懈努力。
❷ 怎么用Python做班级管理系统
管理系统的出现对于培训机构来说是一场变革,他不仅能帮助班主任管理好班级更能实现机构信息化管理,举个例子,像浪腾的管理软件可以帮助学校提升教学质量、降低学员流失率、稳住员工忠诚度还能使机构考勤,排课等方面简单效率化,当然管理软件可以帮助学校的远远不止这些,具体你可以自己再了解一下
❸ c语言--班级管理系统
#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
#define LEN sizeof(struct scorenode)
#define DEBUG
#include <string.h>
struct scorenode
{int number;/*学号*/
char name[10];/*姓名*/
float yuwen;/*语文成绩*/
float yingyu;/*英语成绩*/
float shuxue;/*数学成绩 */
struct scorenode *next;
};
typedef struct scorenode score;
int n,k;/*n,k为全局变量,本程序中的函数均可以使用它*/
/*==============================================================================================*/
score *creat2311(void)
/*函数creat2311,功能:创建链表,此函数带回一个指向链表头的指针*/
{
score*head;
score *p1,*p2,*p3,*max;
int i,j;
float fen;
char t[10];
n=0;
p1=p2=p3=(score *)malloc(LEN);head=p3; /*开辟一个新单元*/
printf("请输入学生资料,输0退出!\n");
repeat1: printf("请输入学生学号(学号应大于0):");/*输入学号,学号应大于0*/
scanf("%d",&p1->number);
while(p1->number<0)
{getchar();
printf("输入错误,请重新输入学生学号:");
scanf("%d",&p1->number);}
/*输入学号为字符或小于0时,程序报错,提示重新输入学号*/
if(p1->number==0)
goto end;/*当输入的学号为0时,转到末尾,结束创建链表*/
else
{
p3=head;
if(n>0)
{for(i=0;i<n;i++)
{if(p1->number!=p3->number)
p3=p3->next;
else
{printf("学号重复,请重输!\n");
goto repeat1;
/*当输入的学号已经存在,程序报错,返回前面重新输入*/
}
}
}
}
printf("请输入学生姓名:");
scanf("%s",&p1->name);/*输入学生姓名*/
printf("请输入语文成绩(0~100):");/*输入语文成绩,成绩应在0-100*/
scanf("%f",&p1->yuwen);
while(p1->yuwen<0||p1->yuwen>100)
{getchar();
printf("输入错误,请重新输入语文成绩");/*输入错误,重新输入语文成绩直到正确为止*/
scanf("%f",&p1->yuwen);}
printf("请输入英语成绩(0~100):");/*输入英语成绩,成绩应在0-100*/
scanf("%f",&p1->yingyu);
while(p1->yingyu<0||p1->yingyu>100)
{getchar();
printf("输入错误,请重新输入英语成绩");/*输入错误,重新输入英语成绩直到正确为止*/
scanf("%f",&p1->yingyu);}
printf("请输入数学成绩(0~100):");/*输入数学成绩,成绩应在0-100*/
scanf("%f",&p1->shuxue);
while(p1->shuxue<0||p1->shuxue>100)
{getchar();
printf("输入错误,请重新输入数学成绩");
scanf("%f",&p1->shuxue);}/*输入错误,重新输入数学成绩直到正确为止*/
head=NULL;
while(p1->number!=0)
{
n=n+1;
if(n==1)
head=p1;
else
p2->next=p1;
p2=p1;
p1=(score *)malloc(LEN);
printf("请输入学生资料,输0退出!\n");
repeat2:printf("请输入学生学号(学号应大于0):");
scanf("%d",&p1->number);/*输入学号,学号应大于0*/
while(p1->number<0)
{getchar();
printf("输入错误,请重新输入学生学号:");
scanf("%d",&p1->number);}
/*输入学号为字符或小于0时,程序报错,提示重新输入学号*/
if(p1->number==0)
goto end;/*当输入的学号为0时,转到末尾,结束创建链表*/
else
{
p3=head;
if(n>0)
{for(i=0;i<n;i++)
{if(p1->number!=p3->number)
p3=p3->next;
else
{printf("学号重复,请重输!\n");
goto repeat2;
/*当输入的学号已经存在,程序报错,返回前面重新输入*/
}
}
}
}
printf("请输入学生姓名:");
scanf("%s",&p1->name);/*输入学生姓名*/
printf("请输入语文成绩(0~100):");
scanf("%f",&p1->yuwen);/*输入语文成绩,成绩应在0-100*/
while(p1->yuwen<0||p1->yuwen>100)
{getchar();
printf("输入错误,请重新输入语文成绩");
scanf("%f",&p1->yuwen);}/*输入错误,重新输入语文成绩直到正确为止*/
printf("请输入英语成绩(0~100):");
scanf("%f",&p1->yingyu);/*输入英语成绩,成绩应在0-100*/
while(p1->yingyu<0||p1->yingyu>100)
{getchar();
printf("输入错误,请重新输入英语成绩");
scanf("%f",&p1->yingyu);}/*输入错误,重新输入英语成绩直到正确为止*/
printf("请输入数学成绩(0~100):");
scanf("%f",&p1->shuxue);/*输入数学成绩,成绩应在0-100*/
while(p1->shuxue<0||p1->shuxue>100)
{getchar();
printf("输入错误,请重新输入数学成绩");
scanf("%f",&p1->shuxue);}/*输入错误,重新输入数学成绩直到正确为止*/
}
end: p1=head;
p3=p1;
for(i=1;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
max=p1;
p1=p1->next;
if(max->number>p1->number)
{
k=max->number;
max->number=p1->number;
p1->number=k;
/*交换前后结点中的学号值,使得学号大者移到后面的结点中*/
strcpy(t,max->name);
strcpy(max->name,p1->name);
strcpy(p1->name,t);
/*交换前后结点中的姓名,使之与学号相匹配*/
fen=max->yuwen;
max->yuwen=p1->yuwen;
p1->yuwen=fen;
/*交换前后结点中的语文成绩,使之与学号相匹配*/
fen=max->yingyu;
max->yingyu=p1->yingyu;
p1->yingyu=fen;
/*交换前后结点中的英语成绩,使之与学号相匹配*/
fen=max->shuxue;
max->shuxue=p1->shuxue;
p1->shuxue=fen;
/*交换前后结点中的数学成绩,使之与学号相匹配*/
}
}
max=head;p1=head;/*重新使max,p指向链表头*/
}
p2->next=NULL;/*链表结尾*/
printf("输入的学生数为:%d个!\n",n);
return(head);
}
/*==============================================================================================*/
/*==============================================================================================*/
score *load2311(score *head)
/*函数load2311,功能:从文件读入学生记录*/
{ score *p1,*p2;
int m=0;
char filepn[10];
FILE *fp;
printf("请输入文件路径及文件名:");
scanf("%s",filepn);/*输入文件路径及名称*/
if((fp=fopen(filepn,"r+"))==NULL)
{
printf("不能打开文件!\n");
return 0;
}
fscanf(fp," 考试成绩管理系统 \n");
fscanf(fp,"作者:周纯钢 班级: 信息023 学号:11 \n");
fscanf(fp,"-----------------------------------------\n");
fscanf(fp,"|学号\t|姓名\t|语文\t|英语\t|数学\t|\n");
fscanf(fp,"-----------------------------------------\n");/*读入表格域*/
printf(" 考试成绩管理系统 \n");
printf(" 作者:周纯钢 班级: 信息023 学号:11 \n");
printf("-----------------------------------------\n");
printf("|学号\t|姓名\t|语文\t|英语\t|数学\t|\n");
printf("-----------------------------------------\n");/*打印表格域*/
m=m+1;
if(m==1)
{
p1=(score *)malloc(LEN); /*开辟一个新单元*/
fscanf(fp,"%d%s%f%f%f",&p1->number,p1->name,&p1->yuwen,&p1->yingyu,&p1->shuxue);
printf("|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|\n",p1->number,p1->name,p1->yuwen,p1->yingyu,p1->shuxue);
/*文件读入与显示*/
head=NULL;
do
{
n=n+1;
if(n==1) head=p1;
else p2->next=p1;
p2=p1;
p1=(score *)malloc(LEN); /*开辟一个新单元*/
fscanf(fp,"%d%s%f%f%f\n",&p1->number,p1->name,&p1->yuwen,&p1->yingyu,&p1->shuxue);
printf("|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|\n",p1->number,p1->name,p1->yuwen,p1->yingyu,p1->shuxue);
/*文件读入与显示*/
}while(!feof(fp));
p2->next=p1;
p1->next=NULL;
n=n+1;
}printf("-----------------------------------------\n");/*表格下线*/
fclose(fp);/*结束读入,关闭文件*/
return (head);
}
/*==============================================================================================*/
/*==============================================================================================*/
score *add2311(score *head,score *stu)
/*函数add2311,功能:追加学生资料,并且将所有学生资料按学号排序*/
{
score *p0,*p1,*p2,*p3,*max;
int i,j;
float fen;
char t[10];
p3=stu=(score *)malloc(LEN);/*开辟一个新单元*/
printf("\n输入要增加的学生的资料!");
repeat4: printf("请输入学生学号(学号应大于0):");
scanf("%d",&stu->number);
/*输入学号,学号应大于0*/
while(stu->number<0)
{getchar();
printf("输入错误,请重新输入学生学号:");
scanf("%d",&stu->number);}/*输入错误,重新输入学号*/
/******************************************************/
if(stu->number==0)
goto end2;/*当输入的学号为0时,转到末尾,结束追加*/
else
{
p3=head;
if(n>0)
{for(i=0;i<n;i++)
{if(stu->number!=p3->number)
p3=p3->next;
else
{printf("学号重复,请重输!\n");
goto repeat4;
/*当输入的学号已经存在,程序报错,返回前面重新输入*/
}
}
}
}
/******************************************************/
printf("输入学生姓名:");
scanf("%s",stu->name); /*输入学生姓名*/
printf("请输入语文成绩(0~100):");
scanf("%f",&stu->yuwen); /*输入语文成绩,成绩应在0-100*/
while(stu->yuwen<0||stu->yuwen>100)
{getchar();
printf("输入错误,请重新输入语文成绩");
scanf("%f",&stu->yuwen);} /*输入错误,重新输入语文成绩直到正确为止*/
printf("请输入英语成绩(0~100):");
scanf("%f",&stu->yingyu);/*输入英语成绩,成绩应在0-100*/
while(stu->yingyu<0||stu->yingyu>100)
{getchar();
printf("输入错误,请重新输入英语成绩");
scanf("%f",&stu->yingyu);}/*输入错误,重新输入英语成绩直到正确为止*/
printf("请输入数学成绩(0~100):");
scanf("%f",&stu->shuxue);/*输入数学成绩,成绩应在0-100*/
while(stu->shuxue<0||stu->shuxue>100)
{getchar();
printf("输入错误,请重新输入数学成绩");
scanf("%f",&stu->shuxue);}/*输入错误,重新输入数学成绩直到正确为止*/
p1=head;
p0=stu;
if(head==NULL)
{head=p0;p0->next=NULL;}/*当原来链表为空时,从首结点开始存放资料*/
else/*原来链表不为空*/
{
if(p1->next==NULL)/*找到原来链表的末尾*/
{
p1->next=p0;
p0->next=NULL;/*将它与新开单元相连接*/
}
else
{
while(p1->next!=NULL)/*还没找到末尾,继续找*/
{
p2=p1;p1=p1->next;
}
p1->next=p0;
p0->next=NULL;
}
}
n=n+1;
p1=head;
p0=stu;
for(i=1;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
max=p1;
p1=p1->next;
if(max->number>p1->number)
{
k=max->number;
max->number=p1->number;
p1->number=k;
/*交换前后结点中的学号值,使得学号大者移到后面的结点中*/
strcpy(t,max->name);
strcpy(max->name,p1->name);
strcpy(p1->name,t);
/*交换前后结点中的姓名,使之与学号相匹配*/
fen=max->yuwen;
max->yuwen=p1->yuwen;
p1->yuwen=fen;
/*交换前后结点中的语文成绩,使之与学号相匹配*/
fen=max->yingyu;
max->yingyu=p1->yingyu;
p1->yingyu=fen;
/*交换前后结点中的英语成绩,使之与学号相匹配*/
fen=max->shuxue;
max->shuxue=p1->shuxue;
p1->shuxue=fen;
/*交换前后结点中的数学成绩,使之与学号相匹配*/
}
}
max=head;p1=head;/*重新使max,p指向链表头*/
} end2:
printf("现在的学生数为:%d个!\n",n);
return(head);
}
/*==============================================================================================*/
/*==============================================================================================*/
score *search2311(score *head)
/*函数search2311,功能:查询学生成绩*/
{int number;
score *p1,*p2;
printf("输入要查询的学生的学号,");
scanf("%d",&number);
while(number!=0)
{
if(head==NULL)
{printf("\n没有任何学生资料!\n");return(head);}
printf("-----------------------------------------\n");
printf("|学号\t|姓名\t|语文\t|英语\t|数学\t|\n");
printf("-----------------------------------------\n");/*打印表格域*/
p1=head;
while(number!=p1->number&&p1->next!=NULL)
{p2=p1;p1=p1->next;}
if(number==p1->number)
{printf("|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|\n",p1->number,p1->name,p1->yuwen,p1->yingyu,p1->shuxue);
printf("-----------------------------------------\n");}/*打印表格域*/
else
printf("%d不存在此学生!\n",number);
printf("输入要查询的学生的学号,");
scanf("%d",&number);
}
printf("已经退出了!\n");
return(head);}
/*==============================================================================================*/
/*==============================================================================================*/
score *del2311(score *head)/*函数del2311,功能:删除学生资料*/
{
score *p1,*p2;
int number;
printf("输入要删除的学生的学号(输入0时退出):");
scanf("%d",&number);
getchar();
while(number!=0)/*输入学号为0时退出*/
{
if(head==NULL)
{
printf("\n没有任何学生资料!\n");
return(head);
}
p1=head;
while(number!=p1->number&&p1->next!=NULL)
/*p1指向的不是所要找的首结点,并且后面还有结点*/
{
p2=p1;p1=p1->next;
} /*p1后移一个结点*/
if(number==p1->number)
/*找到了*/
{
if(p1==head)
head=p1->next;
/*若p1指向的是首结点,把地二个结点地址赋予head*/
else
p2->next=p1->next;
/*否则将下一个结点地址 赋给前一结点地址*/
printf("删除:%d\n",number);n=n-1;
}
else
printf("%d不存在此学生!\n",number);
/*找不到该结点*/
printf("输入要删除的学生的学号:");
scanf("%d",&number);
getchar();
}
#ifdef DEBUG
printf("已经退出了!\n");
#endif
printf("现在的学生数为:%d个!\n",n);
return(head);
}
/*==============================================================================================*/
/*==============================================================================================*/
void print2311(score *head)
/*函数print2311,功能:显示学生成绩*/
{
score *p;
if(head==NULL)
{printf("\n没有任何学生资料!\n");}
else
{printf("%d\n",n);
printf("-----------------------------------------\n");
printf("|学号\t|姓名\t|语文\t|英语\t|数学\t|\n");
printf("-----------------------------------------\n");/*打印表格域*/
p=head;
do
{printf("|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|\n",p->number,p->name,p->yuwen,p->yingyu,p->shuxue);
printf("-----------------------------------------\n");/*打印表格域*/
p=p->next;}while (p!=NULL);/*打印完成了*/
}
}
/*==============================================================================================*/
/*==============================================================================================*/
score *statistics2311(score *head)
/*函数statistics2311,功能:统计学生成绩*/
{
float sum1=0,sum2=0,sum3=0,ave1=0,ave2=0,ave3=0,max=0,min;
score *p;
int x,y=0,i=0;
p=head;
printf("1个人总分和平均分\t2单科平均分\t3总分最高分\t4总分最低分\n");
scanf("%d",&x);
getchar();
switch(x)
/*用switch语句实现功能选择*/
{
case 1: if(head==NULL)
{printf("\n没有任何学生资料!\n");return(head);}/*链表为空*/
else
{
printf("---------------------------------------------------------\n");
printf("|学号\t|姓名\t|语文\t|英语\t|数学\t|总分\t|平均分\t|\n");
printf("---------------------------------------------------------\n");/*打印表格域*/
while(p!=NULL)
{
sum1=p->yuwen+p->yingyu+p->shuxue; /*计算个人总分*/
ave1=sum1/3;/*计算个人平均分*/
printf("|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|%.1f\t|%.1f\t|\n",p->number,p->name,p->yuwen,p->yingyu,p->shuxue,sum1,ave1);
/*打印结果*/
printf("---------------------------------------------------------\n");/*打印表格域*/
p=p->next;}
}
return(head); break;
case 2: if(head==NULL)
{printf("\n没有任何学生资料!\n");return(head);}/*链表为空*/
while(p!=NULL)
{
sum1=sum1+p->yuwen;
sum2=sum2+p->yingyu;
sum3=sum3+p->shuxue;/*计算总分*/
y=y+1;
ave1=sum1/y;
ave2=sum2/y;
ave3=sum3/y;/*计算平均分*/
p=p->next;/*使p指向下一个结点*/
}
printf("语文平均分是%.1f\n",ave1);
printf("英语平均分是%.1f\n",ave2);
printf("数学平均分是%.1f\n",ave3);/*打印结果*/
return(head); break;
case 3:
if(head==NULL)
{printf("\n没有任何学生资料!\n");return(head);}/*链表为空*/
max=p->yuwen+p->yingyu+p->shuxue;
while(i<n)
{
i=i+1;
sum1=p->yuwen+p->yingyu+p->shuxue; /*计算个人总分*/
if(max<sum1)
max=sum1;
p=p->next;
}
printf("总分最高分:%.1f",max);
printf("\n");
return(head); break;
case 4: if(head==NULL)
{printf("\n没有任何学生资料!\n");return(head);}/*链表为空*/
while(p!=NULL)
{
min=p->yuwen+p->yingyu+p->shuxue;
while(p!=NULL)
{sum2=p->yuwen+p->yingyu+p->shuxue;
if(min>sum2)
min=sum2;
p=p->next;
}
}
printf("总分最低分:%.1f",min);
printf("\n");
return(head); break;
default :printf("输入错误,请重试!\n");
}
return(head);
}
/*==============================================================================================*/
/*==============================================================================================*/
save2311(score *p1)
/*函数save2311,功能:保存学生的资料*/
{
FILE *fp;
char filepn[20];/*用来存放文件保存路径以及文件名*/
printf("请输入文件路径及文件名:");
scanf("%s",filepn);
if((fp=fopen(filepn,"w+"))==NULL)
{
printf("不能打开文件!\n");
return 0;
}
fprintf(fp," 考试成绩管理系统 \n");
fprintf(fp," 作者:周纯钢 班级: 信息023 学号:11 \n");
fprintf(fp,"-----------------------------------------\n");
fprintf(fp,"|学号\t|姓名\t|语文\t|英语\t|数学\t|\n");
fprintf(fp,"-----------------------------------------\n");
/*打印表格域*/
while(p1!=NULL)
{
fprintf(fp,"%d\t%s\t%.1f\t%.1f\t%.1f\t\n",p1->number,p1->name,p1->yuwen,p1->yingyu,p1->shuxue);
p1=p1->next;/*下移一个结点*/
}
fclose(fp);
printf("文件已经保存!\n");
return 0;
}
/*==============================================================================================*/
/*==============================================================================================*/
score *taxis2311(score *head)
/*定义排序函数。此函数带回一个指向链表头的指针*/
{ score *p,*max;
int i,j,x;
float fen;
char t[10];
if(head==NULL)
{printf("\n没有任何学生资料,请先建立链表!\n");return(head);}/*链表为空*/
max=p=head;
for(i=0;i<80;i++)
printf("*");
printf("1按学生学号排序\t2按学生姓名排序\t3按语文成绩排序\n");
printf("4按英语成绩排序\t5按数学成绩排序\t\n");
for(i=0;i<80;i++)
printf("*");
printf("请选择操作:");
scanf("%d",&x);/*选择操作*/
getchar();
switch(x) /*用switch语句实现功能选择*/
{case 1 :
for(i=1;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
max=p;
p=p->next;
if(max->number>p->number)
{
k=max->number;
max->number=p->number;
p->number=k;
/*交换前后结点中的学号值,使得学号大者移到后面的结点中*/
strcpy(t,max->name);
strcpy(max->name,p->name);
strcpy(p->name,t);
/*交换前后结点中的姓名,使之与学号相匹配*/
fen=max->yuwen;
max->yuwen=p->yuwen;
p->yuwen=fen;
/*交换前后结点中的语文成绩,使之与学号相匹配*/
fen=max->yingyu;
max->yingyu=p->yingyu;
p->yingyu=fen;
/*交换前后结点中的英语成绩,使之与学号相匹配*/
fen=max->shuxue;
max->shuxue=p->shuxue;
p->shuxue=fen;
/*交换前后结点中的数学成绩,使之与学号相匹配*/
}
}
max=head;p=head;/*重新使max,p指向链表头*/
}
print2311(head);break;/*打印值排序后的链表内容*/
case 2 : for(i=1;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
max=p;
p=p->next;
if(strcmp(max->name,p->name)>0)/*strcmp=>字符串比较函数*/
{
strcpy(t,max->name);/*strcpy=>字符串复制函数*/
strcpy(max->name,p->name);
strcpy(p->name,t);
/*交换前后结点中的姓名,使得姓名字符串的值大者移到后面的结点中*/
k=max->number;
max->number=p->number;
p->number=k;
/*交换前后结点中的学号值,使之与姓名相匹配*/ fen=max->yuwen;
max->yuwen=p->yuwen;
p->yuwen=fen;
/*交换前后结点中的语文成绩,使之与姓名相匹配*/
fen=max->yingyu;
max->yingyu=p->yingyu;
p->yingyu=fen;
/*交换前后结点中的英语成绩,使之与姓名相匹配*/
fen=max->shuxue;
max->shuxue=p->shuxue;
p->shuxue=fen;
/*交换前后结点中的数学成绩,使之与姓名相匹配*/
}
}
p=head;
max=head;
}
print2311(head);
break;
case 3 : for(i=1;i<n;i++)
{for(j=i+1;j<=n;j++)
{max=p;
p=p->next;
if(max->yuwen>p->yuwen)
{
fen=max->yuwen;
max->yuwen=p->yuwen;
p->yuwen=fen;
/*交换前后结点中的语文成绩,使得语文成绩高者移到后面的结点中*/
k=max->number;
max->number=p->number;
p->number=k;
/*交换前后结点中的学号,使之与语文成绩相匹配*/
strcpy(t,max->name);
strcpy(max->name,p->name);
strcpy(p->name,t);
/*交换前后结点中的姓名,使之与语文成绩相匹配*/
fen=max->yingyu;
max->yingyu=p->yingyu;
p->yingyu=fen;
/*交换前后结点中的英语成绩,使之与语文成绩相匹配*/
fen=max->shuxue;
max->shuxue=p->shuxue;
p->shuxue=fen;
/*交换前后结点中的数学成绩,使之与语文成绩相匹配*/
}
}
p=head;
max=head;
}
print2311(head);
break;
case 4 : for(i=1;i<n;i++)
{for(j=i+1;j<=n;j++)
{max=p;
p=p->next;
if(max->yingyu>p->yingy
❹ 设计一个实用的班级管理系统程序.
//****************************************************************************
//**** 说明:密码所在的文件位于c盘,文件名为1.txt。
//**** 学生基本信息最好保存在C盘,文件名为student.txt。
//****************************************************************************
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define N 3
struct student
{
char name[10];
char no[10];
char sex;
int age;
char bnote[100];
};
void print(bool menu)//打印基本信息
{
if (!menu)
{
printf("学生基本信息录入 ,press 1\n");
}
else
{
printf("学生基本信息显示 ,press 2\n");
printf("学生基本信息保存 ,press 3\n");
printf("学生基本信息删除 ,press 4\n");
printf("学生基本信息修改 ,press 5\n");
printf("学生基本信息查询 ,press 6\n");
}
printf("退出学生信息系统 ,press 7\n");
}
bool Check(char pas[6])//密码验证
{
FILE *fp;
char ch;
char a[7]={" "};
int i = 0;
if ((fp=fopen("c:\\1.txt","r"))==NULL)
{
printf("打开文件失败!\n");
exit(0);
}
ch=fgetc(fp);
while (ch!=EOF&&i<6)
{
a[i] = ch;
ch=fgetc(fp);
i++;
}
a[6] = '\0';
if (!strcmp(pas,a))
{
return true;
}
else
{
printf("密码错误\n");
return false;
}
fclose(fp);
}
void GetInfo(struct student *arr,int n)//学生基本信息录入
{
for (int i = 0;i<n;i++)
{
printf("输入学生的基本信息:name no sex age bnote\n");
scanf("%s %s %c %d %s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);
}
}
void Display(struct student* arr,int n)//学生基本信息显示
{
printf("学生信息: Name NO Sex age Note\n");
for (int i = 0;i<n;i++)
{
printf("%15s%15s%15c%15d%15s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);
}
}
void Save(struct student* arr,int n)//学生基本信息保存,保存在c:\\student.txt
{
FILE * fp;
fp= fopen("c:\\student.txt","w+");
if (fp == NULL)
{
printf("文件不存在!\n");
exit(0);
}
fwrite(arr,sizeof(struct student)*n,n,fp);
fclose(fp);
}
void Modfiy(struct student* arr,int n)//学生基本信息修改
{
char number[10];
bool flag=false;
char pass[6];
printf("请输入密码:\n");
scanf("%s",pass);
if (Check(pass))
{
printf("修改学生信息:\n");
printf("请输入学号:\n");
scanf("%s",number);
for (int i =0;i<n;i++)
{
if (!strcmp(number,arr[i].no))
{
printf("infor: name no sex age note\n");
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
printf("please input information:\n");
scanf("%s%s%c%d%s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);
Save(arr,n);
flag = true;
}
}
if (flag == false)
{
printf("该学生不存在!:\n");
}
}
}
void Delete(struct student* arr,int n)//学生基本信息删除
{
char number[10];
bool flag=false;
printf("Delete information:\n");
printf("please input the no:\n");
scanf("%s",number);
for (int i =0;i<n;i++)
{
if (!strcmp(number,arr[i].no))
{
strcpy(arr[i].name," ");
strcpy(arr[i].no," ");
strcpy(arr[i].bnote," ");
arr[i].sex = ' ';
arr[i].age = 0;
Save(arr,n);
flag = true;
}
}
if (flag == true)
{
printf("该学生不存在!:\n");
}
}
void Search(struct student* arr,int n)//学生基本信息查询
{
int temp,i;
bool flag=false;
printf("---------------通过学号查询,press 1-------------\n");
printf("---------------通过姓名查询,press 2-----------\n");
printf("---------------通过性别查询,press 3------------\n");
printf("---------------通过年龄查询,press 4------------\n");
printf("---------------退出,press 5 ------------\n");
scanf("%d",&temp);
switch (temp)
{
case 1://按照学号查询
{
char num[10];
printf("请输入学号:\n");
scanf("%s",num);
for ( i =0;i<n;i++)
{
if (!strcmp(num,arr[i].no))
{
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag = true;
}
}
if (!flag)
{
printf("该学生不存在.\n");
}
}
break;
case 2://按照名字查询
{
char num[10];
printf("please input name:\n");
scanf("%s",num);
for ( i =0;i<n;i++)
{
if (!strcmp(num,arr[i].name))
{
printf("%12s%12s%12c%12d%12s",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag = true;
}
}
if (!flag)
{
printf("该学生不存在.\n");
}
}
break;
case 3://按照性别查询
{
char ch;
printf("请输入性别:\n");
//scanf("%c",&ch);
ch = getch();
for ( i =0;i<n;i++)
{
if (ch == arr[i].sex)
{
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag = true;
}
}
if (!flag)
{
printf("t该学生不存在.\n");
}
}
break;
case 4://按照年龄查询
{
char num_age;
printf("请输入年龄:\n");
scanf("%d",&num_age);
for ( i =0;i<n;i++)
{
if (num_age == arr[i].age)
{
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag = true;
}
}
if (!flag)
{
printf("该学生不存在.\n");
}
}
break;
default:
break;
}
}
void main()
{
struct student arr[N];
char ps[6];
bool flag =false;
printf("请输入密码:\n");
scanf("%s",ps);
flag = Check(ps);
if (flag)
{
int select;
print(false);
scanf("%d",&select);
while (0<select && select <7 )
{
switch (select)
{
case 1:
GetInfo(arr,N);
print(true);
break;
case 2:
Display(arr,N);
print(true);
break;
case 3:
Save(arr,N);
print(true);
break;
case 4:
Delete(arr,N);
print(true);
break;
case 5:
Modfiy(arr,N);
print(true);
break;
case 6:
Search(arr,N);
print(true);
break;
default:
break;
}
printf("请选择:\n");
scanf("%d",&select);
}
}
}
//有什么问题9点的时候问我
❺ 全国中小学学籍管理系统怎样填写班级名称
“班级名称”在全国中小学学籍管理系统叫做“班号”。班号为自动生成可修改,班号命名规则是入学年份+学段(1代表小学2代表初中3代表高中)+班级顺序号。
1、班级编码规则: 4位入学年份+1位学段编号+2位班级编号。
2、其中小学学段编号为 1,班级编号即哪一个班级,如:一班即01;二班即02;十班即10。
例如:当前年份为2018年,注册小学一年级新生的学籍,则班级名称(班号)为2018101表示2018年入学1班,2018102表示2018年入学2班。
(5)班主任管理系统扩展阅读
学籍管理系统特点
1、功能全面 系统涵盖了小学、初中、高中学籍管理工作中的学生基础信息管理、学生异动管理(转班、转校、休学、复学、留级、退学)、毕业生信息管理(小学毕业、初中毕业、高中毕业)、奖惩管理等多项管理功能。
2、海量数据轻松处理、学籍系统界面轻快简洁、易学易用,能对管理中大量的、动态的、错综复杂的数据和信息进行及时、准确的分析和处理,最大限度地降低管理人员处理信息的劳动强度。
3、统计查询多样化 系统支持多种查询模式,可根据用户需求对所有信息进行快速的查询统计,其结果可输出为EXCEL、WORD等文件进行编辑打印。
4、数据安全可靠 系统利用历史数据转移技术和双机热备技术,并且采用数据加密、访问控制等安全机制以确保学生数据传输和存储的安全,保证系统运行可靠。
5、扩展性强、兼容性好 系统完全由公司自主研发,在产品实施的过程中,可快速的根据项目实施的效果来灵活改进,同时可以方便地与第三方软件进行数据对接。
6、易于维护 系统采用B/S架构,部署方便快捷,用户只需通过IE浏览器即可使用,较大地减轻了系统维护与升级的成本和工作量。
❻ 班级管理系统可以干什么
是一个综合性的学校班级管理系统,它集成了学生成绩管理系统、学生宿舍管理系统等多种功能,因而具有较强的实用性和先进性,适用于各院校的班级对于学生更细致的管理.功能分为:成绩管理模块-分类查询,重修查询,单科查询,成绩录入,分数段统计,排名情况;宿舍管理模块-宿舍登记,宿舍查询,系统界面友好,操作简单,比较实用。
❼ 求一个班级管理系统(软件)
如果是班级管理系统,
可以从成员管理,组织结构管理,公告留言板,班级通信录角度分析设计与开发。
关键字:管理 , 系统 , 软件 ,
❽ 求班级管理系统(软件)!!!
现在爱班级就是,而且功能very very strong。除了包含数据库、表单和查询功能,表单包括序号,人名,性别···这些功能,还可以用它来进行课堂考勤,查寝,发带附件的通知,请销假,定位辅助。电脑是网页版的,手机可以安装软件。挺方便的。
❾ 班级成绩管理系统
兄弟你的分太少了点吧 我还是给你 希望你一定要加分哦
#include"stdio.h"
#include"stddef.h"
#include "stdlib.h"
#include"string.h"
#define MAX 10
typedef struct student{ /*定义结构体*/
char name[MAX]; /*姓名*/
int num[MAX]; /* 学号*/
char sex[MAX]; /*性别*/
int chinese; /*语文*/
int mathematic; /* 数学*/
int english; /*英语*/
int computer; /*计算机*/
struct student *next; /*结构体指针*/
}stu;
stu *head; /*头指针*/
void print() /*显示或打印函数*/
{
system("cls");
printf("\t\t\t成绩管理系统\n"); /*成绩管理系统*/
printf("<1>输入数据\t"); /*输入数据*/
printf("<2>显示\t"); /*显示*/
printf("<3>插入数据\t"); /*插入数据*/
printf("<4>访问数据\t"); /*访问数据*/
printf("<5>以前数据\t"); /*以前数据*/
printf("<6>保留数据\t"); /*保留数据*/
printf("<7>更新数据\t"); /*更新数据*/
printf("<8>语文平均成绩\t"); /*语文平均成绩*/
printf("<9>数学平均成绩\t"); /*数学平均成绩*/
printf("<10>英语平均成绩\t"); /*英语平均成绩*/
printf("<11>计算机平均成绩\t"); /*计算机平均成绩*/
printf("<12>退出\t\n"); /*退出*/
}
void cin(stu *p1) /*输入相关数据的函数*/
{ printf("姓名:\n");
scanf("%s",&p1->name);
printf("年龄:\n");
scanf("%d",&p1->num);
printf("性别:\n");
scanf("%s",&p1->sex);
printf("语文:\n");
scanf("%d",&p1->chinese);
printf("数学:\n");
scanf("%d",&p1->mathematic);
printf("英语:\n");
scanf("%d",&p1->english);
printf("计算机:\n");
scanf("%d",&p1->computer);
}
stu *cindata() /*其他数据是否继续输入的函数*/
{ stu *p1,*p2;
int i=1;
char ch;
p1=(stu *)malloc(sizeof(stu));
head=p1;
while(i)
{
cin(p1);
printf("是否继续输入数据?y/n"); /*是否继续输入数据*/
ch=getchar();
ch=getchar();
if(ch=='n'||ch=='N')
{ i=0;
p1->next=NULL;
}
else
{ p2=p1;
p1=(stu *)malloc(sizeof(stu));
p2->next=p1;
}
}
return(p1->next);
}
stu *lookdata(stu *p1) /*查看数据的函数*/
{
while(p1!=NULL)
{ printf("年龄:%d\t",p1->num);
printf("姓名:%s\t",p1->name);
printf("性别:%s\t",p1->sex);
printf("\n");
printf("语文:%d\t",p1->chinese);
printf("数学:%d\t",p1->mathematic);
printf("英语:%d\t",p1->english);
printf("计算机:%d\t",p1->computer);
printf("\n");
p1=p1->next;
}
return p1;
}
void insert() /*通过比较学号来插入数据的函数*/
{ stu *p1,*p3,*p2;
char ch;
p1=head;
p3=(stu *)malloc(sizeof(stu));
p3->next=NULL;
if(head==NULL){ head=p3; return;}
cin(p3);
while(p1!=NULL&&(p1->num<p3->num)) /*通过学号的比较来插入*/
{ p2=p1;p1=p1->next;}
if(p2==head) {p3->next=head; head=p3; return;}
p3->next=p1;
p2->next=p3;
}
find(stu *p2) /*通过姓名查找查看数据的函数*/
{ char name[20];
int b=0;
printf("Enter the name of the student you want to find:"); /*通过姓名查看*/
scanf("%s",name);
while(p2!=NULL)
{if(strcmp(name,p2->name)==0)
{
printf("The data you want has be found\n");
printf(" Name:%s\t",p2->name);
printf("Num:%d\t",p2->num);
printf("sex%s\t",p2->sex);
printf("\n");
printf("Chinese:%d\t",p2->chinese);
printf("Math:%d\t",p2->mathematic);
printf("English:%d\t",p2->english);
printf("Computer:%d\t",p2->computer);
printf("\n");
b=1;
}
else if(b==0)
printf("sorry not find data!");
p2=p2->next;
}
if(b==1)
{
print();
printf("Find one\n");}
else
{print();
printf("Not find\n");
}
}
void caverage() /*求各学生语文平均分、最高和最低分成绩的函数*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf("not data!");
else
{for(i=0;p1!=NULL;i++,p1=p1->next)
sum+=p1->chinese;
aver=sum/i;
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
{if(max<p1->chinese)
max=p1->chinese;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
if(min>p1->chinese)
min=p1->chinese;
}
printf("Chinese Average:%f",aver);
printf("Chinese Max:%f",max);
printf("Chinese Min:%f",min);
}
void maverage() /*求各学生数学平均分、最高和最低分成绩的函数*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf("not data!");
else
{for(i=0;p1!=NULL;i++,p1=p1->next)
sum+=p1->mathematic;
aver=sum/i;
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
{if(max<p1->mathematic)
max=p1->mathematic;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
if(min>p1->mathematic)
min=p1->mathematic;
}
printf("Mathe Average:%f",aver);
printf("Mathe Max:%f",max);
printf("Mathe Min:%f",min);
}
void eaverage() /*求各学生英语平均分、最高和最低分成绩的函数*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf("not data!");
else
{for(i=0;p1!=NULL;i++,p1=p1->next)
sum+=p1->english;
aver=sum/i;
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
{if(max<p1->english)
max=p1->english;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
if(min>p1->english)
min=p1->english;
}
printf("English Average:%f",aver);
printf("English Max:%f",max);
printf("English Min:%f",min);
}
void comaverage() /*求各学生计算机平均分、最高和最低分成绩的函数*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf("not data!");
else
{for(i=0;p1!=NULL;i++,p1=p1->next)
sum+=p1->computer;
aver=sum/i;
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
{if(max<p1->computer)
max=p1->computer;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1->next)
if(min>p1->computer)
min=p1->computer;
}
printf("Computer Average:%f",aver);
printf("Computer Max:%f",max);
printf("Computer Min:%f",min);
}
update(stu *p2) /*通过姓名查找来更新数据*/
{
char name[10]; /*p2为指向结构体struct student的指针*/
int b=0;
printf("Enter The Name"); /*输入姓名*/
scanf("%s",name);
while(p2!=NULL)
{if(strcmp(name,p2->name)==0)
{
printf("Find you data\n");
scanf("Name:%s",p2->name);
scanf("Num:%s",p2->num);
scanf("Sex:%s",p2->sex);
scanf("Chinese:%d",p2->chinese);
scanf("Math:%d",p2->mathematic);
scanf("english:%d",p2->english);
scanf("Computer:%d",p2->computer);
printf("Success!");
b=1;}
else if(b==0)
printf("Sorry not Find data!");
p2=p2->next;}
if(b==0)
{print();
printf("Sorry not Find data!");
}
else
{
print();
printf("Finish!");
}
}
save(stu *p2) /*保留数据函数*/
{
FILE *fp;
char file[10];
printf("Enter file name"); /*输入文件名*/
scanf("%s",file);
fp=fopen(file,"w");
while(p2!=NULL)
{
fprintf(fp,"%s",p2->name);
fprintf(fp,"%s",p2->num);
fprintf(fp,"%s",p2->sex);
fprintf(fp,"%d",p2->chinese);
fprintf(fp,"%d",p2->mathematic);
fprintf(fp,"%d",p2->english);
fprintf(fp,"%d",p2->computer);
p2=p2->next;
}
fclose(fp);
}
char password[7]="123456"; /*定义初始密码*/
void main() /*主函数*/
{ int choice;
stu *p2;
char s[8];
int flag=0,i; /*标志项*/
int n=3;
do{ printf("你请输入密码:\n");
scanf("%s",s);
if(!strcmp(s,password)) /*进行密码匹配验证*/
{ printf("PASS\n\n\n");
flag=1;
break;
}
else{
printf("Error Enter again:\n");
n--;
}
}
while(n>0);
if(!flag)
{printf("you have Enter 3 times!"); /*输入密码超过了3次!!*/
exit(0); /*自动退出*/
}
/*密码验证成功后进入的界面*/
printf("欢迎来到重庆航天职业技术学院\n");
printf(" 欢迎来到计算机工程系\n");
printf(" 班级:软件技术\t班号:08051051\n"); /*班级和号码*/
printf(" 是否进入系统\n"); /*问进入系统与否*/
scanf("%d",&choice);
if(choice=='n'||choice=='N')
exit(1);
print();
while(1)
{
printf("Enter choice:");
scanf("%d",&i);
if(i<1||i>13)
{
printf("再从1-13中进行选择:\n"); /*再从1-13中进行选择*/
exit(1);
}
switch(i)
{ case 1:
p2=cindata(); /*其他数据是否继续输入的函数*/
break;
case 2:
p2=lookdata(head); /*查看数据的函数*/
break;
case 3:
insert(); /*通过比较学号来插入数据的函数*/
break;
case 4:
find(head); /*通过姓名查找查看数据的函数*/
break;
case 5:
update(head); /*通过姓名查找来更新数据*/
break;
case 6:
save(head); /*保留数据函数*/
break;
case 7:
print(); /*显示或打印函数*/
break;
case 8:
caverage(); /*求各学生语文平均分、最高和最低分成绩的函数*/
break;
case 9:
maverage(); /*求各学生数学平均分、最高和最低分成绩的函数*/
break;
case 10:
eaverage(); /*求各学生英语平均分、最高和最低分成绩的函数*/
break;
case 11:
comaverage(); /*求各学生计算机平均分、最高和最低分成绩的函数*/
break;
case 12:
; /*空操作*/
case 13:
exit(1); /*退出*/
break;
}
scanf("%d",&i);
}
} 密码是123456