c语言学生成绩管理

2024-10-21

c语言学生成绩管理(共8篇)

c语言学生成绩管理 篇1

C语言课程设计——学生成绩管理系统

个人心得体会

(徐州工程学院 14计嵌1班 07组 张凯)

这一周以来的课程设计,不仅让我明白了C语言的确是一门很有用的,但是又是不容易的一门课程。起初刚开始做课程设计时,以为这个课程设计不会有多难,只不过是把多个函数组合起来就好了,但是,经过这一星期的编程,发现要完完整整把程序按照要求编出来是一件很不容易的事情。然而在这一周以来的学习中,也对C语言这门课程有了更加的了解和学习。

在整个编程的过程中,可以说遇到了很多难题,但是让我印象最深刻的是在编写从某文件中读取学生信息这个程序时所遇到的困难。起初,程序时编写出来了,在组建时也没有错误,但是就是实现不了这个功能,接着就是整整一天的苦战;终于,能够读取文件中的信息了,可是,新问题又来了,在显示读取的信息时出现了乱序。另外在编写加密代码的时候竟然忘记了将其放在主函数中运行闹了笑话,在指导老师的帮助下最后解决了这个问题。

每天看到一行行代码着实有时让人头大。然而在这个程序完整地编写下来,我觉得编写程序需要很大的耐心,一个稍微大点的程序就有个几百甚至上千行,没有耐心是很难做得成功的。当然细心也很需要,在编程的过程中有很多错误都是自己的粗心造成的,有时甚至自己多次检查都看不出来,这样一来,会造成时间的大量浪费。

这次的课程设计也是一次很好的对自我的检查。它让我知道了自己在C语言的学习上还不够认真刻苦,很多知识点还是没有很好的掌握,甚至有些知识点很生疏,这也许就是我在编写从某文件中读取学生信息这一函数时老碰壁的原因所在!从这一点上来看,发现我对待学习的态度还不够端正,有待加强。

不管怎么说,经过这一次课程设计,在C语言方面的收获最大,让我读代码的能力大大提升了不少,也巩固了很多知识。同时也受到了指导老师刘云、邹文辉的细心指导,非常感谢!

c语言学生成绩管理 篇2

一对学生成绩管理系统现状的分析

(一) 学生成绩管理系统的优势

学生成绩管理指的是对学生成绩的记录、统计、查询, 更进一步说也可以包含:学校奖学金的提名、毕业的合格率、学生补考等。要想使其有条不紊的进行, 必须与之要有相关的学生成绩管理系统, 这样对学生成绩信息、课程安排、教师选课、教学质量等有一个很好的把握。同时, 可根据学校学生成绩、师资水平来制定或完善对学生成绩管理系统的分析。利用新系统可以保证学生成绩管理安全性和保密性更高, 使其具有可恢复性、可增加性、可扩充性等。单从安全方面来看, 可以划分不同的用户权限, 以满足学校老师或学生的登录;它能提供数据备份, 可以用让系统数据进行导出, 而且在其不小心销毁后, 可以恢复;从可扩充性方面来看, 它不仅能提供单机化功能, 而且使其网络化, 更加快捷和迅速:而且它具有维护性功能, 有利于对学习成绩管理系统的维护。

(二) 学校对学生成绩的管理现状

现在各个学校对学生的成绩管理愈加重视, 需要一种新的管理系统来满足现在学校的发展。在以往都是采用FoxBASE、FoxPro等系统对学生成绩管理系统的开发, 而现在都是运用用Visual Basic、Delphi、PowerBuilder等系统, 而且许多学校为了满足自身的需要, 根据自身的实际情况开发了不同的版本, 但由于各学校之间软件和版本各不相同, 所出现的问题就是版本间的不兼容性, 导致学生的成绩管理系统的不完善, 而且现在学生数量多, 编号也呈现出多样化的趋势, 比如有考号、学号、课程号等一系列相关编号, 那么如何制定一套有效率, 且可以在学习成绩管理系统不成熟的背景下的管理系统, 该是我们讨论的问题。

(三) 学生管理系统中存在的问题

学生成绩一般都是学校的敏感信息, 所以学生的成绩管理系统就要考虑到其安全性和数据的稳定性。有些学校对学生的成绩管理系统安全没有足够的认识, 连最基本的安全防范措施都没有设置, 这样, 一些企图不良或没有得到登陆许可的人可以轻易看到学生的学习成绩, 导致了学生学习成绩的泄露, 甚至导致了管理内容中资料被修改。所以在学生成绩管理系统的设计要加强对安全性的重视。根据学生、教师等学校领导来进行相应的权限分配, 保障他们的基本权利, 学生、教师和校领导, 他们在学校学生成绩管理系统中可以执行的操作也不同比如, 学生只能进行浏览、查阅和打印等, 没有更改的权限;教师可以对整个系统进行操作, 并可以进行成绩导入、成绩排列等权限。学生、教师所用的用户名和密码均由自己设置和开发的, 学生和教师可以通过学校档案来进行注册根据在学校的资料来填写相关信息只有当具有该学生和教师的资料, 其填写的用户名用才能通过, 根据其相应的学号给与编号, 且用户的真实姓名与数据库中的教师信息、学生信息相一致才可以成功申请。于此同时学生和教师都只能申请一个用户名, 已经申请用户名了的不能继续申请, 这样可以避免了一些不良企图的人刻意破坏。

二运用ASP语言编写学生成绩管理的优势

Asp语言是一种功能强大, 且使用起来非常方便的一种解释性语言, 它在网络运用中非常普遍, 只要将其安装在服务器上, 只要是Windows系统自带的浏览器都可以使用, 而且asp语言运用灵活, 这对于自身有很多问题的计算机语言来说, 是有很大优势的, 具体表现在:它上手编写操作简单, 与VB十分接近, 对于学过Basic的人来说, 操作起来是没有什么困难的, Asp的解释语言灵活性很高, 对编写的环境也没什么要求, 就算没有Dreamweaver和FrontPage等编写工具, 利用Windows自带的记事本也可以来进行编写, 运用Asp语言编写学生成绩管理系统, 可以发挥其学校对学生学籍变动预警的功能, 随着学校的扩大和招收, 学生就读人数不断增多, 这样一来学校老师就很难掌握每个学生的学习成绩, 无法知道哪些学生成绩存在问题, 对于那些即将退学或转学的学生就无法了解。利用运用Asp语言编写学生成绩管理系统, 教师可以很好的完成对学生学习成绩的监督, 通过这一系统, 了解学生的最新动态, 这样对于学生即将转校或退学有一个提前提示, 从而进行预防。

三结语

现在只有建立起一种学校、教师、学生都可以浏览的管理系统, 满足不同层次的需求, 这样才能在新的教学模式中, 利于学生的学习和学校的发展。由而且运用ASP语言进行编写的学生成绩管理系统, 因其具有自动输出文档、了解学校学生成绩的的最新走向, 使教学质量大大提高, 减轻了学校对学生的成绩的工作重担, 把更多的精力投入到别的方面, 节约了学校资源, 让学校管理朝更科学方面进行。通过对学生学习成绩的判断, 可以看出学生的学习方法状态, 来提提出新的学习方案, 这对教学改革也是具有很大进步的。

摘要:学生成绩管理一直是学校的重中之重, 它贯穿于学生的整个学习阶段, 它是学校教学管理学生的的重要方法之一, 也是保障教育质量的重要体现。不过由于高校日常工作繁多, 对学籍的管理工作做的不够完善。基于这一问题, 运用ASP语言编写一种新的成绩管理系统, 提高对学生成绩管理的准确, 在当前教育背景下就显得十分重要了。

关键词:学生成绩管理,ASP语言,教育背景

参考文献

[1]郑建锋.浅谈学生成绩管理系统[J].中国科技博览.2009 (20)

[2]李世杰, 王鑫, 何艳.基于ASP语言的高校学籍管理系统的开发[D].河北工业大学.2011 (12)

[3]罗莉.大学生成绩管理系统的设计与实现[D].电子科技大学.2007 (4)

c语言学生成绩管理 篇3

[关键词]客观语言提示 大学生 考试成绩

[作者简介]邓朝晖(1967- ),女,广东海洋大学,讲师,硕士,研究方向为临床心理学;(广东湛江524025)黄伟东(1983- ),女,华南师范大学教育科学学院心理系硕士研究生,研究方向为临床心理学;郑希付(1963- ),男,华南师范大学教育科学学院心理系教授,博士生导师,研究方向为临床心理学。(广东 广州 510631)

[中图分类号]G44[文献标识码]A[文章编号]1004-3985(2007)30-0152-02

语言是人们彼此交流思维情感和相互影响的工具,很早以前人们就意识到语言的巨大力量并且在日常生活中有意无意地利用语言操控对方的心理状态,从带有神秘色彩的催眠技术到社会心理学提出的“标签理论”再到平常的家长教育孩子,无不体现语言提示的作用。20世纪50年代后,心理学研究开始重视认知对心理状态的巨大影响,大量研究表明人们的行为、情绪、动机深受其影响。而人的认知活动几乎都是通过人的语言活动完成的,因此,语言提示对人的心理活动有重要的引导作用。

研究者注意到主观提示(subjective cue)和客观提示(objective cue)的不同作用。主观提示着重个体的自我语言暗示,Ellis认为情绪的变化根源于认知,非理性的思维导致非理性行为,因此他创立了改变这种消极思维的理智——情绪疗法理论①。Beck也认为患者身临其境时立即出现的自动思维是导致症状的根源,因此认知疗法的重点就是要改变这种有偏见的解释②。Luria在此基础上提出了用于治疗儿童心理问题的“自我-诱导训练”,使用主观的诱导方法激发个体的积极认知③。郑希付也使用自我提示的方法探讨了自我提示对情绪和记忆意向的影响,研究发现积极的自我言语提示可以诱发积极的情绪体验和较高的记忆意向,消极的自我言语提示诱发消极的情绪体验和较低的记忆动机④。但是在涉及人们行为方面的改变上,研究者更多地探讨了客观提示(即由主体以外的事物或人所完成的提示),许多研究已经证实了这种提示可以改变人们实际的身心状况。Ryan Frank等人使用有意识的客观提示治疗患者的病症,结果发现,无论药物的提示是真是假,只要患者相信它的真实性,自身就会出现提示所表明的状态⑤。Stevanovski等人在戒酒训练中也发现,只要患者认同积极的目标将有利于目标行为的实现⑥。梁佩珊等人研究了客观语言提示对中学生记忆效率的影响,结果表明,提示水平低于个体现有记忆水平将会降低人们的记忆效果;相反,当提示水平适当高于个体现有记忆水平时,人们的实际记忆效果会提高。

客观提示实际上是对个体设置目标,我们推断,提示目标的不同会导致个体不同的动机水平,学生对考试试卷难易程度的认知将影响个体动机水平的高低。不同的动机水平使个体的记忆、思维意向有所不同,进而导致考试成绩显示差异。个体是否认同这些目标将影响语言提示的效果,因此,同样的语言提示对不同人群所产生的效果是不同的。在本研究中,我们进行了两个实验,探讨在中等难度与较高难度考试中,不同的客观语言提示水平对大学生考试成绩的影响。

一、研究目的

通过严格的实验程序研究客观语言提示对大学生考试成绩的影响。本研究进行了两个实验:实验一采用中等难度(难度系数为0.5)试题即A卷;实验二采用较高难度(难度系数为0.7)试题即B卷。

二、研究方法

1.实验设计。采用单因素5水平实验设计,自变量为客观语言提示,因变量为被试考试成绩。将被试随机分为5个组,4个实验组和1个控制组,4个实验组的语言提示分别为0.4、0.5、0.6、0.7(实验一,即0.5难度系数)和0.6、0.7、0.8、0.9(实验二,即0.7难度系数),控制组在实验时不作任何语言提示。

2.被试者(同一批被试参加两个实验)。被试者为广东省某大学本科2003级同专业,共159名学生。

3.实验材料。选定一门历届学生普遍反映较难学习的课程“离散数学”,由任课教师根据课后练习的难度(设定难度系数为0.6),出A、B两份难度系数分别为0.5(实验一)、0.7(实验二)的试卷,用试卷袋装好。难度系数为0.6的课后练习题是同学们通过认真上课并复习后能够完成的,我们认为这个难度代表了被试应有的平均的学习能力水平。

4.实验程序。第一步,由任课教师根据课后练习的相对难度(0.6难度系数),出A、B两份难度系数分别为0.5、0.7的试卷分别用于实验一与实验二;第二步,由任课教师提前两周告诉同学们:为了检验同学们的学习效果,在两周后要进行不同难度的两次考试;请同学们认真复习,并认真做课后练习,课后练习题的难度系数是0.6;为了防止作弊,让同学们考出真实水平,将重新分班;两次考试成绩将计入期末总成绩,占总成绩的30%(以保证学生参加考试);第三步,让同学们按照随机分组后的班级在指定教室参加考试;第四步,考试时,由经过训练的监考教师严格按照试卷袋上的提示语进行提示,控制组不做提示。

三、实验结果与分析

1.总体成绩分析。对被试的考试成绩做总体分析,在实验一中,提示为0.4条件下被试的平均考试成绩最高,其次是提示为0.7条件,然后是无提示条件、提示为0.6条件,平均考试成绩最低的是提示为0.5条件;在实验二中,提示为0.6条件下被试的平均考试成绩最高,其次是提示为0.9条件,然后是提示为0.7条件、无提示条件,提示为0.8条件下平均考试成绩最低。结果见表1、图1、图2。

2.方差分析。对实验一与实验二中被试的考试成绩进行单因素方差分析,结果表明:实验一中,语言提示条件主效应非常显著(P=0.000);实验二中,语言提示条件主效应显著(P=0.050),结果见表2。

四、讨论

实验一与实验二的方差分析结果均显示,语言提示条件主效应显著,证明了在中等难度与较高难度考试中,不同目标水平的客观语言提示能够影响大学生的考试成绩,证实了本研究的假设。实验结果还显示:难度中等(实验一)时,低于实际难度的提示成绩最好,并且显著高于其他四种条件下的考试成绩,而与实际难度相同的最差;难度较高(实验二)时,低于实际难度的提示成绩最好,显著高于提示为0.8和无提示条件下的考试成绩,而高于实际难度的提示成绩最差,与实际难度相同的提示成绩较差。这可能与大学生的自我效能感与动机水平有关。

五、研究结论与启示

研究结论:对于本科大学生来说,中等难度与较高难度情况下,均是低难度的提示下考试成绩最好,而与实际难度相同或高难度的提示下考试成绩较差;对于本科大学生来说,中等难度与较高难度情况下,客观语言提示条件主效应均显著,证明了不同目标水平的客观语言提示能够影响本科大学生的考试成绩。此结果对于高等教育和教学过程的启示是,高校教师对大学生语言提示的恰当与否会影响大学生的学习效率以及其考试成绩。教师应加强师德建设和心理学修养,在教学实践中因人而异、因材施教,帮助学生制定出适合他们自身水平的学习目标和学习方法,让学生体验到成功的喜悦,以提高学生的自我效能感水平。总之,教师在使用语言提示时应考虑大学生的现有能力和对期待的承受程度,这样才能发挥其最大功效。

[注释]

①郑希付.临床心理学[M].开封:河南大学出版社,1997:326-339.

②Judith S.Beck.认知疗法:基础和应用[M].北京:中国轻工业出版社,2001:83.

③Luria A.The role of speech in the regulation of abnormal behavior[A]. In Thomas J.Zirpoli(Eds).Behavior management[M].New Jersey:Prentice Hall,1993:206.

④郑希付.自我语言提示的两种心理效应研究[J].心理科学,2001,24(2):153.

⑤Ryan Fran.Detected,selected,and sometimes neglected:cognitive processing of cues in addiction[J].Experimental and Clinical Psychopharmacolgy,2002,10(2):67-76.

C语言做个学生选课系统 篇4

#include

int N1,N2,kk1,kk2,kk3;

struct couse * head1;

struct student * head2;

struct couse//课程信息结构体

{

int num1;

char name1[20];

int score;

int nelepeo;//课程已选人数

int Melepeo;//课程人数上限

struct couse * next;

};

struct student//学生信息结构体

{

int num2;

char name2[20];

int nelenum[50];//已选课程编号

int nelen;//已选课程数量

struct student * next;

};

void Ms

{

for(kk1=0;kk1<1100;kk1++)

for(kk2=0;kk2<1200;kk2++)

for(kk3=0;kk3<1200;kk3++);

}

void keyboardc()//录入课程子函数(从键盘录入)

{

struct couse *p1,*p2;

N1=0;

p1=p2=(struct couse*)malloc(sizeof(struct couse));

printf(“课程编号 课程名称 学分 课程人数上限 ”);

scanf(“%d%s%d%d”,&p1->num1,p1->name1,&p1->score,&p1->Melepeo);

p1->nelepeo=0;

head1=NULL;

while(p1->num1!=0)

{

N1=N1+1;

if(N1==1)head1=p1;

else p2->next=p1;

p2=p1;

p1=(struct couse * )malloc(sizeof(struct couse));

scanf(“%d%s%d%d”,&p1->num1,p1->name1,&p1->score,&p1->Melepeo);

p1->nelepeo=0;

}

p2->next=NULL;

}

void filec()//录入键盘子函数(从文件录入)

{

FILE * fp;

char filepath[20];

struct couse *p1,*p2;

N1=0;

printf(“输入要读入的文件路径:”);

getchar();

gets(filepath);

if((fp=fopen(filepath,“r”))==NULL)

{

printf(“找不到%s文件! ”,filepath);

exit(0);

}

p1=p2=(struct couse*)malloc(sizeof(struct couse));

fscanf(fp,“%d%s%d%d%d”,&p1->num1,p1->name1,&p1->score,&p1->nelepeo,&p1->Melepeo);

head1=NULL;

while(!feof(fp))

{

N1=N1+1;

if(N1==1)head1=p1;

else p2->next=p1;

p2=p1;

p1=(struct couse * )malloc(sizeof(struct couse));

fscanf(fp,“%d%s%d%d%d”,&p1->num1,p1->name1,&p1->score,&p1->nelepeo,&p1->Melepeo);

}

p2->next=NULL;

}

void inputc()//录入课程主函数

{

int i;

printf(“ 录入课程信息 ”);

printf(“ 1.从键盘录入 ”);

printf(“2.从文件录入 ”);

printf(“3.返回主菜单 ”);

printf(“请选择(1~3): ”);

scanf(“%d”,&i);

switch(i)

{

case(1):keyboardc();break;

case(2):filec();break;

case(3):break;

}

}

void insertc(struct couse *incouse)//课程管理子函数(增加课程)

{

struct couse *p0,*p1,*p2;

p1=head1;

p0=incouse;

if(head1==NULL)

{

head1=p0;

p0->next=NULL;

}

else

{

c语言学生成绩管理 篇5

小型职工工资管理系统

专业班级

2016级通信工程本科1班

通信第二组

学生姓名

院(系)

信息工程系

指导教师(职称)

完成时间

2017年5月31日

课程设计任务书

题目职工工资管理系统 班级2016级通信工程本科1班 学号 201605070106 姓名 学号 201605070111 姓名 学号 201605070118 姓名 学号 201605070119 姓名 学号 201605070136 姓名

一、主要内容:

本课程设计结合本学期所学C语言知识,准备设计开发一个简单职工工资管理系统。工资管理系统是企业不可或缺的一部分,它利用计算机对员工工资进行统一管理,实现工资管理系统的系统化、规范化和自动化,为企业提高工作效率。设计开发这个系统需要用到单链表、文件读取操作、结构体、函数、指针等C语言知识。本课程设计准备通过Windows控制台应用程序实现职工工资管理系统的简单运行。利用所学知识,本着简单、易用的设计原则,本课程设计尽量实现良好、美观的“人机界面”,便于软件的操作使用。本次设计主要学习内容包括:

(一)进一步学习并熟练掌握C语言语法和编程思想。

(二)学习C语言提供的库函数,熟悉Visual C++ 6.0的开发工具。

(三)学习C语言函数、链表、结构体、文件读取、指针等知识。

(四)学习如何查阅他人的文档进行软件的设计与开发。

二、基本要求:

(一)质量要求

1.职工工资管理系统基本功能模块的设计应包括:显示主菜单功能、职工信息 的录入、添加、删除、修改、查询、排序功能,退出系统。测试文件的读取与存储是否正常、测试评估界面是否合理,友好。

2.对职工工资管理系统设计并进行调试、修复、完善、测试。3.定期主动向指导教师汇报任务进度,认真填写相关报告文档。4.按时完成各阶段工作,不突击,不抄袭。

(二)进度要求

1.明确课程设计任务,搜集资料:2017年2月28日—3月14日。

2.完成程序的设计与实现,撰写课程设计论文初稿:2017年3月15日—5月15日。

3.与指导教师沟通,完成课程设计论文定稿:2016年5月16日—2017年5月28日。

4.进入课程设计论文审阅阶段,准备答辩:2017年5月29日—6月9日。

三、主要参考资料:

1.工资管理系统课程设计程序http://blog.csdn.net/JZQT_T/article/category/2317235

2.C语言程序设计规范及基础

https://wenku.baidu.com/view/58b***409c7b.html 3.《明解C语言 第3版》,(日)柴田望洋著,人民邮电出版社 4.《C Primer Plus 第6版 中文版》,姜佑 译,人民邮电出版社 5.《C程序设计 第四版》,谭浩强著,清华大学出版社 6.《C和C++实物精选》,徐波著,北京邮电出版社

学 生 签 名: 指导教师签名:

年 月 日

目录 概述...............................................1 1.1 设计思想.................................................................................................................................1 1.2 设计原则.................................................................................................................................1 1.3 性能需求.................................................................................................................................1 1.4 课程设计报告内容及分工情况.............................................................................................2 1.4.1 课程设计报告内容.........................................................................................................2 1.4.2 课程设计分工情况.........................................................................................................2 2 总体设计...........................................3 2.1 系统功能设计图.....................................................................................................................3 2.2 主函数 main().........................................................................................................................3 2.3 程序流程图..............................................................................................................................4 3 详细设计...........................................4 3.1 函数..........................................................................................................................................4 3.2 函数流程图..............................................................................................................................9 4 运行结果与调试....................................16 4.1 运行结果...............................................................................................................................16 4.2 程序调试...............................................................................................................................21 结束语..............................................22 附录................................................24 概述

1.1 设计思想

1.系统分成几个相对独立的模块,但这些模块都进行集中式管理。

2.分层的模块化程序设计思想,整个系统采用模块化结构设计作为应用程序,有较强的可操作性和扩展性。

3.合理的数据设计,在应用系统设计中,相对独立的模块间以数据相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。

1.2 设计原则

为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:

1.合法性原则:依据产品核算系统的工作规定以及要求,参照核算实际的工作情况,进行诸如产品进货、销售等工作。

2.实用性原则:适合产品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。

3.准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,长度不超限等)。

4.易操作原则:要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。

5.源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。

1.3 性能需求

(1)支持工资信息一次性多组导入

(2)非法操作能够提示错误并且知道安全行为方式(3)信息查询时界面显示数量

1.4 课程设计报告内容及分工情况

1.4.1课程设计报告内容

1.系统功能模块结构图和程序流程图 2.数据结构设计及用法说明

3.程序结构(画功能模块图或流程图)4.各模块的功能

5.实验结果(包括输入数据和输出结果)6.设计体会 7.参考文献

1.4.2 课程设计分工情况

本组共有5人,具体分工情况如下:

(1)学号:201605070106,姓名:司笑笑,具体负责功能模块结构图和程序流 程图的设计;负责“排序”代码的编写及整体代码的整合;负责程序设计报告中函数详细设计。

(2)学号:201605070111,姓名:代慧,负责“添加”、“录入”代码的编写;负责显示界面的优化、美化。

(3)学号:201605070118,姓名:王春亚,负责“查询”代码的编写;程序的测试与调试。

(4)学号:201605070119,姓名:董子阳,负责“修改”代码的编写;具体负责实验结果的采集;程序设计报告书的校对;负责流程图的绘制。

(5)学号:201605070136,姓名:马良智,负责“删除”代码的编写;具体负责程序设计报告书的排版与完善;相关文献的查找和参考。总体设计

2.1 系统功能设计图

系统功能设计是使整个系统能基本实现职工工资管理功能,能让公司的管理者利用计算机对员工工资进行统一管理,实现工资管理系统的系统化、规范化和自动化,提高了工作效率。管理信息系统(MIS)主要的功能就是进行信息的收集、查询、存储,同时对这些信息进行维护的。

本系统共包括七大模块,分别是录入模块,添加模块,修改模块,删除模块,查询模块,排序模块,输出模块。系统功能模块设计如图2-1所示。

图2-1 小型职工工资管理系统功能模块结构图

2.2 主函数 main()

(1)函数的功能: 用于联系各个功能函数模块,以及退出程序时的退出画面提示。

(2)函数的入口: 整个程序是从主函数开始的。

(3)函数的出口: 当从main()的switch()开关结构中进入,即choise的值大于7时通过return退出main()函数,即:退出整个程序。(4)函数调用关系:该函数不被其它函数调用。

2.3 程序流程图

详细设计

3.1 函数

(1)功能函数mainMenu()①函数的功能:显示主菜单

②函数的入口:从main()进入,main()运行时进入该函数。③函数调用关系:被主函数调用。

④函数的出口:当主菜单显示在屏幕上,结束该函数。(2)功能函数input(LinkList head)①函数的功能:进入录入职工信息系统。

②函数的入口:程序从main()的switch()开关结构中进入,即choice的值为1时,开始进入该函数,进入函数后,首先用inputMenu()显示录入菜单选项,然后选择选项进行录入职工信息。

③函数调用关系:被主函数调用。从switch()开关结构中进入,并在文中无返回值的空值void函数。

④函数的出口:录入职工信息完成后,结束该函数而并执行主函数main()中“output(head);”,输出职工信息在屏幕上并保存职工信息在磁盘上,然后执行“break;”跳出switch()开关函数,继续执行while循环结构。(3)功能函数inputMenu()①函数的功能:显示录入菜单。

②函数的入口:从input(LinkList head))进入,input(LinkList head)被调用时进入该函数。

③函数调用关系:被input(LinkList head))调用,并在文中无返回值的空值void函数。

④函数的出口:当录入菜单显示在屏幕上,结束该函数。(4)功能函数hand(LinkList head)①函数的功能:进入“手动录入职工信息”。

②函数的入口:程序从input(LinkList head)的switch()开关结构中进入,即choice的值为1时,开始进入该函数,进入函数后,首先输入录入职工人数,然后逐个录入职工信息。

③函数调用关系:被input(LinkList head)调用。从switch()开关结构中进入,并在文中无返回值的空值void函数。

④函数的出口:录入全部职工信息完成后,结束该函数并执行input(LinkList head)中“break;”跳出switch()开关函数,继续执行while循环结构。(5)功能函数read(LinkList head)

①函数的功能:进入“文件录入职工信息”。

②函数的入口:程序从input(LinkList head)的switch()开关结构中进入,即choice的值为2时,开始进入该函数,进入函数后,输入需要录入的文件路径fileName,通过fopen()函数,即“if((fq=fopen(fileName,“r”))==NULL)” 打开文件,进入数据的处理。

③函数调用关系:被input(LinkList head)调用。从switch()开关结构中进入,并在文中无返回值的空值void函数。

④函数的出口:自动录入文件中全部职工信息后,结束该函数并执行input(LinkList head)中“break;”跳出switch()开关函数,继续执行while循环结构。(6)功能函数output(LinkList head)①函数的功能:输出职工信息。

②函数的入口:程序在录入、添加、修改、删除、查询、排序后都进入该函数,进入函数后,将职工信息用printf()标准输出到屏幕上,然后通过fopen()函数,即“if((fp=fopen(“d:worker.dat”, “w”))== NULL)” 打开文件,将职工信息写到d:worker.dat文件中。

③函数调用关系:被main()等多个调用。在文中无返回值的空值void函数。④函数的出口:将职工信息用printf()标准输出到屏幕上,将职工信息存入磁盘后,结束该函数。

(7)功能函数add(LinkList head)①函数的功能:添加一个职工信息。

②函数的入口:从main()的switch()开关结构中进入,即choice的值为2的时侯,进入该函数,根据提示输入职工信息。

③函数调用关系:被主函数调用。由switch()开关结构中进入,并在文中有返回值的整型int函数,返回值为1添加成功。

④函数的出口:职工信息添加成功返回1后结束该函数,并执行主函数main()中“output(head);”,输出职工信息在屏幕上并保存职工信息在磁盘上,然后执行“break;”跳出switch()开关函数,继续执行while循环结构。(8)功能函数deleteWorker(LinkList head)①函数的功能:删除 一个职工信息。

②函数的入口:从main()的switch()开关结构中进入,即choice的值为3的时侯,进入该函数,输入要删除的职工编号,删除改编号职工信息。

③函数调用关系:被主函数调用。由switch()开关结构中进入,并在文中有返回值的整型int函数,返回值为1删除成功。

④函数的出口:职工信息删除成功返回1后结束该函数,并执行主函数main()

中“output(head);”,输出剩余的职工信息在屏幕上,然后执行“break;”跳出switch()开关函数,继续执行while循环结构。(9)功能函数update(LinkList head)①函数的功能:修改一个职工信息。

②函数的入口:从main()的switch()开关结构中进入,即choice的值为4的时侯,进入该函数,输入要修改的职工编号,根据提示输入新的职工信息。

③函数调用关系:被主函数调用。由switch()开关结构中进入,并在文中有返回值的整型int函数,返回值为1修改成功。

④函数的出口:职工信息修改成功返回1后结束该函数,并执行主函数main()中“output(head);”,输出职工信息在屏幕上并保存职工信息在磁盘上,然后执行“break;”跳出switch()开关函数,继续执行while循环结构。(10)功能函数find(LinkList head)①函数的功能:进入查询职工信息系统

②函数的入口:程序从main()的switch()开关结构中进入,即choice的值为5时,开始进入该函数,进入函数后,首先用findMenu()显示查询菜单选项,然后选择选项进行查询职工信息。

③函数调用关系:被主函数调用。从switch()开关结构中进入,并在文中无返回值的空值void函数。

④函数的出口:查询职工信息完成后,结束该函数,然后执行主函数main()中的“break;”跳出switch()开关函数,继续执行while循环结构。(11)功能函数 findMenu()①函数的功能:显示查询菜单。

②函数的入口:从find(LinkList head)进入,find(LinkList head)被调用时进入该函数。

③函数调用关系:被find(LinkList head)调用,并在文中无返回值的空值void函数。

④函数的出口:当查询菜单显示在屏幕上,结束该函数。(12)功能函数findByWay(LinkList head, int n)①函数的功能:查询职工信息”。

②函数的入口:程序从find(LinkList head)的switch()开关结构中进入,即choice的值为1,2,3,4,5,6时,开始进入该函数,进入函数后,根据不同的选项值进行相应的查询。

③函数调用关系:被find(LinkList head)调用。从switch()开关结构中进入,并在文中有返回值的的整型int函数,返回值为1查询成功。

④函数的出口:查询职工信息完成后,执行“output(head);”,输出职工信息在屏幕上并保存职工信息在磁盘上,然后结束该函数,执行find(LinkList head)中“break;”跳出switch()开关函数,继续执行while循环结构。(13)功能函数sort(LinkList head)①函数的功能:进入职工信息排序系统

②函数的入口:程序从main()的switch()开关结构中进入,即choice的值为6时,开始进入该函数,进入函数后,首先用sortMenu()显示排序菜单选项,然后选择选项进行职工信息排序。

③函数调用关系:被主函数调用。从switch()开关结构中进入,并在文中无返回值的空值void函数。

④函数的出口:职工信息排序完成后,结束该函数,然后执行主函数main()中的“break;”跳出switch()开关函数,继续执行while循环结构。(14)功能函数 sortMenu()①函数的功能:显示排序菜单。

②函数的入口:从sort(LinkList head)进入,sort(LinkList head)被调用时进入该函数。

③函数调用关系:被sort(LinkList head)调用,并在文中无返回值的空值void函数。

④函数的出口:当排序菜单显示在屏幕上,结束该函数。(15)功能函数sortByWay(LinkList head, int n)①函数的功能:职工信息排序。

②函数的入口:程序从sort(LinkList head)的switch()开关结构中进入,即choice的值为1,2,3,4,5,6时,开始进入该函数,进入函数后,根据不同的选项值进行相应的排序。

③函数调用关系:被sort(LinkList head)调用。从switch()开关结构中进入,并在文中有返回值的的整型int函数,返回值为1排序成功。

④函数的出口:职工信息排序完成后,执行“output(head);”,输出职工信息在屏幕上并保存职工信息在磁盘上,然后结束该函数,执行sort(LinkList head)中“break;”跳出switch()开关函数,继续执行while循环结构。(16)功能函数uqnum(LinkList head, int num)

①函数的功能:判断职工编号是否已存在。

②函数的入口:程序add(LinkList head)中进入,输入职工编号后,开始进入该函数,进入函数后,判断输入的职工编号是否已经存在。

③函数调用关系:被add(LinkList head)调用。在文中有返回值的的整型int函数,返回值为1职工编号已存在。

④函数的出口:判断职工编号是否已存在后返回add(LinkList head),继续输入其它职工信息或重新输入职工编号。

功能实现效果如图3-1所示。

图3-1 主菜单界面

3.2 函数流程图

(1)录入职工信息

该功能模块流程如图3-2所示。

图3-2 “录入职工信息”功能模块流程图

(2)添加职工信息

该功能模块流程如图3-3所示。

图3-3 “添加职工信息”功能模块流程图

(3)删除职工信息

该功能模块流程如图3-4所示。

图3-4“删除职工信息”功能模块流程图

(4)修改职工信息

该功能模块流程如图3-5所示。

图3-5“修改职工信息”功能模块流程图

(5)查询职工信息

该功能模块流程如图3-6所示。

图3-6“查询职工信息”功能模块流程图

(6)排序职工信息

该功能模块流程如图3-7所示。

图3-7“排序职工信息”功能模块流程图 运行结果与调试 4.1 运行结果

本系统运行初始页面如图4-1所示。

图4-1 初始页面

在函数开始时,初始化临时结构体数组,让结构体内所有信息为空.,读取目标文件,然后运行功能函数,选择需要的功能。

实现效果如图4-2所示。

图4-2 输入界面

(1)根据自己需要的功能输入相应数字

图4-3职工信息的录入

图4-4职工信息的添加

图4-5职工信息的删除

4-6职工信息的修改

图4-7职工信息的查询

图4-8职工信息的排序

图4-9退出系统

(2)录入职工的信息,通过手动录入和文件录入两个方法录入职工的信息。

图4-10职工信息录入的方式

(3)查找职工的个人信息,通过输入编号、姓名、部门、基本工资、奖金和总工资进行查找。

图4-11职工信息的查询方式

(4)职工信息的排序可以通过编号排序、姓名排序、部门排序、基本工资排序、奖金排序和总工资排序。

图4-12职工信息的排序方式

(5)每次将职工信息输出在屏幕上时,都会通过fwrite写到文件D:woker.date中。

(6)根据数字提示结束程序。

4.2 程序调试

(1)每个选择界面之后,前一屏幕的内容依旧存在,影响界面的美观;经过同学的帮助及上网搜索,发现利用“system(“cls”);”可以消去前一屏幕的内容;然而接下来又出现新的问题:有些函数会出现错误;经过多次调试和修改,才发现把“system(“cls”);”放在调用的函数之前以及适当的位置可以解决此问题。(2)修改员工信息时,输入职工编号查询出多条信息,修改错误!后来加入职工编号唯一判断的函数,让职工编号唯一不重复。

(3)排序,开始交换指针指向,一直出现指针不存在导致乱码问题,后来修改为交换指针的数据域。

(4)文件写入磁盘,用笔记本打开磁盘内的文件乱码,经查询资料了解写入磁盘的文件是二进制数据,不能通过笔记本打开,可重新把文件读入程序中,在程序中显示。

(5)忘导入,导致strcmp不能用。(6)字符串输入输出要用%s。

结束语

工资管理系统对于决策者和管理者来说都至关重要,所以工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件工资档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对工资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工资管理的效率,也是科学化、正规化管理的重要条件。

这一个月以来,在开发这个工资管理系统过程中,我深刻地体会到了自学能力的重要性。毕竟在学校学习到的知识是有限的,而在开发系统的过程中仅凭原有的一点点知识是远远不够的,只有翻阅大量的资料才能学到更多的知识,才能实现其预期的功能。在开发过程中,遇到困难是在所难免的,期间我跟我的指导老师和同学们进行交流,从中明白了很多。开发一个系统,恒心和毅力也是不可缺少的。同样,在开发过程当中,细心也是非常重要的,由于很多事项都要很注意才行,如果没有做到这一点,就会出错。

在这里要同学的帮助、老师的悉心指导下基本完成本次课程设计,基本达到了工资管理系统的要求。

小组各成员心得体会

Xxx:

这个系统实现了对员工信息的存储、修改、删除、查询及排序。从拿到题目到完成整个编程,从理论到实践学到了很多东西。通过这次程序设计我深入了解了链表、结构体,也学会了文件的读写,懂得了理论和实际结合是很重要的。在设计过程中遇到了很多问题,这毕竟是第一次做,同时在设计过程中发现了自己的不足之处,对以前所学的知识理解的不够深刻,掌握的不够牢固,比如单链表。总之不收获很多!

Xxx:

通过这次课程设计,我对数据结构中单链表的应用有了更深的理解,并且深刻的认识了实践的重要性,只有理论与实践相结合才能很好的学习。发现想要做好课程设计,仅靠书本上的知识是不够的,还需要查阅其他的程序和知识。在这个过程中,我充分认识了数据结构在编写程序方面的重要地位,知道它的特点是可以用存储单元来存储数据,并且可以方便的实现对数据进行插入、删除和遍历等操作。

Xxx:

这个课程设计实现了对职工信息的管理,通过录入、添加、修改、删除、查询等实现对职工信息的管理。通过这次的课程设计,我学到了很多的东西。同时也找到了自己很多的不足之处。在这次课程设计中,由于以前没有好好学这门课,所以很多知识掌握的不够好,导致在编写的时候遇到很多困难,但是通过队员的帮助,得到了解决。这次课程设计,不仅让我学到了知识,更好的掌握了函数、结构体、指针、单链表等的用法,也让我知道了团队的重要性。

Xxx:

通过这次课程设计我学到了许多在课堂没有学习好的知识,同时也巩固了我之前学习的知识,在设计的过程中我补全了自己的不足,找到自己掌握的不牢固的,还有理解的不深刻的,比如:函数,结构体等等,通过这次课程设计我提高了独立思考的能力和自己的实际动手能力,我还学会了如何用流程图来表达自己的想法,同时这次课程设计也让我们小组之间加深了了解,总的来说,这次设计让我的c语言知识更加丰富!

Xxx:

经过两学期的C语言学习,我们掌握了C语言的基础知识,我对课程设计有了一定的了解和体会。并且通过这次课程设计使我懂得了理论与实践相结合是很重要的。从理论中得出结论,才能真正为今后的学习、工作服务,从而提高自己的实际动手能力和独立思考的能力。在这次程序设计中,我充分领略了C语言功能的强大,包括函数、数组、指针、结构体、文件等。而且我学会了最基本的替换,然后扩展到循环、嵌套,条理很清楚。让我也深感集体的强大力量,很多东西并不是一两个人就可以完成的,比如这个小型工资管理系统程序的编写,俗话说“众人拾柴火焰高”,经过共同的努力,最终克服难关开发出了该系统。在本次课程设计中,还有一点不得不说,通过这次程序设计书的编写让我深刻的意识到拥有好的文笔是多么的重要,我们虽为工科生,但是在以后的工作岗位上也不得不面临着各种各样的工作,所以文笔也是非常重要的。

参考资料

[1] 工资管理系统课程设计程序http://blog.csdn.net/JZQT_T/article/category/2317235

[2] C语言程序设计规范及基础

https://wenku.baidu.com/view/58b***409c7b.html [3]《明解C语言 第3版》,(日)柴田望洋著,人民邮电出版社 [4] 《C Primer Plus 第6版 中文版》,姜佑 译,人民邮电出版社 [5] 《C程序设计 第四版》,谭浩强著,清华大学出版社 [6]《C和C++实物精选》,徐波著,北京邮电出版社

附录

学生成绩考核管理办法 篇6

对学生进行学业成绩考核,是教学过程的重要环节。考核既是对学生平时学习情况的检查,也是对教师教学效果的检验,反映了学生掌握、运用知识的能力和程度,也反映了教学水平。为提高教学质量,必须加强考核管理,严格考试要求,严格考场纪律。

第一章

考核方式与命题 第一条

学生必须参加教学计划规定的课程考核。考核分为考试与考查两种。按教学计划开设的课程,每学期都应进行考核。

第二条

考试可采用笔试、口试、实际操作等不同方式进行,笔试可用闭卷或开卷形式。考试成绩一律采用百分制记分。

第三条

社会实践、实习、课程设计以及毕业论文(设计)等可采用考查方式进行。考查成绩以“优秀”、“良好”、“中等”、“及格”、“不及格”五级制记分。百分制与五级制的换算标准是:90-100分为优秀(A)、80-89分为良好(B)、70-79分为中等(C)、60-69分为及格(D)、59分以下为不及格(F)。

第四条

考试命题必须以教学大纲为依据,其覆盖面要广,能涉及基本内容和要求,着重考核基本理论、基本知识、基本技能和分析问题、解决问题的能力和创新能力。

任课教师应在命题时填写命题双向细目表。试题应有不同层次的要求,要有一定的深度和广度,难度较大的试题应占适当数量,以便区分不同水平的学生。试题的分量要根据考试时间而定,试题的叙述必须清楚,避免出怪题、偏题、含糊不清的题。

第五条

教学内容、学时数、进度相同的课程一般应实行统一命题考试。各门课程都应拟定内容不同、而分量难易度相当的A、B两套试题,经教研室、系、学院主管领导审批密封后在规定的时间内交教务处,由教务处指定一套为正常考试用题,一套为补考用题。命题的同时,应订出标准答案和评分标准。

第六条

试题一律由任课教师按学校统一规格用电脑打印,校对无差错后,在教务处规定的时间内交教务处印刷装订。监考教师于考试30分钟之前到指定地点领取。对未能按要求提交试题的单位,要给予全校通报。

第七条

试题从命题到考试的整个过程,必须严格保密,如有泄露,要追究责任,从

严处理,并立即采取补救措施。

第二章

成绩评定要求 第八条

教师对阅卷要认真负责,要严格按照评分标准进行评分,实事求是,做到公正公平。有条件的课程(两名和两名以上教师任教同一门课程的),应实行集体评卷制度。

第九条

成绩评定以期末考试成绩为主,适当参考平时成绩(包括平时听课、作业、讨论、实验、测验等方面的成绩),考试成绩约占70%,平时成绩约占30%。实践性强的课程和单独开设的实验课,平时成绩可占50%,具体比例由系主任根据课程性质确定。

第十条

任课教师应在评定成绩的同时,填写考试质量分析表。各门课程的成绩,一般应为正态分布。如有不正态分布,学院、系主管领导应抽阅试卷,分析命题和评分情况,并向教务处提出书面分析报告。若命题符合基本要求,而评分有过松或过严的情况,应及时纠正。

第十一条

课程成绩由任课教师一式二份(公共课一式三份)填入《学生成绩登记表》。成绩要求在考试结束后三天内评好并连同试卷送交学生所在学院,学院收到成绩后必须当天把其中一份交教务处。评卷登分过程必须认真复查,避免出现漏评、漏记、错记和合分的差错。

第十二条

考试成绩由学院向学生公布。学生不得向教师打听评卷情况和成绩。考试成绩一经评定,任何人不得随意更改。如学生对评分有异议时,可以书面向学院办公室提出,经同意后,指定专人与任课教师一起查阅试卷,如确有错需要更正的,任课教师应把情况、更改分数填入审批表,经学院领导审核后送教务处更正备案。不办手续擅自更改原评定成绩者,不予承认,并对其进行严肃批评教育,直至纪律处分。

凡因各种原因没有参加考试的学生,必须在其成绩表中注明“缓考”、“旷考”,作弊学生应注明“作弊”等字样。期末考试的试卷,由系保留至学生毕业后一年。

第三章

考试组织工作 第十三条

每学期的最后两周为全校集中考试时间。考试时间一般为2小时,口试时间每人不超过20分钟。教师不得自行延长或缩短考试时间。

统考课程由教务处统一安排考试时间,其余课程由学院安排。各学院应在教务处规定的时间内把期末考试安排按要求打印好送教务处,考试2周前由学院向学生公布考试安排情况并分发给有关人员。考试安排一经公布,不得任意更改。

第十四条

学生必须按规定的时间参加考试,因故不能参加考试,必须事前以书面向学院办公室申请(因病要附上医院证明),经主管领导审批后报教务处核准备案方可缓考。未经批准而缺考者作旷考论。缓考安排在该课程补考时间进行,其成绩按正常考试记分,但不及格不再给予补考。如果学生不在规定时间参加缓考被视作旷考,也必须重修。

学生因特殊原因不能在正常的补考时间内参加缓考,须事前持有关证明,经院、系主管教学领导审核,向教务处申请再次缓考,但申请再次缓考最多只可一次。

旷考者,该课程成绩以零分计,由教务处视其具体情况决定是否允许其参加补考。

第十五条

有下列情况之一者,不准参加正常考试:

1.旷课累计达到该课程教学总时数四分之一者;

2.缺课(含旷课或请假)累计达到该课程教学总时数三分之一者;

3.平时欠交作业或不参加实验累计达到总数三分之一者;

4.学生的作业或实验报告系抄袭别人,且情节严重,拒不悔改者。

有上述情况者,若自行参加考核,其考核成绩无效。欠交作业或实验者,待补齐作业或实验后,经任课教师同意,可以参加补考。其他则由教务处视其具体情况决定是否给予补考机会。

任课教师应严格做好审查工作,在考核一周前,将取消考核资格的学生名单报学生所在学院,由学院通知学生并报教务处备案。

第十六条

考核不及格的课程安排一次补考。补考通知由各学院负责发给学生,补考工作由学院按教务处要求统一安排。

1.除最后一学期(毕业学期)外,补考时间安排在下一学期开学正式上课后第一、二周进行。补考不及格应该重修,重修须交纳重修费。补考因特殊原因缺考者,不再单独组织补考,必须重修。

2.最后一学期(毕业学期)考核不及格的课程,在离校前安排一次正常补考,补考不及格者,可申请留校重修或结业;实习、毕业论文(设计)考核不及格者,不再安排补考和补做,可申请留校重修或结业。

第十七条

各门课程的补考成绩,任课教师应在补考结束后二天内评好送学生所在学院,各学院应在每学期开学后第二周内将补考成绩归档,并报教务处。

第四章

考场管理 第十八条

考场一律采用单人单桌编定座位,如在阶梯课室考试,必须按隔排隔行编座。监考人员要提前进入考场,随机编好座位。考生须对号入座。

第十九条

各门课程考试均须配备一定的监考人员。每个标准考场至少配备2名监考人员。

第二十条

考生凭考试证进入考场,迟到30分钟不准入场,作旷考处理。考试中途,考生一般不得离开考场。

第二十一条

除笔、橡皮擦、尺等文具和教师指定携带的耳机、计算器外,其它物品如教材、学习资料、笔记本、作业本、纸张、笔盒、眼镜盒、录音器材、电子记事簿、通讯工具(包括BP机、对讲机、手提电话)等,一律不得带入考场。若带有上述物品,应集中放在指定地点。计算器经监考人员宣布后才能使用,但不准互相借用。

第二十二条

监考人员不宣读试题,不解释试题。考生遇有考题字迹不清时可举手询问,其他问题一概不予回答。

第二十三条

考生应按时交卷,逾时交卷者考卷作废。答卷不得由他人代交。交卷时不准翻阅他人答案。考试结束时间一到,考生应停止答题,静候监考人员收齐试卷宣布结束后,方能离开考场。

第二十四条

保持考场附近安静,考生交卷后要尽快离开考场,不准停留观望或高声谈论,以免影响他人考试。

第二十五条

考生必须独立完成考试,有下列情形之一者,均属作弊行为,该课程成绩以零分计,不准参加补考(如为补考或重修时作弊者,取消其一次重修机会),并视其情节轻重给予纪律处分:

1.旁窥或夹带与该课程的内容有关的材料及通讯工具等但未发现抄袭者,给予警告处分。

2.考卷不得由他人代交,凡由他人代交者,如经查出,双方均按作弊处理,并给予警告处分。

3.互打暗号手势、传递纸条、交换答卷者,均给予严重警告处分。

4.偷看、抄袭有关资料及他人答卷者,给予严重警告处分。

5.在评卷中被认为雷同者,将试卷或答案卷带出考场者,给予严重警告处分。

6.有意将自己的答案让他人抄袭者,给予严重警告处分。

7.请他人代考或替人代考者,给予留校察看一年处分。

8.偷改成绩或窃取试卷者,根据其情节,给予记过直至开除学籍处分。

第二十六条

学生在校期间累计两次考试作弊者,给予勒令退学处分。

第二十七条

在考试中,扰乱考场纪律,无理与监考人员争执或撕毁试卷者,给予记过处分。

第二十八条

各学院发现学生考试作弊,应在考试结束后当天内将《学生考试作弊呈报表》及其考卷、作弊材料、考场记录表送交教务处,教务处应在24小时内作出处理。

第五章

监考守则 第二十九条

监考人员必须配戴监考证,要在考试15分钟前进入考场,做好考试准备工作,并向学生宣布考场纪律及注意事项,并按时发卷。

考试前应检查考场。除教师指定须携带的文具外,考生所带物品都应集中放置。

考生对号入座,考试证要放在桌面上,监考人员要逐一查核学生身份,严禁冒名代考。

第三十条

监考人员对试题内容不得作任何解释和暗示。考生对字迹不清询问时,应予当众答复。

第三十一条

监考人员在监考过程中,要认真巡视考场,注意考生动态,不得看书阅报、聊天谈笑或做与监考无关的事情,所带通讯工具必须关闭,不得随意离开考场。

第三十二条

监考人员要严格履行监考职责,严格执行考试纪律。对作弊有据者,应立即收缴其考卷和作弊材料,令其离开考场,并将情况填入《考场记录表》,考试结束,应立即将实情向学生所在学院报告。

第三十三条

监考人员要准时收卷,不得随意延长考试时间。收回的试卷要清点。

第三十四条

监考人员在监考中迟到或不到;监考不严格认真,对考生考试作弊现象不管不问、放任自流的,均为监考人员失职行为,一经查实,按有关规定严肃处理。

第六章

考场巡视制度 第三十五条

集中考试期间,要加强对考试考场的巡视和领导。学校、教务处、学院各级领导每天应有人值班,以便及时处理突发事件。

第三十六条

每学期考试期间,成立以学校领导为首的巡视小组,负责对全校考试工

作的监督指导。

第三十七条

巡视员的主要职责是:检查各考场的考试纪律及监考人员执行考场规则情况。每次巡视应填写《巡视考场登记表》,送交教务处。

第三十八条

中职学生怎样学好C语言 篇7

C语言是一门计算机程序设计语言, 它功能丰富、表达力强、使用灵活, 特别适合编写系统软件。它是很多编程语言的基础。比如C++、C#、VB.net、VB、Java等。学好了C语言, 以后可以轻松学习其他的编程语言。

一、中职学生学习C语言的状况

1、由于英语和数学方面的基础较差, 在C语言学习中会遇到很多困难, 往往丧失学习热情。

2、认为C语言有很多概念和规则, 产生学习困难的心理, 容易半途而废。

3、遇到程序分析或程序设计, 更感头痛, 上课极不认真。

二、中职学生应该怎样学好C语言

1、兴趣是最好的老师, 既学之, 则爱之。

C语言是各种语言的基础, 我们要学好。先要对它产生兴趣。你对它有了兴趣, 不管学得有多难, 你都会坚持, 甚至会感觉学习C语言是一种快乐。它是一门语言, 就和汉语、英语一样, 都有自己的语法规则, 学习起来不会很难, 不要产生畏难情绪。

2、要记住“千金难买回头看”。

这是学习知识的重要方法。学到后面的知识时, 不要忘记回头弄清前面未懂的问题, 加深理解前面的知识, 这是最重要的。比如:C语言中的结构化程序设计方法, 当我们学到它时, 如果你不能充分体会, 等我们学到函数时, 再回头体会, 理解它就没有那么难了。那么, 学习C语言就是要经过不断的复习和总结前面学习过的知识, 这样才能前后贯穿, 理解整个知识框架。

3、学好C语言的运算符和运算顺序。

它们是C语言的基础, C语言的运算符很多, 它可以使表达式变得简单, 多种不同运算可以组成一个运算表达式。比如表达式:

对于c=++a*b来说, 按表中所列顺序, ++先执行, *后执行, 所以++a执行后, a的值为4, 由于++为前置运算, 所以a的值4参与运算, C的值计算式为4*5=20而不是3*5=15了;而对于d=a++*b来说, 由于a++为后置运算, 所以a值为4参与运算, 使得d的值仍为20, 而a参与运算后其值加1, 值为5。

这个例子执行后, a的值为5, b的值为5, c的值为20, d的值也是20;

面对这样的表达式, 我们需要总结运算符的优先顺序和结合规则, 找出它们和我们在数学中所学到运算符之间的不同点, 然后记住, 这样做题时就不会混淆。

4、学好C语言的三种程序结构。

顺序结构、分支结构、循环结构。顺序结构的程序设计最简单, 这三种结构可以互相嵌入, 分支中可以有循环、顺序结构, 而循环中也可以有分支和顺序。在学习中, 我们只要掌握每个结构中不同的语句的执行过程, 再根据我们实际问题来选用哪种结构。

(1) 顺序结构。顺序结构的程序设计是最简单的, 只要按照解决问题的顺序写出相应的语句就行, 它的执行顺序是自上而下, 依次执行。顺序结构可以独立使用构成一个简单的完整程序, 常见的输入、计算、输出三步曲的程序就是顺序结构, 例如计算圆的面积, 其程序的语句顺序就是输入圆的半径r, 计算s=3.14159*r*r, 输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分, 与其它结构一起构成一个复杂的程序, 例如分支结构中的复合语句、循环结构中的循环体等。

(2) 分支结构。顺序结构是自上而下的的执行。但在编写程序时, 总会遇到一些当满足某种条件时才执行相关的语句的问题, 这时顺序结构是无法解决的。而分支结构可以解决。简单地说分支结构是当条件满足时就执行, 条件不满足时就不执行。我们学习的重点在于弄清它们相同与不同之处, 以便在不同场合下使用分支结构。

(1) if语句如:要计算x的绝对值, 根据绝对值定义, 我们知道, 当x>=0时, 其绝对值是x本身, 而x<0时其绝对值是x的相反数, 因此程序段为:if (x<0) x=-x;

(2) if…else语句如:if (x>y) 输出x, else输出y;

(3) if语句的嵌套, 执行方法和第 (2) 相似, 但要求的是else总是与第一个未曾配对的if配对, 所以要把配对弄清楚;

(4) switch语句, 该语句也叫多分支选择语句。如:给成绩评等级。

(3) 循环结构。循环结构可减少程序重复书写的工作量, 用来描述重复执行某段程序, C语言提供三种循环:while循环、do while循环和for循环。它们可以用来处理同一问题, 一般情况下它们可以互相代替换, 我们学习的重点在于弄清它们异同之处, 以便在不同情况下使用。这就要清楚三种循环的格式和执行顺序, 明白如何替换使用。可以把while循环的例题, 用for语句重新编写一个程序, 这样能记住它们的不同。要特别注意在循环体内循环变量值的改变, 否则就可能成一死循环, 这是初学者的一个常见错误。

在学完这三个循环后, 我们应总结它们的异同点:用while和do…while循环时, 循环变量的初始化的操作应在循环体之前, 而for循环一般在语句1中进行的;while循环和for循环都是先判断表达式, 后执行循环体, 而do…while循环是先执行循环体后判断表达式, 也就是说do…while的循环体最少被执行一次, 而while循环和for就可能一次都不执行。另外还要注意这三种循环都可以用break语句跳出循环, 用continue语句结束本次循环。

5、学好C语言中的常用算法。

学习C语言, 编程是重点。一个程序是由数据结构和算法构成。例如:菜谱。数据结构指的是配料, 应用哪些原料。算法就是如何使用这些配料按规定的步骤做成菜肴, 也就是我们为解决一个问题而采取的方法和步骤。我们编程时要先分析问题, 然后找到解决的方法, 再编写代码。我们掌握一些简单的算法后, 对我们编程、理解代码有很大的作用。如:两个数的比较、交换, 冒泡排序等。

6、多看别人的程序。

开始的时候要多看一些基本语法, 并且看懂书上的例题, 多收集并多看别人的程序, 记住它的思想。自己再找些题目试着写, 如果写不出来, 不要放弃, 想想自己为什么写不出来, 然后回头继续看, 直到自己能写出来。长此以往, 进步不小!

7、多上机练习。

理论的学习是离不开实践, 将书上的例子和你自己写的程序在电脑上调试, 搞清楚具体运行过程, 然后修改部分语句, 运行程序, 看有什么变化。这样才能不断地发现问题, 对比、解决问题, 也才能提高编程技巧和能力。

8、同学之间互勉互励。

气馁时有人鼓励, 成功时有人提醒:不要骄傲!三人行必有我师, 学习路上有人伴行, 学得自信、学得快乐!

只要我们有上进心, 学会C语言的基本知识, 把各种要点掌握, 学好算法和编程, 自己多运行多调试, 在实践中就会提高自己的编写能力。当你自己独立完成了一个程序时, 你会有一种成功的喜悦, 就会越来越有兴趣学好C语言!

参考文献

[1]周小萍.浅谈如何学好C语言[J].电脑知识与技术, 2012 (12) .

[2]薛志文.浅谈C语言的学习[J].电脑知识与技术, 2010 (18) .

c语言学生成绩管理 篇8

【关键词】课程质量管理 PDCAC语言 改进 方案

一、引言

C 语言程序设计课程对计算机专业的学生来说是重要的一门专业基础课,是软件工程、网络工程、计算机科学与技术等相关专业的必修课程。作为C++程序设计、数据结构与算法相关专业课的前续课程,在计算机课程体系中起着重要作用。对于非计算机专业的学生来说,C语言程序设计课程对培养严谨的思维习惯和对其他学科的辅助学习等都起着重要的作用。

本文基于项目质量管理中的PDCA循环原理(戴明环)[1],对C语言程序设计课程提出改革思路及措施。

近年来,C 语言课程的教学改革工作已取得新的成绩。目前课程教学方面,提出了[2][3]任务驱动教学法、项目教学法、趣味化教学法、计算思维驱动法等[4]。虽然对课程教学质量的提高有了积极的促进,但是距离培养高水平计算机人才的目标仍存在一定差距。为了达到这个目标,本文将项目质量管理过程PDCA循环原理,运用到课程质量管理过程,结合学校学生的具体情况,以改进和完善教学方案,从而提高教学质量。

二、PDCA循环原理

项目质量管理过程可归纳为PDCA循环,即计划(Plan)、实施(Do)、检查(Check)、处理(Action)四个阶段。这是由美国著名管理专家戴明博士首先提出的,所以也称之为“戴明环”。

对于课程质量管理来说,在第一阶段也就是计划阶段(P), 具体工作步骤分为四步:1.分析教学质量现状,找出存在的问题。2.分析产生教学质量问题的各种原因或影响因素。3.从各种原因中找出影响教学质量的主要原因或因素。4.针对影响教学质量的主要原因或因素制定对策,拟订改进质量的管理、技术和组织措施,提出执行计划和预期效果。

三、课程质量管理过程中的计划阶段(P)

(一)C语言程序设计课程教学存在的问题

对于C语言程序设计课程,根据以往的教学经验,以及对计算机专业和非计算机专业学生问卷及访谈。参考计划阶段(P)的工作任务,得出在教学质量和学生学习过程中,存在问题主要原因归纳如下。

1.教学方法和教学手段存在问题。传统教学中,学生一开始学习C 语言就进入到语法知识记忆和理解中,无法形成真正的编程能力。而教师往往采取“先理论,后实践”的教学模式,以自我为中心进行授课,对学生的作业不能及时做出反馈。很多学生即使能看懂程序,自己编写程序时也无从下手,这使学生很难自己写出程序,最终导致学生兴趣下降,极大地打击了他们学习的积极性,又影响了后续课程的教学。

2.教学内容存在问题。C 语言课程中由于涉及的概念多而杂, 数据类型及表达式丰富,语法结构复杂,传统的C 语言教学模式, 其特点是以语法知识为主线进行线性教学, 侧重于C 语言语法知识的传授[1]。实践教学中,部分学生认为理论课时与实践课时分配不合理,对大量的语法规则、语句格式练习不足,容易产生畏难心理,进而对该门课程的学习失去信心。因此教学内容的选取和课时的合理安排和组织显得尤为重要。

3.学生的学习方法存在问题。由于网络应用普及,学生遇到问题时通过直接上网搜索解决,一部分学生为了完成作业,采取直接抄袭或者上网搜索,一部分学生既不能充分利用实践课的时间练习,也不会利用课余时间进行编程练习,因此学生很难掌握编程的技能, 不易很快进入编程的状态。

4.考核评价方式存在问题。很多学生认为平时成绩+期末笔试的考核方式不能有效地考查学生的C 语言编程能力,考核过程中存在不公平现象。 例如,对于平时编程作业的抄袭问题,期末考试是以上机操作还是笔试作为考核方式,平时成绩和期末成绩所占比例大小等。

(二)提出教学方法改进措施

在C语言程序设计教学中,应打破原有的教学模式,将C 语言知识用生动的例子逐步引入,以提高学生对于C 语言程序的阅读能力。对于学生来说,应以提升分析与解决问题能力、团队协作能力作为主线,在提高学生个人阅读程序能力的同时,将经典的C语言程序段分配给学习团队,以提高团队整体协同分析和阅读程序的能力。并在此基础上,促进和提高学生的编程能力。

(三)提出教学内容改进思路

针对技术应用型计算机人才,对C 语言程序设计课程的教学内容进行分类和整合,以应用为出发点,将课程中的重点和难点内容,穿插在有趣的和经典的案例中,把C 语言具体教学内容进行整合,形成入门知识群、初级知识群、中级知识群、高级知识群等4 大模块。强调“学以致用”,例如将数据类型、运算符、表达式等抽象的知识分散到各个模块,即学即用;各个模块包含一个模块项目并设计多个编程题目,模块项目应选取与学生日常学习和生活联系紧密的,如选课系统、成绩管理系统、校内社交平台等,旨在培养学生的动手能力;在C 语言教学四大模块中的初级知识群阶段,可以将程序编程风格纳入教学内容,旨在培养学生良好的编程风格及严谨的程序思维习惯。

四、课程质量管理过程中的实施阶段(D)

课程质量管理过程阶段的主要工作任务是按照前一阶段所制定的计划,采取相应措施组织实施,即执行计划和措施。

基于PDCA循环原理,以模块项目为导向组织教学,通过课程质量管理为驱动,将相关理论知识引入教学改进的过程中。教师授课应坚持“边讲边练”“讲练结合”“讲少练多”,以实用为原则。教师利用生动的案例来提升学生阅读程序的能力,从而提高学生分析和解决实际问题的能力。采用案例驱动的教学模式,对程序阅读能力的提升有积極的促进作用。对应用型计算机人才来说,读程序的能力较之写程序的能力显得更为重要。在实际的授课过程中,可将学生分为5人小组,对经典程序的阅读和分析,撰写分析报告,并进行各组阅读质量的测评。小组成员分工完成模块项目的设计、编码、调试和运行,培养学生的团队协作能力。

(一)实施课程教学改进措施

课程教学改进措施实施过程中,应将学生分成小组,鼓励学生自主学习,加强程序阅读能力和编程能力的训练,运用组内讨论、启发引导、任务分解、头脑风暴、项目为导向等多种互动式教学方式,完成课程教学任务。利用我校现有C语言网络教学平台向学生提供视频、算法FLASH演示、名师指点、重点难点解析等丰富的教学资源,平台同时提供课件、案例、教学大纲等网络资源的下载服务。学生可以利用C语言网络教学平台提交作业。

(二)实施C语言网络教学的改进与优化

为了提高学生的C 语言编程能力,在我校现有的C语言网络教学平台上,增加在线评测系统。该系统具有在线提交程序、实时评测、优秀实例展示、知识点讨论等功能。学生通过评测系统完成作业和实验,既可以提高评测结果的准确性、实时性和公平性,也可以将教师从琐碎的评测工作中解放出来,可以通过知识点讨论区等方式及时解答学生课后遇见的编程问题。另外,可以引入排名机制,学生通过在评测系统上完成编程题目,展示智慧成果,提升个人在系统中的排名位次。通过排名不断上升、个人优秀程序段的展示等,学生自然而然会产生成就感,随后会更主动地去完成更多编程题目,从而形成良性的愉悦的学习过程。

五、课程质量管理过程中的检查阶段(C)——考核评价方式

课程质量管理过程,主要工作任务是检查执行的情况,判断是否达到了预期效果,再进一步查找问题。

基于“过程评价”的考核机制。针对C语言程序设计课程改进,应倡导以“过程评价”为基础。结合我校学生层次和课程的实际情况,制订行之有效的考核评价机制,主要包括:过程性考核和完成性考核。过程性考核针对学生上课期间的出勤、实验、章节测试、模块项目完成情况及完成质量等方面对学生进行全面科学的考核,原则上占期末总评成绩的60%;完成性考核以期末考试成绩为主,占期末总评成绩的40%。考试形式为C语言网络教学平台上机考试,对本课程所学内容进行综合性考核,题目包括选择、填空、程序阅读、程序改错、程序补充以及完整的程序设计等,以取得更加准确和客观的成绩,并且能够有效反映学生的C 语言编程能力。

六、课程质量管理过程中的处理阶段(A)

这一阶段的主要工作任务是对检查结果进行总结和处理。工作分两步进行,即:1.总结经验,纳入标准;2.将遗留问题转入下一课程质量改进循环。

(一)代码抄袭问题

在C 语言程序设计课程教学推进过程中,代码抄袭是无法避免的问题。如果抄袭行为不能得到有效控制,也就是说抄袭的代码如果不能被快速准确地检测出来,有抄袭代码行为的学生得不到相应的惩戒,那么真正独立编写代码的学生,学习的积极性将会受到严重的影响。同时会对上文提出的考核方式产生较大的负面影响,同样也就无法真实反映教学测评的客观性和可行性。

(二)代码抄袭检查机制

對代码抄袭检查,在新一轮的教学质量改进循环中,可以对C语言网络教学平台进行升级完善,增加抄袭检查功能,利用相应的技术手段对学生提交的程序代码进行比对检查,从而判断该程序代码是否是通过对另一个程序的修改得来的。

学生提交的程序,与比对库中的程序的相似度越高,抄袭的可能性就越大。充分利用C语言网络教学平台,收集学生提交的程序代码,然后使用抄袭检查工具进行检测。通过对学生的程序代码进行两两比较,可以测得相似度并根据相似度,获取可能存在抄袭嫌疑的代码。根据上述检查结果,可以及时发现并纠正学生存在的问题。这样既能减轻教师的工作负担,同时又可以最大限度地保证考核的公正性。

(三)良好编程风格和程序思维的养成

通过教学方法改进,可以促使学生养成良好编程风格,培养学生严谨的程序思维习惯。在后续工作中,可以将编程风格等纳入课程考评范畴,编程风格的好坏,在程序代码考核中将影响学生最终成绩的评定。

七、结语

基于项目质量管理中的PDCA循环原理,结合课堂教学经验和学生的实际情况,以培养技术应用型人才为目标,提出C语言程序设计课程质量及教学方法改进方案,依托于学校现有C语言网络教学平台进行实践,为培养符合现代IT企业需求的技术应用型人才提供较为完善的课程质量理论基础并创设良好的教学环境。

【参考文献】

[1]王祖和.项目质量管理[M].北京:机械工业出版社,2009.

[2]张秋生.C语言程序设计课程教学改革与实践[J].软件导刊,2012,11(2): 164-165.

[3]储岳中,秦锋,刘宏申.C 语言程序设计理论与实践一体化教学的几点实践[J].计算机教育, 2012(12): 22-25.

上一篇:环评实习总结报告下一篇:小班小鸟回家