c学生档案管理系统

2024-05-04

c学生档案管理系统(精选6篇)

篇1:c学生档案管理系统

《档案管理学》模拟卷

3一、判断题

1、全宗的补充形式可以在方便的时候随意采用。(错误)

2、档号就是页号。(错误)

3、档案检索效率通常采用检全率和检准率这两个指标来衡量,与之相对应的分别是误检率和漏检率。(错误)

4、立档单位就是形成全宗的单位——全宗构成者。(正确)

二、名词解释

1、档案收集工作p702、档案证明p1963、大事记p211

三、简答题

1、归档制度的具体内容有哪些?p792、简述档案保管工作的意义。P1363、简述人物全宗内档案的分类。P107

四、论述题

1、论述档案分类的常用方法及其应用。P1032、论述电子文件的归档工作。P286

篇2:c学生档案管理系统

一、学生选课管理系统

第一部分:课程设计名称、目的、要求

第二部分:程序总体设计思路

第三部分:程序功能划分、图示及流程图

第四部分:程序设计数据、运行结果

第五部分:程序的优缺点

第六部分:心得体会

第七部分:附录(源程序)

第八部分:附录(参考文献)

目录

..............................................................................第一部分:课程设计名称、目的、要求

名称:学生选修课程系统设计

目的:运用C语言提高解决实际问题的能力 实验环境:Microsoft Visual C++ 6.0 内容:

假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。【功能】

系统以菜单方式工作

课程信息录入功能(课程信息用文件保存)--输入 课程信息浏览功能--输出

查询功能:(至少一种查询方式)--算法 按学分查询 按课程性质查询 学生选修课程(可选项)

第二部分:程序总体设计思路

由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。

具体的设计思路如下:

程序的要求是设计学生选修课管理系统,对选修课程能够进行录入和修改操作等,要求有菜单界面和退出功能。首先,考虑到程序的数据输入,可以设置一个管理员登陆选项,通过该选项进入管理员界面,进行选修课的录入和修改操作,最后将录入的课程保存到相应的文件中。然后定义各种函数的功能包括查看,查询,删除等。另一个为学生登陆界面,该界面学生可以进行课程选择和浏览查询等操作。在进行该操作之前需要对管理员保存的文件进行读取,然后对其中的内容进行查询等,在学生选好课程以后,可以将其选好的课程保存于相应的文件中,以便下次进行修改。通过函数的层层调用来实现程序的逻辑结构。中间通过文件的打开和关闭实现对文件内部所包含的数据的操作。

整个程序的设计思路到此结束。

第三部分:程序功能划分、图示及流程图

【功能模块划分及其流程图】

本程序功能模块根据程序设计的需求,综合程序的实用性、人性化、智能化的考虑,将程序划分为6个部分分别编写,程序主体功能将由这9个部分来完成。这9个部分依次是:

1.登录界面函数;void login()2.学生登录界面据函数:void stu_login()3.管理员登录界面函数:void man_login()4.退出界面函数:void bye_sys()

5.课程选择函数:void c_select()6.课程浏览函数:void c_view()7.课程查询函数:void c_search()8.课程增加函数:void c_add()9.课程删除函数:void c_delete()10.菜单函数:void index()11.主函数部分; main()

总体设计:

学生选课系统管理员登录学生登录新增课程删除课程课程浏览查询课程学生选课课程浏览课程查询c_add函数c_delete函数c_view函数c_search函数c_select函数c_view函数c_search函数

系统功能模块图

部分函数流程图:

1、课程选择函数:

开始输入要选择的课程的编号j=0;j

2、课程查询函数

开始输入要查询的课程的编号j=0;j

3、课程增加函数

开始输入要增加的课程的编号j=0;j

4、课程删除函数

开始输入要删除的课程的编号nj=0;j

本程序是一款应用软件,故数据设计、程序运行结果应在程序的

运用中得以体现,现在通过一个程序的运用事例来对程序运行结果进行演示与实现。【软件运用举例】

1、程序开始界面如下:

选择某个选项,如进行管理员登录,进行课程的增加 进入管理员界面:

2、再选择所要进行的操作,如进行课程增加,结果如下:

下面可以进行继续增加课程或者退出:

3、选择课程浏览,可以分页查看相应的课程信息: 第一页:

第二页:

4、课程查询

查找结果:

4、管理员课程删除操作:

删除后可以进行浏览,观察删除后的结果:

可见删除后只有一条记录。删除操作完成正确。下面进行学生操作的使用方法:

1、学生登陆界面:

2、选择学生选课选项:

3、学生登陆也可进行课程浏览和查询函数,其结果与管理员登陆相同,不再演示。

第五部分:程序的优缺点

【程序的优点】

算法是程序的灵魂,程序的优点首先表现在算法上的优点,其次才是功能上的。

[算法上的优点]主要体现在以下三点:

1.程序采用main主函数方式设计,程序的主体的功能大都由该功能

完成。程序如此设计有利于程序的进一步改进及有助于程序执行效率的提高。

2.程序对文件数据的读写采用了fread和fwrite块读写函数,能够将文件中的数据完全读出,然后赋到定义的数组中,再在相应的数组中进行一系列操作,最终再写入文件。

3.插入操作在本程序中将课程信息直接插入数组最后一个节点,从而减少了数据的相互移动,节省了时间。

[功能上的优点] 主要体现在以下两点:

1. 简洁明了的程序菜单。程序主要采用了层次不同的菜单,相互独立又相互联系,巧妙相接,符合用户的使用习惯与思维。2. 人性化的程序提示语言,程序提示语言较人性化,不仅大多为祈使语句、疑问句,而且提示明确,具有较强的明确的指导作用。程序提示不仅层次分明,提示方式多样,而且提示信息井然有序,更加有利于用户顺利、准确地看懂程序并进行操作。

【程序的缺点】 主要表现在以下两点:

1、本程序没有进行相应的密码操作,所以对于使用者来说可能存在比较大的不保密性。需要改善。

2、本程序没有使用文本读写函数fscanf和fprintf,所以的到的课程文件和选课文件都是二进制形式。

第六部分:心得体会

选课系统程序比起通讯录程序来讲好写一些,由于本程序用到了数组,对于数组的操作掌握的比较熟练,所以在编写程序的时候困难没有那么多。

本程序在编写的过程中用到了许多通讯录中的模块化设计和函数互相调用的思想,使得编写比较方便和好用。

通过该系统的课程设计分析,我掌握了模块化设计的方法,理解和运用了结构化程序设计的思想和方法,掌握和提高了运用C语言进行程序设计的能力。

程序设计的过程,实际上是确定解决问题的详细步骤,而这个步骤通常叫做流程,在程序设计过程中理清楚整个问题的流程很重要,然后采取逐步细化的方法实现整个程序。

对于一个较大的应用程序,一般不可能一次就设计出一个很完善的系统。通常要先设计满足基本要求的系统,然后再测试或者在使用的过程中不断完善,慢慢地做成一个功能很完善选修课程管理系统。所以在进行调试的时候需要对许多变量理解和掌握其变化规律等,这对于我更好的掌握visual C中调试的工具有很大的帮助。

总之经过这次课程设计,我对c语言的使用和理解都有了很大的加深,对于编程的思想也有了很多新的理解和感受。

第七部分:附录

一、参考文献:

1、李丽娟主编,C语言程序设计教程(第二版),人民邮电出版社

2、严蔚敏主编,数据结构(C语言),清华大学出版社

3、崔单主编,C语言程序设计案例精粹,电子工业出版社

4、谭浩强主编,程序设计(第三版),清华大学出版社

二、源程序

#include“stdio.h” #include“stdlib.h” #include“windows.h” #include“string.h”

void index();//首页 void login();void bye_sys();//退出界面

void stu_login();//学生登录菜单

void c_select();void c_view();//课程浏览

void c_add();//增加课程 void c_delete();void c_searchs();//学生查询函数 void c_searchm();//管理员查询函数 void c_viewm();//管理员浏览函数 void c_views();//学生浏览函数

struct course//定义课程结构体

{

int c_num;

char c_name[20];

int c_score;

int c_nelepeo;//课程已选人数

int c_melepeo;//课程人数上限 };struct student { char s_number[10];

char s_password[10];};struct manager { char m_name[10];char m_password[10];};

void index()//首页 {

char input;

printf(“nnttt*****************************n”);

printf(“ttt

湖南大学学生选课系统n”);

printf(“ttt*****************************nnn”);

printf(“ttt*****************************nnn”);

printf(“ttt*****************************nnn”);

printf(“ttt*****************************nnn”);

printf(“ttt**********设计者:刘晓斌******nnn”);

input=getchar();

system(“cls”);} void login()//登陆界面

{

void stu_login();

void man_login();

void bye_sys();

int input;

do

{

system(“cls”);

printf(“nnnt1.学生登录n”);

printf(“t2.管理员登陆n”);

printf(“t3.退出本系统n”);

printf(“t请选择服务类别:”);

scanf(“%d”,&input);

if(input!=1&&input!=2&&input!=3)//输入数不等于选项的时候打印画面

{

printf(“nt输入出错!请重新选择~n”);

printf(“nt按任意键返回选择页面~nt”);

getchar();getchar();

system(“cls”);

}

if(input==3)//如果输入3退出系统

{

bye_sys();

}

}while(input!=1&&input!=2&&input!=3);

switch(input)

{

case 1:stu_login();break;

case 2:man_login();break;

} }

void bye_sys()//退出界面 { exit(0);}

void man_login(){

void c_add();

void c_delete();

void c_view();

void c_searchm();

int in;

do

{

system(“cls”);

printf(“nnt1.新增课程n”);

printf(“t2.删除课程n”);

printf(“t3.课程浏览n”);

printf(“t4.课程查询n”);

printf(“t5.退出n”);

printf(“nnt请选择服务种类:”);

scanf(“%d”,&in);

if(in!=1&&in!=2&&in!=3&&in!=4&&in!=5)

{

printf(“nt没有这项服务t按任意重新选择”);

getchar();getchar();

}

}while(in!=1&&in!=2&&in!=3&&in!=4&&in!=5);

switch(in)

{

case 1:c_add();break;

case 2:c_delete();break;

case 3:c_viewm();break;

case 4:c_searchm();break;

case 5:login();break;

} }

void stu_login()//学生登录菜单

{

void c_select();

void c_view();

void c_searchs();

void login();

int input;

do

{

system(“cls”);

printf(“nnnt--学生登陆--”);

printf(“nnt1.学生选课n”);

printf(“t2.课程浏览n”);

printf(“t3.课程查询n”);

printf(“t4.退出n”);

scanf(“%d”,&input);

if(input!=1&&input!=2&&input!=3&&input!=4)

{

printf(“nt没有这项服务~n”);

printf(“t按任意键重新选择”);

getchar();

getchar();

}

}while(input!=1&&input!=2&&input!=3&&input!=4);

switch(input)

{

case 1:c_select();break;

case 2:c_views();break;

case 3:c_searchs();break;

case 4:login();break;

} }

void c_select(){

int n,in,i=0,j;int flag=0;

FILE *fp;

FILE *fp1;

char input;

struct course courses[10];

if((fp=fopen(“course.dat”,“rb”))==NULL)//判断是否存在课程

{

printf(“nnnt课程不存在nn”);

printf(“t<按任意键返回管理菜单>nt”);

input=getchar();

input=getchar();

stu_login();//进入学生登陆菜单

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&courses[i],sizeof(struct course),1,fp);

i=i+1;

}

while(!feof(fp));

fclose(fp);//文件读完后关闭

}

printf(“nntt请输入你要选课程的编号:”);

scanf(“%d”,&n);

if((fp1=fopen(“courseselect.dat”,“rb”))==NULL)

{

fp1=fopen(“courseselect.dat”,“wb”);

}

else

{

fclose(fp1);

fp1=fopen(“courseselect.dat”,“ab”);

}

for(j=0;j

if(courses[j].c_num==n)

flag++;

if(flag==0)

{

printf(“nntt不存在对应课程n”);

printf(“nntt继续选课请按1,退出请按2:n”);

scanf(“%d”,&in);

switch(in)

{

case 1:c_select();break;

case 2:stu_login();break;

default:

printf(“输入错误,将返回登录界面!n”);

login();break;

}

}

else

{

fwrite(&courses[j],sizeof(struct course),1,fp1);

fclose(fp1);

printf(“nntt选课成功t请选择:”);

printf(“nntt1.继续选课”);

printf(“nntt2.退出,返回登录界面!”);

scanf(“%d”,&in);

switch(in)

{

case 1:c_select();break;

case 2:stu_login();break;

default:break;

}

} }

void c_viewm()//课程浏览

{

void stu_login();

void c_view();

int

inp,i=0,n=0;

FILE *fp;

char input;

struct course courseview[10];

if((fp=fopen(“course.dat”,“rb”))==NULL)//判断是否存在课程

{

system(“cls”);

printf(“nnnt课程不存在nn”);

printf(“t<按任意键返回管理菜单>nt”);

getchar();getchar();

stu_login();//进入学生登陆菜单

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&courseview[i],sizeof(struct course),1,fp);

i=i+1;

}

while(!feof(fp));

fclose(fp);//文件读完后关闭

do

{

system(“cls”);

if(i==1)

{

printf(“nnnttt没有记录!n”);

getchar();getchar();

man_login();

}

else

{

printf(“nt------共有%d条记录-------”,i-1);

printf(“nnt课程编号: %dn”,courseview[n].c_num);

printf(“nnt课程名字: %sn”,courseview[n].c_name);

printf(“nnt课程学分: %dn”,courseview[n].c_score);

printf(“nnt课程已选人数: %dn”,courseview[n].c_nelepeo);

printf(“nnt课程人数上限: %dn”,courseview[n].c_melepeo);

printf(“nnt1.上一页t2.下一页t3.回目录”);

printf(“n请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:

{

if(n==0)

{

printf(“nt已到达首页 t按任意键返回”);

input=getchar();

input=getchar();

}

else

{

n=n-1;

}

break;

}

case 2:

{

if(n==i-2)

{

printf(“nt已到达尾页t按人意见返回”);

input=getchar();

input=getchar();

}

else

{

n=n+1;

}

break;

}

case 3:{man_login();break;}

default:

{

printf(“nt操作错误t按任意键返回”);

getchar();getchar();

break;

}

}

}

}while(inp!=3);

} }

void c_views()//课程浏览

{

void stu_login();

void c_view();

int

inp,i=0,n=0;

FILE *fp;

char input;

struct course courseview[10];

if((fp=fopen(“course.dat”,“rb”))==NULL)//判断是否存在课程

{

system(“cls”);

printf(“nnnt课程不存在nn”);

printf(“t<按任意键返回管理菜单>nt”);

getchar();getchar();

stu_login();//进入学生登陆菜单

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&courseview[i],sizeof(struct course),1,fp);

i=i+1;

}

while(!feof(fp));

fclose(fp);//文件读完后关闭

do

{

system(“cls”);

if(i==1)

{

printf(“nnnttt没有记录!n”);

getchar();getchar();

stu_login();

}

else

{

printf(“nt------共有%d条记录-------”,i-1);

printf(“nnt课程编号: %dn”,courseview[n].c_num);

printf(“nnt课程名字: %sn”,courseview[n].c_name);

printf(“nnt课程学分: %dn”,courseview[n].c_score);

printf(“nnt课程已选人数: %dn”,courseview[n].c_nelepeo);

printf(“nnt课程人数上限: %dn”,courseview[n].c_melepeo);

printf(“nnt1.上一页t2.下一页t3.回目录”);

printf(“n请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:

{

if(n==0)

{

printf(“nt已到达首页 t按任意键返回”);

input=getchar();

input=getchar();

}

else

{

n=n-1;

}

break;

}

case 2:

{

if(n==i-2)

{

printf(“nt已到达尾页t按人意见返回”);

input=getchar();

input=getchar();

}

else

{

n=n+1;

}

break;

}

case 3:{stu_login();break;}

default:

{

printf(“nt操作错误t按任意键返回”);

getchar();getchar();

break;

}

}

}

}while(inp!=3);

} }

void c_searchs(){

void stu_login();

void c_searchs();

int id,i=0,j,inp,k;

int flag=0;

FILE *fp;

struct course coursesear[10];

if((fp=fopen(“course.dat”,“rb”))==NULL)

//判断课程信息是否存在 {

system(“cls”);

printf(“nnt课程不存在t按任意键返回”);

getchar();getchar();

stu_login();

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&coursesear[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

}

system(“cls”);

printf(“nnttt请输入你要查询的课程编号:”);

scanf(“%d”,&id);

do//检查输入是否符合要求

{

for(j=0;j

{

if(id==coursesear[j].c_num)

{

flag++;

k=j;

}

}

if(flag==1)

{

system(“cls”);

printf(“nnt课程编号:%dn”,coursesear[k].c_num);

printf(“nnt课程名字:%sn”,coursesear[k].c_name);

printf(“nnt课程学分:%dn”,coursesear[k].c_score);

printf(“nnt课程已选人数:%dn”,coursesear[k].c_nelepeo);

printf(“nnt课程人数上限:%dn”,coursesear[k].c_melepeo);

getchar();getchar();

printf(“nnt1.回目录继续查询t2.退出查询系统n”);

printf(“请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:c_searchs();

case 2:stu_login();

default:

{

printf(“nt没有这项服务t请按任意键重新输入”);

getchar();getchar();

}

}

}

else

{

system(“cls”);

printf(“nnt不存在对应记录n”);

printf(“nnt1.回目录继续查询t2.退出查询系统n”);

printf(“请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:c_searchs();

case 2:stu_login();

default:

{

printf(“nt没有这项服务t请按任意键重新输入”);

getchar();getchar();

}

}

}

}while(inp!=1);

}

void c_searchm(){

void stu_login();

void c_searchm();

int id,i=0,j,inp,k;

int flag=0;

FILE *fp;

struct course coursesear[10];

if((fp=fopen(“course.dat”,“rb”))==NULL)

//判断课程信息是否存在 {

system(“cls”);

printf(“nnt课程不存在t按任意键返回”);

getchar();getchar();

stu_login();

}

else//存在的话循环读取文件中的信息直到文件指针到文件尾部

{

do

{

fread(&coursesear[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

}

system(“cls”);

printf(“nnttt请输入你要查询的课程编号:”);

scanf(“%d”,&id);

do//检查输入是否符合要求

{

for(j=0;j

{

if(id==coursesear[j].c_num)

{

flag++;

k=j;

}

}

if(flag==1)

{

system(“cls”);

printf(“nnt课程编号:%dn”,coursesear[k].c_num);

printf(“nnt课程名字:%sn”,coursesear[k].c_name);

printf(“nnt课程学分:%dn”,coursesear[k].c_score);

printf(“nnt课程已选人数:%dn”,coursesear[k].c_nelepeo);

printf(“nnt课程人数上限:%dn”,coursesear[k].c_melepeo);

getchar();getchar();

printf(“nnt1.回目录继续查询t2.退出查询系统n”);

printf(“请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:c_searchm();

case 2:man_login();

default:

{

printf(“nt没有这项服务t请按任意键重新输入”);

getchar();getchar();

}

}

}

else

{

system(“cls”);

printf(“nnt不存在对应记录n”);

printf(“nnt1.回目录继续查询t2.退出查询系统n”);

printf(“请选择:”);

scanf(“%d”,&inp);

switch(inp)

{

case 1:c_searchm();

case 2:man_login();

default:

{

printf(“nt没有这项服务t请按任意键重新输入”);

getchar();getchar();

}

}

}

}while(inp!=1);}

void c_add()//增加课程 {

void c_add();

void man_login();

int i=0,j,inp;

FILE *fp;

struct course course_new;

struct course courses[10];

system(“cls”);

printf(“nntt请输入课程信息”);

printf(“nntt1.课程编号:”);

scanf(“%d”,&course_new.c_num);

printf(“nntt2.课程名字:”);

scanf(“%s”,course_new.c_name);

printf(“nntt3.课程学分:”);

scanf(“%d”,&course_new.c_score);

printf(“nntt4.课程已选人数:”);

scanf(“%d”,&course_new.c_nelepeo);

printf(“nntt5.课程人数上限:”);

scanf(“%d”,&course_new.c_melepeo);

if((fp=fopen(“course.dat”,“rb”))!=NULL)

{

do

{

fread(&courses[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

for(j=0;j<=i-1;j++)

if(course_new.c_num==courses[j].c_num)

{

system(“cls”);

printf(“nnttt对不起,这个编号已经使用过nntt按任意键返回管理菜单”);

getchar();getchar();

man_login();

break;

}

}

if((fp=fopen(“course.dat”,“rb”))==NULL)

{

fp=fopen(“course.dat”,“wb”);

}

else

{

fclose(fp);

fp=fopen(“course.dat”,“ab”);

}

fwrite(&course_new,sizeof(struct course),1,fp);

fclose(fp);

printf(“nntt信息输入完毕t按任意键继续”);

getchar();getchar();

do

{

system(“cls”);

printf(“nntt1.继续输入”);

printf(“nntt2.返回管理菜单”);

printf(“nntt请选择”);

scanf(“%d”,&inp);

if(inp!=1&&inp!=2)

{

printf(“输入不符合要求t按任意键重新选择”);

getchar();getchar();

}

}while(inp!=1&&inp!=2);

switch(inp)

{

case 1:c_add();break;

case 2:man_login();break;

} }

void c_delete()//查询后删除 {

FILE *fp;

int i=0,j,n,k,flag=0;

struct course courses[10];

void c_delete();

void man_login();

printf(“nntt请输入你要删除的课程编号:”);

scanf(“%d”,&n);

if((fp=fopen(“course.dat”,“rb”))!=NULL)

{

do

{

fread(&courses[i],sizeof(struct course),1,fp);

i=i+1;

}while(!feof(fp));

fclose(fp);

}

else

{

printf(“nntt不存在任何课程t按任意键返回”);

getchar();getchar();

man_login();

}

for(j=0;j

{

if(courses[j].c_num==n)

{

flag=1;

fp=fopen(“course.dat”,“wb”);

for(k=0;k

fwrite(&courses[k],sizeof(struct course),1,fp);

fclose(fp);

fp=fopen(“course.dat”,“ab”);

for(k=j+1;k

{

fwrite(&courses[k],sizeof(struct course),1,fp);

}

printf(“nntt记录已删除!t按任意键返回ntt”);

getchar();getchar();

man_login();

fclose(fp);

}

}

if(flag==0)

{

printf(“nntt不存在对应的课程t按任意键返回”);

getchar();getchar();

man_login();

} // printf(“nntt记录已删除!t按任意键返回ntt”);

}

int main(){

篇3:c学生档案管理系统

一、基于C/S模式的企业人事档案管理框架系统的分析

随着社会经济的快速发展和城市化建设进程的不断加快, 计算机信息技术在档案管理领域的应用范围更加的广泛。尤其在企业人事档案管理过程中, 有效地引入计算机信息技术以及网络技术手段, 可以提高人事档案管理工作的质量和效率, 使企业人事档案管理工作更加的简约化、规范化和制度化。不仅可以提升企业生产内涵和管理品质, 而且还可以为企业带来客观的效益, 同时这也是未来企业人事管理工作的必由之路。

本文所要建立的企业人事档案管理系统框架, 主要采用的是C/S结构, 该数据库主要包括两个重要组成部分, 即客户端和数据库。从应用环节上来看, 又可以分为前台、后台两个程序。其中数据库服务器程序运行系统和设备是应用服务器, 启动服务器程序以后, 就会实时等待客户端的请求, 并根据请求提供相应的服务。通常情况下, 客户端的相关程序总是运行在客户的个人PC上, 因此将对应的服务器称为是客户电脑。实际操作过程中, 如需对数据库内的相关数据信息进行操作或营业, 客户端就会自动寻找服务器, 并发出客户的请求, 此时服务器再根据预设要求和规则应答之, 将最终的结果送回来。对于本系统所基于的C/S模式而言, 该系统可以有效发挥客户端的程序处理功能, 多数工作内容可在客户端进行处理, 然后再提交给相应的服务器。在此过程中, 因客户端与服务器之间实现了直接连接, 取消了复杂的中间环节, 所以响应的速度非常的快;而且操作界面形式也呈现出多元化特点, 可有效满足客户的个性化要求。系统管理框架如图1所示。

实践中, 该系统框架的主要业务流程如图2所示。

(一) 人事档案管理框架系统的主要任务

第一, 确认、落实综合规划要求。首先, 支持企业完成各项规范约束机制的落实。其次, 支持企业及管理层完成人事管理任务, 做出科学的决策。最后, 支持企业快速、准确地完成人事档案归档业务。

第二, 系统数据要求的分析。实践中可以看到, 凡涉及到软件系统的基本上都是信息加工过程系统, 应当应对资料信息及产生的问题, 并且对软件设计产生一定的影响。基于此, 实践中若想有效解决这一问题, 就应该解析系统框架的数据需求。在企业人事档案管理过程中, 繁杂的数据信息需要整理, 而且各数据之间也会存在着逻辑上的关联性。虽然数据字典的应用已经被允许从全局视角精准的制定数据, 但是依然存在着一些缺陷和不足。也正是如此, 通常情况下会利用图形工具辅助设计, 构建数据结构;对于软件系统在调用信息数据的时候往往会采用已经保持了很久的信息, 这些数据信息通常保存在文件或者DB之中, 而且是集中存在, 同时还要保持数据条的存量不可过多, 最大限度地减少insert、delete操作过程中的错误, 从而使数据修改程序更加的灵活、便捷。

(二) 系统的主要功能

实践中可以看到, 本文所构建的企业人事档案管理框架的应用者主要是用户、档案管理人员以及系统管理人员构成。

第一, 企业职工人事档案管理。企业职工人事档案管理过程中, 主要由基本信息、家庭成员、工作记录、奖惩记录、培训记录、职称评定和调遣变动等方面的信息组成。

第二, 管理部门。对于部门信息管理而言, 其主要有部门的名称、负责人、联系方式以及详细的信息等。同时, 还要列出每一个具体的部门职工信息, 可对部门信息进行适当的添加、修改以及删除等操作, 并且对职工信息进行浏览, 但不能修改。

第三, 查询与统计模块。对于查询与统计模块而言, 其主要包括统计、职工信息查询两部分。统计部分, 主要是统计企业中符合某一条件的人数, 显示其基本人事信息。档案查询部分, 主要是可通过输入职工的名称, 或者编号, 即可查到该职工的详细信息。当然, 实际操作过程中应当设置查询权限, 不可随意查询职工信息, 以免泄露职工信息和公司机密。

第四, 系统管理模块。首先, 应当设置系统管理人员。初始阶段可设置超级用户名、密码, 待管理员登陆页面以后, 可进一步设置用户权限, 并根据需要添加、删除用户。其次, 根据系统框架的功能结构设计要求, 人事档案管理框架的总体功能上需具备信息管理、职工信息管理、考勤管理、考评管理以及职工工资管理和用户管理子模块。在人事档案管理过程中, 每个子系统模块均需针对预设要求完成数据库操作, 进行添加、修改以及删除和查询显示信息。

二、基于C/S模式的企业人事档案管理框架系统的实现

企业人事档案管理框架系统应用过程中, 用户在客户端运行相关程序、连接服务器以后, 首先应当输入用户名、密码, 在经过身份验证以后, 即可进入到系统之中。

当企业人事档案管理框架系统运行时, 会弹出一个主登陆界面, 在系统登录窗口中的相应位置输入应用者信息, 只有输入的用户名、密码准确, 才能进入企业职工认识档案管理主窗体。比如, 将用户名admin输入, 密码1234输入以后, 就可进入到企业人事档案管理系统主界面;在该界面的菜单栏上又可以分为人事档案管、部门管理、查询统计以及系统管理和系统信息等菜单。在界面的左侧表格中, 利用控件操作可显示职工信息, 其中主要有职工编号、姓名以及所在的部门等信息。用鼠标单击某一位职工的信息文件时, 主窗体的右侧位置会显示该职工的信息。在企业人事档案管理模块中, 尤其是信息数据录入、删除以及修改功能的设计层面上, 应当注意职工基本信息的录入、删除和修改的一致性。以人事档案管理员的信息录入为例, 通过序列图、协作图对企业人事档案管理人员修改的信息进行细致的设计描述。档案管理人员通过录入正确的用户名、密码, 经验证合法登录系统;在企业职工信息编辑界面, 可录入职工信息, 职工信息保存到数据库之中, 然后利用查询功能可正确显示职工信息。

以企业人事档案信息查询功能的实现为例, 点击上述系统中的“相关统计”, 即可查询所需的内容。在企业职工人事档案信息查询过程中, 有相应的菜单, 其中又包括按姓名查询、按部门查询以及按编号查询等子菜单。比如, 要查询一个名叫“张三”的职工详细资料, 即可在选择查询条件中点击“职工人事档案查询”菜单, 选按姓名查询菜单, 此时便弹出一个查询对话框, 在这一对话框中输入“张三", 确认查询内容后, 张三的详细资料就会自动显示出来;基于该系统的应用, 按编号查询、按部门查询, 都可按照上述方法和步骤进行操作。

三、结语

总而言之, 随着企业管理水平的不断提高, 人事档案管理工作已成为一门较为严密、系统而又完善的科学, 在当前的企业管理过程中起到了非常重要的作用。然而, 从当前的发展和应用情况来看, 我们仍应当清醒的认识到, 在企业人事档案管理及其信息化发展过程中, 依然还存在着一些问题与不足, 当前我们将面对的首要挑战任务将是妥善的将原有人事档案管理制度与人事档案管理信息化中的管理创新之间的矛盾处理好。对于企业人事管理工作而言, 快速查询、安全可靠性是该制度的核心, 因此应当不断加强多元化的人事档案管理框架的构建。

参考文献

[1]代秀婷.企业人事档案管理中存在的问题与对策[J].赤子, 2014 (05) .

[2]孙奇.市场经济环境下企业人事档案管理的发展途径[J]黑龙江科学, 2013 (12) .

[3]张丽娟.企业人事档案管理社会化过程中的问题及其措施研究[J].科技视界, 2013 (23) .

[4]李慧玲.网络环境下企业人事档案管理现代化浅析[J].城建档案, 2013 (09) .

篇4:C档案编号:NO.94

目击地点:北京,昌平,西三旗

白天/夜晚:傍晚

飞行物数量:1个

飞行物高度:无法预测,但比飞机高度低得多

飞行物形状:多个光源无序排列而成

飞行物颜色:橘黄色

飞行物大小:视直径五六厘米目击人数:1人

持续时间:2分钟

备注:

我家住在北京市昌平区西三旗,2010年9月23日19时刚过,我下楼溜狗时偶然发现一个多光源发光物体在夜空静静滑过。之所以说滑过,是因为该物体无明显上下浮动,没有停留,匀速运动,同时没有任何声音。飞行物由六七个光源组成,这些光源排列无次序,我自己感觉好像是分布在半个球面上的多个光源。光源发出橘黄色光芒,很明亮但不刺眼,因为正是农历十六,该物体上的光源比月亮要亮好多。光源是持续性的,没有闪烁。因为没有这方面的专业知识,所以其飞行高度不可预测,但绝对比飞机低得多。整个物体视直径有五六厘米。

目睹该物体时,我面向东方,发现物体并拿起手机拍摄。该物体由南向北偏东滑行,速度不可测,感觉应该比直升机的速度快一些,与我站立地点仰角有60°左右。该物体最后消失的方向应该是首都机场方向,总时长从发现到肉眼不可见,共有2分钟。后来,我又在花园停留了40分钟左右,希望能再次见到,并且给几个朋友打了电话。拍摄时我的心情平静,没有发现所谓不明飞行物的那种激动和不安。在与朋友通话的过程中,朋友推测是不是风筝,但我认为根本不可能是风筝:第一飞行距离相当长,第二没有上下浮动的迹象。也不可能是飞机,因为没有空震,飞机的灯也应该是有规律地闪烁的,但该物体光源并无闪烁,并且目测飞行高度要低于飞机很多。

篇5:c学生档案管理系统

要求:

一、由键盘输入原始数据。原始数据内容如下:

学号姓名C程序设计高等数学英语线性代数

1王..80808080

2张..90909090

注:要求至少有20个学生的原始数据

二、实现以下功能。

程序要求主函数是一个功能选择菜单,其它各功能用函数实现。功能要求如下:

1、原始数据的输入

2、计算每位同学的平均分

3、计算每门课程的平均分

4、计算各分数段(90-100、80-89、60-79、60以下)的人数

5、对这些同学的成绩按平均分排序,给出名次。

6、对原始数据可以进行增、删、改的编辑操作。

7、按学号查询学生。找到则显示该生信息,否则提示未找到。

8、原始数据可以保存为文件,也可以从文件载入。

注:程序统计输出结果如下:

学号姓名C程序设计高等数学英语线性代数平均分名次 1王..80808080802 2张..90909090901

各科平均分8585858585

C程序设计高等数学英语线性代数平均分

90-10011111

80-8911111

60-6900000

篇6:C语言做的一个学生选课系统

#include

#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

{

while((p0->num1 >p1->num1) && (p1->next!=NULL))

{

p2=p1;

p1=p1->next;

}

if(p0->num1 <= p1->num1)

{

if(head1==p1) head1=p0;

else p2->next=p0;

p0->next=p1;

}

else

{

p1->next=p0;

p0->next=NULL;

}

}

N1=N1+1;

}

void delc(int num1)//课程管理子函数(删除课程)

{

struct couse *p1,*p2;

if(head1==NULL)

{

printf(“ 没有课程,无法删除! ”);

goto end;

}

p1=head1;

while(num1!=p1->num1 && p1->next!=NULL)

{

p2=p1;

p1=p1->next;

}

if(num1==p1->num1)

{

if(p1==head1) head1=p1->next;

else p2->next=p1->next;

printf(“已删除该编号课程! ”);

N1=N1-1;

}

else printf(“无该编号的课程! ”);

end:;

}

void managementc()//课程管理主函数

{

struct couse * incouse;

int i,num1;

printf(“ 课程管理 ”);

printf(“1.新增课程 ”);

printf(“2.删除课程 ”);

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

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

scanf(“%d”,&i);

switch(i)

{

case(1):

{

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

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

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

incouse->nelepeo=0;

insertc(incouse);

break;

}

case(2):

{

printf(“请输入要删除课程的编号: ”);

scanf(“%d”,&num1);

delc(num1);

break;

}

case(3):break;

}

}

void keyboards()//录入学生信息子函数(从键盘录入)

{

int i;

struct student *p1,*p2;

N2=0;

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

printf(“学生学号 学生姓名 ”);

scanf(“%d%s”,&p1->num2,p1->name2);

p1->nelen=0;

for(i=0;i<20;i++) p1->nelenum[i]=0;

head2=NULL;

while(p1->num2!=0)

{

N2=N2+1;

if(N2==1)head2=p1;

else p2->next=p1;

p2=p1;

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

scanf(“%d%s”,&p1->num2,p1->name2);

p1->nelen=0;

for(i=0;i<20;i++) p1->nelenum[i]=0;

}

p2->next=NULL;

}

void files()//录入学生信息子函数(从文件录入)

{

int i=0;

FILE * fp;

char filepath[20];

struct student *p1,*p2;

N2=0;

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

getchar();

gets(filepath);

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

{

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

exit(0);

}

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

fread(p1,sizeof(struct student),1,fp);

head2=NULL;

while(!feof(fp))

{

i=0;

N2=N2+1;

if(N2==1)head2=p1;

else p2->next=p1;

p2=p1;

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

fread(p1,sizeof(struct student),1,fp);

}

p2->next=NULL;

}

void inputs()//录入学生信息主函数

{

int i;

printf(“ 录入学生信息 ”);

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

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

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

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

scanf(“%d”,&i);

switch(i)

{

case(1):keyboards();break;

case(2):files();break;

case(3):break;

}

}

void inserts(struct student * incouse)//学生信息管理子函数(填加学生信息)

{

struct student *p0,*p1,*p2;

p1=head2;

p0=incouse;

if(head2==NULL)

{

head2=p0;

p0->next=NULL;

}

else

{

while((p0->num2 >p1->num2) && (p1->next!=NULL))

{

p2=p1;

p1=p1->next;

}

if(p0->num2 <= p1->num2)

{

if(head2==p1) head2=p0;

else p2->next=p0;

p0->next=p1;

}

else

{

p1->next=p0;

p0->next=NULL;

}

}

N2=N2+1;

}

void dels(int num2)//学生信息管理子函数(删除学生信息)

{

struct student *p1,*p2;

if(head2==NULL)

{

printf(“ 没有该学生信息,无法删除! ”);

goto end;

}

p1=head2;

while(num2!=p1->num2 && p1->next!=NULL)

{

p2=p1;

p1=p1->next;

}

if(num2==p1->num2)

{

if(p1==head2) head2=p1->next;

else p2->next=p1->next;

printf(“已删除该学生信息! ”);

N2=N2-1;

}

else printf(“无该学号的学生! ”);

end:;

}

void managements()//学生信息管理主函数

上一篇:为民服务中心主任竞选演讲下一篇:李清照,我最喜欢的诗人