c语言职工信息管理系统(DOC)

c语言职工信息管理系统(DOC)
c语言职工信息管理系统(DOC)

目录

一、课程设计目的 (3)

二、设计题目分析 (3)

2.1题目简介 (3)

2.2设计要求 (3)

三、课程设计内容 (3)

3.1总体设计 (3)

3.2详细设计 (4)

3.3调试与测试 (12)

四、设计心得与总结: (13)

五、附录(完整源程序清单) (14)

一、课程设计目的

通过亲自设计程序,可以令我们熟悉c语言操作,更熟练的掌握c语句。初步体会编程的过程,为将来的程序深入学习打下基础和培养兴趣。

二、设计题目分析

2.1 题目简介

可以向文件中写入、删除、添加职工信息,也可以从文件中导出来浏览

2.2 设计要求

职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计职工信息管理系统,使之能提供以下功能:

系统以菜单方式工作。

职工信息录入功能(职工信息用文件保存)--输入

职工信息浏览功能--输出

查询和排序功能:(至少一种查询方式) --算法

按职工号查询

按学历查询等

职工信息删除、添加功能

三、课程设计内容

3.2 详细设计:

1、主函数:main()

显示系统工作菜单,罗列该系统所有功能。先声明所有将会调用到的函数名。再运用选择函数switch即可根据使用者所输入的功能代号进入对应的功能程序。亮点:定义一个全局指针变量*p和全局变量a。其中a表示当前系统中职工人数,p指向a的地址,追踪人数变化,这样在添加或者删除导致人数变化后,浏览函数display()能够正确显示出当前人数的职工信息。宏定义define N指定首次输入的职工人数,可根据不同需要随时更改。

3、保存函数:void save(int m)

定义文件指针fp,用fopen"只写"打开指定在D盘的“d://bbb.txt”文本文件。首先用if语句判断文件是否打开成功,若fopen返回值不为0,则可继续下面操作。用for循环通过fprintf语句将结构数组em中的内容写入保存在D盘的文本文件里面。形参m指需要写入文件的职工人数。最后关闭文件。

4、导出函数:void load(int b)

首先判断fopen"只读"打开“d://bbb.txt”是否成功,若其返回值不为零,继续下面操作。用for循环通过fscanf语句将文件中的职工信息取出放到em结构数组里面。形参b指需要导出的职工人数。最后关闭文件。

5、浏览函数void display(int a)

声明整形变量i和b,其中i记录输出的职工序数,b用来接收调用浏览函数时所传递过来的实参,接着将其值传递给导出函数load(b),使得导出的职工人数与浏览的职工人数保持一致。通过调用load函数后(即给em数组附值),用for循环输出每个职工的各种信息。

8、按姓名查询void search_name()

声明整形变量i和字符形数组name[20],调用导出函数load(*p),用scanf 语句输入要查询的职工名字(字符串)放在数组name里面。用for循环,循环主体是先判断https://www.360docs.net/doc/647074524.html,中是否有输入的职工姓名,如果有,用printf语句输出与职工名字相对应的该职工所有信息,再跳出循环;如果没有,输出“查无此人”,并调用search()返回查询菜单。

流程图同上

9、按学历查询void search_xueli()

声明整形变量i,k=0,char形数组xueli[20]。调用导出函数load(*P),用scanf 语句输入要查询的职工学历(字符串)放在数组xueli里面。考虑到与前两种查询方式不一样的是,可能有多个职工具有相同的学历,所以循环主体较之前稍有变化。即在判断并执行第一次后不用break,而是继续循环,直到找出所有该学历的职工。为解决输入错误而提示“查无此人”的问题,就需要再写一段for循环代码,通过计量数k记录循环的次数,若直到循环到最后一次仍无结果输出,则表示输入错误,这时用printf输出“查无此人”,并调用search()返回查询菜单。

流程图同上

10、,删除函数void del(int *b)

声明整形变量i,j,t,m,a和char形数组name[20]。其中给a附初始值a=*b,表示当前职工人数。首先调用浏览函数display(a),显示所有职工信息,便于使用者审阅需删除的对象。用printf语句提示“输入要删除的职工名字”,接着用scanf 语句输入删除对象名字。用for循环,循环主体是先判断https://www.360docs.net/doc/647074524.html,中是否存在所输入的名字(调用字符串比较函数stecmp)。若存在,printf语句提示是否确认删除,用scanf语句输入确认指令,再用for循环从要删除的这个职工开始,依次用后一个职工的信息覆盖前一个的。循环结束后当前职工人数a自减1,并保存,跳出大循环;若不存在,输出“输入错误,无此人”。再将a的新值附给*b,实参p所指的人数地址中的人数也随即改变删除后的人数。printf提示下一步操作“继续删除请按1\n浏览信息请按2\n返回主菜单请按3”。switch根据键盘输入的指令代号选择下一步连接的函数。

11、添加函数void add(int *a)

声明整形变量i,n,m,定义文件指针fp,用追加的方式打开文件"d://bbb.txt",若打开失败,退出。若成功,继续下面操作。printf提示“输入要添加的人数”

scanf输入要添加的人数存放在n。用for循环输入要添加的职工信息,再用另一个for循环将输入的新信息追加写入"d://bbb.txt"文件保存。关闭文件。再调用switch语句选择下一步操作,并连接到相应函数。

流程图与删除函数类似。

3.3 调试与测试:。

遇到最大的问题是所有程序代码编完放在一起后,虽然能够成功运行,但使用时如果职工人数发生变化,会导致文件后部出现乱码。若要使每次运行都正常,必须在人数改变后退出程序,修改宏定义N的值。这样很不方便,不能够连续运行。为解决这一大问题,最后我想到了定义一个全局指针变量,用来追踪最新的人数。特别是删除和添加这两个会导致人数变化的函数中,全局指针变量p起了很大作用。经过一边修改一边调试,最终可

以成功的用p串联整个函数,在连续运行时,总能根据最新的人数调用各个函数。另外在串联所有函数时,调试提示出错:有几个函数“redefinition; different basic types”解决:在函数名前加void指明类型。

整个程序代码是分块书写的,每个函数都可以独立运行。只有输入函数查询菜单函数写得很顺利,一次性就能够成功运行,其他函数在调试过程中或多或少都出现了问题。

1、保存函数save()在调试和链接的时候都没有出现错误提示,但在运行的时候出现了问题。写入指定位置的文件,打开后总会有乱码。与c语言课本上的例题对照后发现,我写的fopen("d://bbb","w")没有指定文件的存储类型。解决方法:在文件名bbb后面加上.txt后即可。

2、导出函数load()遇到两个问题。1是为图方便直接将保存函数复制过来进行修改时,忘了修改文件的打开方式,不能运行。经多次检查后终于发现了,解决:将只写"w"改为只读"r"。2是用fscanf语句时,漏写地址符。调试和链接都没问题,但点击运行后,总出现一个提示出错的蓝色小窗口。经老师提时候发现了错误所在。解决:在em[i].name等之前加上地址符。

3、浏览函数display()遇到的问题虽然不大,但解决起来很麻烦。理想的运行结果是美观整齐。即下面的职工信息分别与第一个printf输出的中文项目提示对齐。解决方法:不断修改空格个数,不断运行察看效果。

4、按学历查询函数search_xueli(),要考虑输入一种学历,可能对应出很多职工,这就不能延用按姓名和职工号查询中判断是否输入错误的方法了。为了显示出所有具有该学历的职工,就需要让for循环一直运行到最后一个为止。这时计量数i始终会等于职工人数,不能再用i来判断是否不存在此人。这就需要再定一个整形变量k,用来计量单独的一个循环次数。

5、删除函数del()的难点在于多次删除。即在删除掉第一个人以后,现有职工人数发生改变,而宏定义中的N却是不变的。最开始我想到了用static定义一个整形变量a来计量当前人数。这在单独运行删除函数时,可以成功的连续删除。最后所有函数串在一起时,有了更好的解决方法,全局指针。

6、添加函数add()遇到的问题是用printf输入新职工信息后,保存到文件里面,发现原有的信息不见了。解决:文件打开方式改用"a"追加写入。

四、设计心得与总结:

经过一学期的C语言学习,我们掌握了C语言的基础知识,能够读懂别人用c 语言设计的程序。平时的程序设计大多是以填空的形式出现,虽然有所接触,但都不完全。而这两周的课程设计,却让我们完完全全用自己学到的知识编写一个完整的体统程序。这是一个新的挑战,也是一种新的学习。

我们组选择的是备选题目中的第一个——职工信息管理系统。这需要我们自己设计一个系统,可以输入信息,保存到文件里,再从文件里调出来,使之显示在屏幕上,进行删除、添加等对信息的修改。初看到这个题目觉得很简单,但当我做到电脑前准备开始编写代码的时候才发现无从下手。通过去图书馆查找程序设计相关的书籍,和上网参考前人编写的类似程序,我脑中才有了一个大概方向。终于开始着手写下了第一段输入函数的代码,因为这是我们平时课堂上用的最多最熟的printf语句,写了很长一大段,调式运行竟然成功了,顿时信心倍增。于是我开始迫不及待的开始写第二段保存函数。我记得第一天下来,我只写好了这两个函数,但还是很开心,因为这是我编的第一个小系统的成功的开始!

接下来几天都在宿舍整个下午的对着电脑不断的编译、调试、修改,每次编好一个能够成功运行的程序,都会感到很欣慰,并增加继续下去的信心。当然其中也有遇到困难的时候。好几次遇到编好的程序调试没有错误,却偏偏不能运行这种情况,自己编的程序自己很难发现当中的错误,而电脑又没有提示,这时候就很受打击,也会着急。反复检查都找不出毛病来的时候就会有想要放弃的念头。有时候就直接关机去做别的事情,等再开始做程序的时候,才发现先前的错误所在。这时候会有一种“柳暗花明又一村”的欣慰感觉。总之,遇到困难,可以先放一放,让脑子休息一下,忘掉错误的记忆。或许等过段时间再回过头来,就会很容易的发现之前的错误了。随着编好的程序越多,累积的经验也越多,查找错误就越快了。还有会发现很多程序有很多相似之处,可以通过复制修改的发式来编写。虽然题目要求只需要一种查询方式,但当我编出规律之后自然就想多写两个,写完就会有很大的成就感了。

在课程设计的过程中,还有一件很倒霉的事。7月5号早上我们有一门考试,靠前还需要复习的那种。所以我打算4号早上写会儿程序,从下午开始就复习第二天要考的科目,结果从早上开始写删除函数的代码,一边调试,一边修改,越来越接近成功,越激动越投入,等最后终于完成的时候猛然发现已经下午4点多了。乘着兴致高,一口气把添加函数也写出来了。虽然只能把复习挤到晚上进行,但因为编好了两个很难的程序代码,觉得这一天还是很有成就感的,很开心。结果不幸的是,等我第二天考完试回来打算继续编的时候,才发现之前辛辛苦苦编的两段代码没有保存。没办法,只能重新写。

当所有功能函数都编好后,我用主函数将他们串起来,这是遇到最大的问题就是经过删除、添加后职工人数会发生变化。想了很久,又翻以前的课堂笔记,最后想到了定义全局指针变量来解决这个问题。这个问题的成功解决预示着我们的职工信息管理系统大功告成!

总之,经过这一次的课程设计,我们体会到了痛苦与快乐同存的感觉。当最后一次成功串联运行所有函数时,真的很开心。通过这次实践,我们能够更熟练掌握C语言,特别是循环和文件,当时在课堂上没有学太清楚的,这个程序设计之后都很明白了。同时增加了我们对程序设计的兴趣,暑假回家我还会尝试着做一些其他的小系统。

五、附录(完整源程序清单)

#include

#include

#define N 6

struct employee

{

int number,age,wage;

char name[20],sex[10],address[30],xueli[20];

long int telephone;

}em[N];

int a=N;

int *p=&a;

main()

{

void search();

void search_name();

void search_xueli();

void search_number();

void load();

void display();

void del();

void input();

void add();

void save();

int n;

printf("\n");

printf(" ******************职工信息管理****************\n"); printf("\n");

printf(" 1.录入职工信息\n");

printf(" 2.浏览职工信息\n");

printf(" 3.查询职工信息\n");

printf(" 4.删除职工信息\n");

printf(" 5.添加职工信息\n");

printf(" 6.退出\n");

printf("\n");

scanf("%d",&n);

switch(n)

{

case 1:printf(" ◆◆◆输入职工信息◆◆◆\n");printf("\n");input();main();break;

case 2:printf(" ◆◆◆浏览职工信息◆◆◆\n");printf("\n");display(*p);main();break; case 3:printf(" ◆◆◆查询职工信息◆◆◆\n");printf("\n");search();break;

case 4:printf(" ◆◆◆删除职工信息◆◆◆\n");printf("\n");del(p);break;

case 5:printf(" ◆◆◆添加职工信息◆◆◆\n");printf("\n");add(p);break;

case 6:exit(0);break;

default :break;

}

}

void input()

{

int i;

for(i=0;i

{

printf("请输入职工号: ");

scanf("%d",&em[i].number);

printf("请输入姓名: ");

scanf("%s",em[i].name);

printf("请输入性别: ");

scanf("%s",&em[i].sex);

printf("请输入年龄: ");

scanf("%d",&em[i].age);

printf("请输入学历: ");

scanf("%s",em[i].xueli);

printf("请输入工资: ");

scanf("%d",&em[i].wage);

printf("请输入住址: ");

scanf("%s",em[i].address);

printf("请输入电话: ");

scanf("%d",&em[i].telephone);

printf("\n");

}

printf("\n创建完毕!\n");

save(N);

}

void save(int m)

{

int i;

FILE*fp;

if(!(fp=fopen("d://bbb.txt","w")))

{

printf("打开失败");

exit(0);

}

for(i=0;i

fprintf(fp,"M %8s %5s ] %8s ] %8s ?\n",em[i].number,

em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,

em[i].address,em[i].telephone);

fclose(fp);

}

void load(int b)

{

int i;

FILE*fp;

if(!(fp=fopen("d://bbb.txt","r")))

{

printf("打开失败");

exit(0);

}

else

for(i=0;i

fscanf(fp,"?%8s%5s]%8s]%8s?\n",&em[i].number,&em[i].name,&em[i].sex,&em[i].age,&em[i].xu eli,&em[i].wage,&em[i].address,&em[i].telephone);

fclose(fp);

}

void display(int a)

{

int i,b=a;

load(b);

printf("\n职工号\t 姓名\t性别\t年龄\t 学历\t 工资\t 住址\t 电话\n");

for(i=0;i

printf("%d\t%8s\t%s\t%d\t%8s %d\t%s\t%d\n",em[i].number,em[i].name,em[i].sex,em[i].age,e m[i].xueli,em[i].wage,em[i].address,em[i].telephone);

printf("\n");

}

void search()

{

int t;

printf("\n按职工号查询按1\n按姓名查询请按2");

printf("\n按学历查询请按3\n返回主菜单请按4\n");

scanf("%d",&t);

switch(t)

{

case 1:

printf("\n按职工号查询\n");

search_number();

break;

case 2:

printf("\n按姓名查询\n");

search_name();

break;

case 3:

printf("\n按学历查询\n");

search_xueli();

break;

case 4:main();break;

default :

printf("输入错误,请重新输入!\n");

search();

break;

}

}

void search_number()

{

int i,number;

load(*p);

printf("\n请输入要查询的职工号:");

scanf("%d",&number);

for(i=0;i<*p;i++)

if(number==em[i].number)

{

printf("\n该职工信息如下:\n");

printf("\n职工号\t 姓名\t性别\t年龄\t 学历\t 工资\t 住址\t 电话\n");

printf("\n%d\t%8s\t%s\t%d\t%8s %d\t%s\t%d\n",em[i].number,em[i].name,em[i].sex,em[i].ag e,em[i].xueli,em[i].wage,em[i].address,em[i].telephone);

printf("\n");

break;

}

if(i==*p)

printf("\n查无此人\n");

search();

}

void search_name()

{

int i;

char name[20];

load(*p);

printf("\n请输入要查询的姓名:");

scanf("%s",name);

for(i=0;i<*p;i++)

if(!strcmp(em[i].name,name))

{

printf("\n该职工信息如下:\n");

printf("\n职工号\t 姓名\t性别\t年龄\t 学历\t 工资\t 住址\t 电话\n");

printf("\n%d\t%8s\t%s\t%d\t%8s %d\t%s\t%d\n",em[i].number,em[i].name,em[i].sex,em[i].ag e,em[i].xueli,em[i].wage,em[i].address,em[i].telephone);

printf("\n");

break;

}

if(i==*p)

printf("\n查无此人\n");

search();

}

void search_xueli()

{

int i,k=0;

char xueli[20];

load(*p);

printf("\n请输入要查询的学历:");

scanf("%s",xueli);

for(i=0;i<*p;i++)

if(!strcmp(em[i].xueli,xueli))

{

printf("职工号\t 姓名\t性别\t年龄\t 学历\t 工资\t 住址\t 电话\n");

printf("%d\t%8s\t%s\t%d\t%8s %d\t%s\t%d\n",em[i].number,em[i].name,em[i].sex,em[i].age,e m[i].xueli,em[i].wage,em[i].address,em[i].telephone);

人事管理系统——C语言

人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。 (1)添加删除功能:能根据学院人事的变动情况,添加删除记录; (2)查询功能:能根据编号和姓名进行查询; (3)编辑功能(高级):根据查询对相应的记录进行修改,并存储; (4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息; (5)排序功能:按照年龄、来院时间进行排序; (6)保存功能:能对输入的数据进行相应的存储; 一、需求分析: 根据题目要求,职工信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写,但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将N定为100,也即最多可储存的职工人数为100; 二、总体设计: 根据以上需求分析,将程序分成以下几个模块: 1、新建档案信息; 2、删除信息; 3、追加信息; 4、搜索查找信息(按姓名或者编号搜索); 5、浏览全部信息; 6、修改信息; 7、信息排序; 8、信息统计; 三、详细设计; 1、主函数: 〈1〉需求分析: 为使系统执行完每部分功能后能够方便的回到系统主界面,main()函数设计的很简单,只包含一个menu()函数,其余的全部功能都通过menu()函数调用来实现,并通过menu()函数的递归调用实现返回主界面的功能。 main()函数定义如下: main()

C版本学生信息管理系统方案

目录 一、课程设计目的---------------------------------------------------------3 二、功能描述---------------------------------------------------------------3 三、系统分析-------------------------------------------------------------3 3.1需求分析-------------------------------------------------------- 3 3.2开发环境----------------------------------------------------3 四、总体设计-------------------------------------------------------------4 4.1功能构成------------------------------------------------------4 4.2业务流程图--------------------------------------------------------------------------------------4 五、数据库设计-----------------------------------------------------------5 5.1需求分析---------------------------------------------------5 5.2实体E—R图--------------------------------------------------------------------------5 5.3数据表设计--------------------------------------------------------6 六、实现过程--------------------------------------------------------------7 6.1登录的实现-----------------------------------------------7 6.2主界面-------------------------------------------------------------9 6.3学生管理信息界面-------------------------------------------------11 6.4成绩信息管理界面-------------------------------------------------13 6.5选课信息界面-----------------------------------------------------15 6.6添加学生信息界面-------------------------------------------------16 6.7学生列表界面------------------------------------------------------18 6.8添加成绩界面------------------------------------------------------19 6.9选课添加界面------------------------------------------------------20

职工信息管理系统程序设计

.. 引言 通过大一下学期对C语言的学习,了解到了很多C语言的相关知识。学习的过程有很多困惑但是当自己能够独立的看懂,能够独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。我可以看懂一些简单的程序,编写一些简单的程序,更多的是学会了一种思想——编程,它让我去思考很多日常生活中的事物是怎样通过一个个小小的函数实现其功能的,激发我探究的兴趣,更让我认真学习C语言的程序设计。 C语言是在国内外广泛使用的一种计算机语言。C语言简洁紧凑、使用灵活方便、运算符丰富、适用范围大、可移植性好。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 在这次的课程设计中我将通过亲自设计程序,让自己熟悉C语言操作,更熟练的掌握C语句。初步体会编程的过程,在不断的调试中获得

最为完整的程序,为将来的程序深入学习打下基础和培养兴趣。 1 功能简介和设计要求 1.1 程序功能简介 可以向文件中录入、删除、添加、查询职工信息,也可以从文件中导出来浏览 1.2 程序设计要求 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计职工信息管理系统,使之能提供以下功能: 系统以菜单方式工作 职工信息录入功能(职工信息用文件保存)--输入 职工信息浏览功能--输出 查询信息功能:(至少一种查询方式) --算法 按职工号查询 按学历查询 按电话查询 职工信息删除、添加功能

2 程序总体设计框图 :用键盘输入职工信息 :将信息写入指定文本文件 :将信息导出放在结构数组em 中 :将所有信息显示在屏幕上 :输入职工号显示信息 :输入名字显示信息 :输入学历显示信息 :删除原有的职工信息 :添加新的职工信息 3 主要函数介绍 主函数:main() 显示系统工作菜单,罗列该系统所有功能。先声明所有将会调用到的函数名。再运用选择函数switch 即可根据使用者所输入的功能代号进入对应的功能程序。亮点:定义一个全局变量*p 和全局变量a。其中

C语言-人事管理系统

人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。 (1)添加删除功能:能根据学院人事的变动情况,添加删除记录; (2)查询功能:能根据编号和姓名进行查询; (3)编辑功能(高级):根据查询对相应的记录进行修改,并存储; (4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息; (5)排序功能:按照年龄、来院时间进行排序; (6)保存功能:能对输入的数据进行相应的存储; 一、需求分析: 根据题目要求,职工信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件中重新储存,这样的方法容易理解、容易编写,但当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将N定为100,也即最多可储存的职工人数为100; 二、总体设计: 根据以上需求分析,将程序分成以下几个模块: 1、新建档案信息; 2、删除信息; 3、追加信息; 4、搜索查找信息(按姓名或者编号搜索); 5、浏览全部信息; 6、修改信息; 7、信息排序; 8信息统计; 三、详细设计; 1、主函数: 〈1〉需求分析: 为使系统执行完每部分功能后能够方便的回到系统主界面,main()函数设计的 很简单,只包含一个menu()函数,其余的全部功能都通过menu()函数调用来实现,并通过menu()函数的递归调用实现返回主界面的功能。

职工信息管理系统C语言源代码

#include #include #include #define N 100 struct employee { int num; char name[20]; char sex; int age; char xueli[30]; int wage; char addr[30]; char tel[20]; }em[100]; /* 定义一个结构体*/ void menu(); void input(); void save(int); void display(); void del(); void add(); void search(); void search_num(); void search_xueli(); void search_tel(); void modify(); /* 定义各函数*/ void main() {menu(); int n,flag; char a; do { printf(" 请选择你需要操作的步骤(1--7):\n"); scanf("%d",&n); if(n>=1 && n<=7) { flag=1; break; } else { flag=0; printf(" 您输入有误,请重新选择!"); }

while(flag==0); while(flag==1) {switch(n) {case 1:printf(" \n");printf("\n");input();break; case 2:printf(" \n");printf("\n");display();break; case 3:printf(" \n");printf("\n");search();break; case 4:printf(" case 5:printf(" case 6:printf(" \n");printf("\n");modify();break; case 7:exit(0);break; default :break; } getchar(); printf("\n"); printf(" 是否继续进行(y or n):\n"); scanf("%c",&a); if(a=='y') ???输入职工信息??? ???浏览职工信息??? ???按职工号查询职工信息??? ???删除职工信息??? ???添加职工信息??? ??? \n");printf("\n");del();break; \n");printf("\n");add();break; 修改职工信息??? {flag=1; system("cls"); /* 清屏*/ menu(); /* 调用菜单函数*/ printf(" 请再次选择你需要操作的步骤(1--7):\n"); scanf("%d",&n); printf("\n"); } else exit(0); } } void menu() { /* 菜单函数*/ printf(" ************ 欢迎进入职 printf(" 1.录入职工信息"); printf(" 2.浏览职工信息\n"); printf(" 3.查询职工信息"); printf(" 4.删除职工信息\n"); printf(" 5.添加职工信息"); printf(" 6.修改职工信息\n"); printf(" 7.退出\n"); **********\n");

职工信息管理系统

职工信息管理系统 LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】

信息科学与技术学院 程序设计基础课程设计报告 题目名称:职工信息管理系统 学生姓名:董吉华 学号:189 专业班级:电子信息工程1班 指导教师:郭理 2017年 12月 30日 目录 一.课程设计题目与要求 (3) 设计题目 (3) 设计要求 (3) 二.总体设计 (4) 总体功能框架 (4) 数据结构概要设计 (5) 三.详细设计 (6) 数据结构详细设计 (6) 系统功能详细设计 (7)

主函数 (7) 主界面函数 (9) 输入函数 (11) 输出函数 (12) 查找函数 (14) 排序函数 (16) 删除或修改函数 (18) 结束函数 (20) 四.运行结果 (21) 主界面 (21) 主菜单界面 (23) 录入职工信息界面 (24) 五.课程设计总结 (34) 编程中的问题及解决方法 (34) 小结 (34) 心得体会 (34) 程序设计方法 (35) 参考文献 (35) 《职工信息管理系统》 一.课程设计题目与要求 设计题目 职工信息管理系统

设计要求 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:系统以菜单方式工作 (2)职工信息录入功能(职工信息用文件保存) (3)职工信息浏览功能 (4)查询和排序功能:(至少一种查询方式) 按工资查询 按学历查询等 (5)职工信息删除、修改功能 二.总体设计 总体功能框架 实现航班信息的输入,航班信息的输出,航班信息的查找,订票系统,退票系统功能 三.

高校人事管理系统C++代码

#include #include #includepowered by https://www.360docs.net/doc/647074524.html, #include using namespace std; class employee { protected: int number; char name[20]; char sex[6]; char workplace[20]; char place[20]; char nation[6]; char birth[20]; char party[10]; char id[20]; float score[5]; public: Employee *nest; Employee(){} ~Employee(){} char* getname(){ return name; } int getnumber(){ return number; } double getscore(int i){ return score[i];} float get(){ return(score[0]+ score[1]+ score[2]+ score[3]+ score[4]);} void input() { int e=1; cout<<“\t\t\t按提示输入 :”<>workplace ; do { cout<< “\t\t输入性别 :” ; cin>>sex ; if(strcmp(sex,“man”)==0 || strcmp(sex,“woman”)==0) { cout<<“\t\t输入籍贯:”; cin >>place; cout<<“\t\t输入民族:”; cin >>nation;

学生信息管理系统c语言代码

#include #include #include #define LEN 15 #define N 100 struct record //定义结构体{ char code[LEN]; char name[LEN]; int age; char sex[3]; char time[LEN]; char add[30]; char tel[LEN]; char mail[30]; }stu[N]; int k=1,n,m; //引用 void readfile(); void seek(); void modify(); void insert(); void del(); void display(); void save();

void menu(); int main() { while(k) menu(); system("pause"); return 0; } void help() { printf("\n0.欢迎使用系统帮助!\n"); printf("\n1.进入系统后,先刷新学生信息,再查询;\n"); printf("\n2.按照菜单提示键入数字代号;\n"); printf("\n3.增加学生信息后,切记保存按;\n"); printf("\n4.谢谢您的使用!\n"); } void readfile()//建立信息 { char *p="student.txt"; FILE *fp; int i=0; if ((fp=fopen("C:\\Users\\86139\\Desktop\\student.txt","r+"))==NULL) { printf("Open file %s error! Strike any key to exit!",p); system("pause");//暂停的意思,等待用户信号

自然语言处理

自然语言处理 自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、 计算机科学、数学于一体的科学。 因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,包括中文、英文、俄 文、日文、德文、法文等等,所以它与语言学的研究有着密切的联系,但又有重要的区别。 自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机 系统,特别是其中的软件系统。因而它是计算机科学的一部分。 语言是人类区别其他动物的本质特性。在所有生物中,只有人类才具有语言能力。人类 的多种智能都与语言有着密切的关系。人类的逻辑思维以语言为形式,人类的绝大部分知识 也是以语言文字的形式记载和流传下来的。因而,它也是人工智能的一个重要,甚至核心部 分。 用自然语言与计算机进行通信,这是人们长期以来所追求的。因为它既有明显的实际意 义,同时也有重要的理论意义:人们可以用自己最习惯的语言来使用计算机,而无需再花大

量的时间和精力去学习不很自然和习惯的各种计算机语言;人们也可通过它进一步了解人类 的语言能力和智能的机制。 实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义,也能以自然 语言文本来表达给定的意图、思想等。前者称为自然语言理解,后者称为自然语言生成。因 此,自然语言处理大体包括了自然语言理解和自然语言生成两个部分。历史上对自然语言理 解研究得较多,而对自然语言生成研究得较少。但这种状况近年来已有所改变。 无论实现自然语言理解,还是自然语言生成,都远不如人们原来想象的那么简单,而是 十分困难的。从目前的理论和技术现状看,通用的、高质量的自然语言处理系统,仍然是较 长期的努力目标,但是针对一定应用,具有相当自然语言处理能力的实用系统已经出现,有 些已商品化,甚至开始产业化。典型的例子有:多语种数据库和专家系统的自然语言接口、 各种机器翻译系统、全文信息检索系统、自动文摘系统等。 自然语言处理,即实现人机间自然语言通信,或实现自然语言理解和自然语言生成是十 分困难的。造成困难的根本原因是自然语言文本和对话的各个层次上广泛存在的各种各样的

企业职工信息管理系统

企业职工信息管理系统 EWIMSystem(Enterprise Workers Information Manager System) 目录 第一章绪论 (3) 1.1 相关背景 (3) 1.2 开发目的 (3) 1.3 论文内容 (3) 1.4 意义 (3) 1.5 分工 (4) 第二章系统需求分析 (5) 2.1系统功能需求分析 (5) 2.2辅助功能需求分析 (6) 2.2.1打印报表.............................................................................. 错误!未定义书签。 2.2.2修改密码 (6) 2.3 软件的运行环境 (6) 2.3.1 硬件平台 (6) 2.3.2 软件平台 (6) 2.3.3 开发环境 (6) 第三章系统功能设计与实现 (7) 3.1 系统目标设计 (7) 3.2 数据库分析与设计 (9) 3.2.1数据库表设计 (9) 3.2.2数据库表关系图 (12) 3.3 系统功能概要设计 (13) 3.4 系统功能详细设计 (14)

企业职工信息管理系统 摘要 随着科技的不断发展,企业的不断壮大,传统的企业人事管理主要以人工为主,人工管理既费力、费时,又容易出现错误,严重制约了企业员工管理的实施,目前人工管理已不能满足市场的需要,所以建立现代化的智能化的企业职工信息管理系统势在必行。这样可以提高企业的管理效率,同时减轻了人事部门的工作量,使原本复杂和枯燥无味的工作变得简单而轻松。 企业职工信息管理系统是一个基于C/S模式的管理系统。 关键字:企业职工信息管理系统,C/S模式

职工信息管理系统

职工信息管理系统 1.可行性分析 在当今社会,互联网的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。 当前大量企业的员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此部分企业需求,设计企业员工信息管理系统,以帮助企业达到员工管理办公自动化、节约管理成本、提高企业工作效率的目的。员工信息管理系统主要对企业员工的信息进行集中管理,方便企业建立一个完善的、强大的员工信息数据库,它是以SQL2000数据库作为开发平台,使用java编写程序、完成数据输入、修改、存储、调用查询等功能。并使用SQL 2000数据库形成数据,进行数据存储。本项目开发计划旨在明确规范开发过程,保证项目质量,统一小组成员对项目的理解,并对其开发工作提供指导;同时还作为项目通过评审的依据。并说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。 1.1 技术可行性 根据用户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标,来衡量所需技术是否具备。本系统主要采用数据库管理方法,服务器选用MySQL Server 数据库,他是它是目前能处理所有中小型系统最方便的流行数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。硬件方面,该系统短小精悍对赢家没有太大要求,只要能够运行windows操作系统就可以很好的运行该软件。 1.2操作可行性 由系统分系可以看出本系统的开发在技术上具有可行性。首先系统对于服务器端和客户端所要求的软、硬件的最低配置现在大多数的用户用机都能达到。本系统对管理人员和用户没有任何的特殊要求,实际操作基本上以鼠标操作为主并辅以少量的键盘操作,操作方式很方便。因此该项目具有良好的易用性。用户只要具备简单的应用计算机的能力无论学历,无论背景,均可以使用本系统,用户界面上的按钮的功能明确,用户一看就可以了解怎么使用本系统,以及本系统能够完成的功能,因此本系统在操作上是可行的。 1.3经济可行性 估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响。本系统作为一个课程设计,没有必要考虑维护费用,以及本系统可获得的效益等问题。 1.4法律及社会效益方面的可行性

C语言课设之人事管理系统之欧阳家百创编

C语言课程设计 欧阳家百(2021.03.07) ——人事管理系统题目要求: 人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。 (1)添加删除功能:能根据学院人事的变动情况,添加删除记录; (2)查询功能:能根据编号和姓名进行查询; (3)编辑功能(高级):根据查询对相应的记录进行修改,并存储; (4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息;(5)排序功能:按照年龄、来院时间进行排序; (6)保存功能:能对输入的数据进行相应的存储; 一、需求分析: 根据题目要求,职工信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件存贮,这样的方法在一定程度上提高了对数据处理的灵活性,较容易理解,但存在处理中遇到以外情况而丢失数据的风险,另外当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将N定为100,基本上能满足要求; 二、总体设计: 根据以上需求分析,将程序分成以下几个模块: 1、新建数据文件(build new data); 2、添加记录(add data);

简单的学生信息管理系统C语言

#include<> #include<> //输入函数getch的头文件,不能用getchar,具体请查看两者的区别#include<> //申请空间的函数malloc的头文件 typedef struct { //定义结构体类型,包含四项内容,可以自由添加int num; char name[10]; int age; char sex[5]; }st; typedef struct node //构造结点(也是结构体变量) { st data; //数据域 struct node *next; //指针域(指向结构体,也就是自身) }list; list *create() //建立一个单链表 { list *p,*r,*head; //定义结构体指针变量 int i,n; head = (list *)malloc(sizeof(list)); //申请头结点 r = head; head->next = NULL; //头结点的指针域先定义为空 printf("请输入学生人数:\n"); scanf("%d",&n); printf("请输入学生个人信息:\n\n学号,姓名,年龄,性别\n"); for(i=1;i<=n;i++) { p = (list *)malloc(sizeof(list)); //申请一个结点 scanf("%d%s%d%s",&p->,&p->,&p->,&p->; //向结点的数据域输入学生信息 p->next = NULL; r->next = p; //将头结点指向第一个结点,以此类推。 r = r->next; } return (head); //返回头结点的地址 } void output(list *h) // 输出链表中的学生信息 { list *p; p = h->next; //使p指向第一个结点 if(p == NULL) printf("------------学生信息为空------------------\n\n");

自然语言处理的关键技术

自然语言处理的关键技术 自然语言处理技术是所有与自然语言的计算机处理有关的技术的统称,其目的是使计算机理解和接受人类用自然语言输入的指令,完成从一种语言到另一种语言的翻译功能。自然语言处理技术的研究,可以丰富计算机知识处理的研究内容,推动人工智能技术的发展。下面我们就来了解和分析自然语言处理的关键技术。 一、常用技术分类 1、模式匹配技术 模式匹配技术主要是计算机将输入的语言内容与其内已设定的单词模式与输入表达式之间的相匹配的技术。例如计算机的辅导答疑系统,当用户输入的问题在计算机的答疑库里找到相匹配的答案时,就会完成自动回答问题的功能。但是不能总是保证用户输入的问题能得到相应的回答,于是很快这种简单匹配式答疑系统有了改进。答疑库中增加了同义词和反义词,当用户输入关键词的同义词或反义词时,计算机同样能完成答疑,这种改进后的系统被称为模糊匹配式答疑系统。 2、语法驱动的分析技术

语法驱动的分析技术是指通过语法规则,如词形词性、句子成分等规则,将输入的自然语言转化为相应的语法结构的一种技术。这种分析技术可分为上下文无关文法、转换文法、ATN文法。上下文无关文法是最简单并且应用最为广泛的语法,其规则产生的语法分析树可以翻译大多数自然语言,但由于其处理的词句无关上下文,所以对于某些自然语言的分析是不合适的。转换文法克服了上下文无关文法中存在的一些缺点,其能够利用转换规则重新安排分析树的结构,即能形成句子的表层结构,又能分析句子的深层结构。但其具有较大的不确定性。ATN文法扩充了转移网络,比其他语法加入了测试集合和寄存器,它比转移文法更能准确地分析输入的自然语言,但也具有复杂性、脆弱性、低效性等缺点。3、语义文法 语义文法的分析原理与语法驱动相似,但其具有更大的优越性。语义文法中是对句子的语法和语义的共同分析,能够解决语法驱动分析中单一对语法分析带来的不足。它能够根据句子的语义,将输入的自然语言更通顺地表达出来,除去一些语法正确但不合语义的翻译。但是语义文法分析仍然有不容忽视的缺点,其分析的语句中有时会出现不合语法的现象,并且这类分析较为复杂,语义类难以确定,语义的规则太多……因此,语义文法技术仍需要改进措施。 4、格框架约束分析技术

职工信息管理系统

职工信息管理系统

职工信息管理系统 摘要 随着计算机的飞速发展,它的应用已经十分广泛,它在人们的生产、生活、工作和学习中发挥着重要的作用。例如一个现代化的公司,拥有数千名的员工,那么如何管理这么庞大的职工信息档案呢?这时,开发一个功能完善的职工信息管理系统就必不可少了。本文介绍了在https://www.360docs.net/doc/647074524.html,框架下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程,提出了实现职工信息、部门信息查询、管理、更新的基本目标并阐述系统结构设计和功能设计从软件工程的角度进行了科学而严谨的阐述。从职工信息的查询到管理实现了自动化的模式,从而提高了工作效率。 本系统采用了B/S模式的结构设计,为企业的人事部门提供了一套操作简易、应用广泛、扩展性强的人事管理系统。可以对企业内部的员工管理更加方便。这种采用网络管理的好处是可以对企业的众多

员工的信息进行动态的管理,修改、添加和删除都非常方便,不必再像原来准备一个巨大的档案库,在诸多文挡中查找资料,减少了这些重要工作出错的可能性。 本文通过作者设计和开发一个中小型职工信息管理系统的实践,阐述了人事管理软件中所应具有的功能及其设计与实现。主要有以下三个方面的功能:1.职工和部门信息的查询;2.职工和部门信息的管理(包括添加、删除和修改)3.评出每个月工作成绩最优秀的职工。 关键词:职工信息管理,https://www.360docs.net/doc/647074524.html,,B/S

Abstract With the development at full speed of computer, its application is very extensively, and it is giving play to the important effect in the production, life, work and study of people. Does a such as modernized company possess the staff of several thousand, and how manages so huge staff and workers' information archives like that? At this moment, the staff and workers' information management system that to develop the function perfect was indispensable. The tactics that this text, article, etc. introduced at https://www.360docs.net/doc/647074524.html, and adopts under the frame " the development is applied in the comprehensive planning from top to bottom from bottom to top " are developed the detailed course of this system, and put forward the basic objective to realize that staff and workers' information and department information are inquired about, are managed and are renewed and expounding system structural design from the angle of software engineering having carried on expounding of science and

C语言 学生信息管理系统(完整版)

电子科技大学成都学院程序综合设计论文 论文题目学生信息管理系统 学生姓名魏国 学号1340840625 专业机械设计制造及其自动化 系(分院)电子工程系 授课教师杜娥 2015年12月制

摘要 随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活不可或缺的辅助工具。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。现在由于学校规模进一步扩大,学生人数逐渐上升,在学校的学生信息管理中,虽然已经存在许多学生信息管理系统,但由于学校之间的管理差异很信息的不同,各个学校的学生信息管理的要求不一致,这样我们需要根据具体学习的具体要求来开发学生信息管理系统以方便学生管理。本系统主要对学生各种信息进行处理。 本系统采用C语言编写,设计从实用性出发,设计开发出一个操作简单且符合实际需要的学生信息管理系统。本文设计出一个可以添加、修改、查询、删除、统计的学生信息管理系统;最后,通过测试分析,力求将学到的只是在学生信息管理系统的得到全面运用,并使系统在实际的操作中能按照设计的要求安全有效的正确运行。 学生信息管理系统是为了实现学校对学生信息管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生信息管理提供了强有力的工具和管理手段。 学生信息管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生信息管理的要求。学生信息管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了学生信息管理计算机化。 关键字:学生信息,管理系统,数据库,C语言编写

职工信息管理系统设计(C语言)

程序设计课程设计报告 职工信息管理系统设计专业 计算机科学与技术 (软件工程(NIIT)) 学生姓名 班级 学号 指导教师 完成日期2011年7月

目录 1课程设计目的 (1) 2课程设计内容 (1) 3设计流程图 (1) 4源程序清单 (2) 5小结 (21)

。 职工信息管理系统的设计 1课程设计目的 1.加深对《C语言程序设计》课程知识的理解,掌握C语言应用程序的开发方法和步骤; 2.进一步掌握和利用C语言进行程序设计的能力; 3.进一步理解和运用结构化程序设计的思想和方法; 4.初步掌握开发一个小型实用系统的基本方法; 5.学会跳是一个较长程序的基本方法; 6.学会利用流程图火N-S图表示算法; 7.掌握书写长须设计开发文档的能力(书写课程设计报告) 2 课程设计内容 设计职工信息管理系统,要求职工心想包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。设计一职工信息管理系统,使之能提供以下功能: (6)系统以菜单方式工作 (7)职工信息录入功能(职工信息用文件保存)--输入 (8)职工信息浏览功能--输出 (9)查询和排序功能(至少一种查询方式)--算法 (10)按工资查询 (11)按学历查询等 (12)职工信息删除、修改功能(任选项) 3设计流程图

. . .

。 (1)菜单函数 void menu() /*菜单函数*/ { printf(" ☆☆☆计算机科学与技术软件技术☆☆☆\n"); printf("\n"); printf(" ∮1010704422 杨婷婷∮\n"); printf("\n"); printf(" ******************职工信息管理****************\n"); printf(" 1.录入职工信息"); printf(" 2.浏览职工信息\n"); printf(" 3.查询职工信息"); printf(" 4.删除职工信息\n"); printf(" 5.添加职工信息"); printf(" 6.修改职工信息\n"); printf(" 7.退出\n"); printf(" ********************谢谢使用******************\n"); printf("\n"); printf("\n"); } (2)录入职工信息 void append() { if((fp=fopen("worker.xls","a"))==NULL) { printf("\n不能打开该文件!"); exit(); } printf("\n请输入添加职工信息(姓名、职工号、性别、年龄、学历、职位、工资、电话、地址)\n"); scanf("%s%s%s%s%s%s%s%s%s",https://www.360docs.net/doc/647074524.html,,one.num,one.sex,one.age,one.record,one.positio n,one.wanges,one.tel,one.addr); fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",https://www.360docs.net/doc/647074524.html,,one.num,one.sex,o ne.age,one.record,one.position,one.wanges,one.tel,one.addr); fclose(fp); } (3)查询职工信息数据查找共分为职工号、姓名等方式查找 void search() { int l; printf("\t\t\t\t*姓名查找按:1*\n"); printf("\t\t\t\t*学历查找按:2*\n"); printf("\t\t\t\t*职工号查按:3*\n"); scanf("%d",&l); if(l>0&&l<4) {switch(l) {

C语言课程设计-人事管理系统

C语言课程设计 ——人事管理系统

题目要求: 人事管理管理系统 [要求] 某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。 (1)添加删除功能:能根据学院人事的变动情况,添加删除记录; (2)查询功能:能根据编号和姓名进行查询; (3)编辑功能(高级):根据查询对相应的记录进行修改,并存储; (4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上)),统计要求同时显示被统计者的信息; (5)排序功能:按照年龄、来院时间进行排序; (6)保存功能:能对输入的数据进行相应的存储; 一、需求分析: 根据题目要求,职工信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件存贮,这样的方法在一定程度上提高了对数据处理的灵活性,较容易理解,但存在处理中遇到以外情况而丢失数据的风险,另外当文件中的数据量很大时,这种方法也存在一定的难度,在本程序中将N定为100,基本上能满足要求; 二、总体设计: 根据以上需求分析,将程序分成以下几个模块: 1、新建数据文件(build new data); 2、添加记录(add data); 3、删除记录(delete data); 4、按工号搜索(search by number); 5、按姓名搜索(search by name); 6、浏览全部数据(browse all); 7、修改数据(modify the data); 8、排序功能(order the volume); 9、统计功能(data a volume); 系统功能模块图如下:

相关文档
最新文档