当前位置:文档之家› 课程设计实验报告

课程设计实验报告

课程设计实验报告
C语言课程设计实验报告
班级
姓名
学号
实验课程
C
实验名称
人事管理系统
实验成绩
实验日期
/2/15-22
任课教师
一、目的(本次 课程设计 所涉及并要求掌握的知识点。)
经过此程序能实现职工信息的输入,
保存,添加,删除,查询,修改,排序, 统计等。
二、使用环境(本次上机实践所使用的平台和相关软件。 )
(3)数据添加模块 用追加的方式把新增的人事信息写入人事档案文件。
(4)数据删除模块 根据人事信息编号查找要删除的人事信息,从文件中读一条记录,查看编 号是否删除,如果是,则舍弃,不再写入文件;否则重新写入文件。
(5) 数据查询模块(编号) 把编号作为查询字段,用基本查找算法查找人事档案文件,把符合查找要求 的记录输出。
printf_back();
}
printf("输入的人数是(0-%d)?:",N);
scanf("%d",&m);
n=m;
for(i=0;i<n;i++)
{
printf("\n输入第%d个工作人员的信息\n",i+1);
input(i);
}
for(p=0;p<=i;p++)
if((fprintf(fp,"%s\t%s\t%ls\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",wk[p].num,wk[p].name,
void revise_per(); //用编号查询人事信息并修改
void save_revise(); //保存修改后的信息
void sortarray_age(); //用年龄将人事信息排序
void sum_sex(); //统计女工人数
int main() //主函数
源代码
#include<stdio.h>
printf("\t\t4\t浏览所有信息\n\n");
printf("\t\t5\t修改信息\n\n");
printf("\t\t6\t信息排序\n\n");
printf("\t\t7\t信息统计\n\n");
printf("\t\t8\t离开\n\n");
printf("\t\t请选择要进行的操作[]\b\b");
(6)数据查询模块(姓名) 把姓名作为查询字段,用基本查找算法查找人事档案文件,把符合查找要求 的记录输出。
(7)数据修改模块 查找要修改的记录,修改之。先读记录,若是要修改的记录,则修改信息, 把修改后的信息写入文件;否则直接写入文件。
(8)数据排序模块 经过菜单选择年龄或者来院时间,把数据从文件中读出来,任意选择一种排 序算法对记录进行排序,输出排序结果。
#include<string.h>
#define N 100
void menu();
void build();
void add();
void modify();
void modify_data();
voiddel();
void snum();
void browse();
void order();void data( Nhomakorabea;{
char num[10];//编号
char name[10];//姓名
char sex;//性别
char age;//年龄
char job[10];//职务
char post[10];//职称
char politic[10];//政治面貌
char edu_level[10];//最高学历
char period[10];//任职时间
case 4:browse();break;//浏览
case 5:modify();break;//修改
case 6:order();break;//排序
case 7:data();break;//统计
case 8:exit();
default:{("输入错误!请重新输入");menu();}
}
}
struct personnelArcheiveInfo
void numduty();
void menu()
{
int n,w1;
do
{
printf("\n\t\t\t\t菜\t单\n");
printf("\n\t\t0\t新建档案信息\n\n");
printf("\t\t1\t删除信息\n\n");
printf("\t\t2\t追加信息\n\n");
printf("\t\t3\t搜索查找信息\n\n");
void read_per(); //读文件
void save_add(); //保存添加的信息
void add_per(); //添加新的人事信息
void del_per(); //用编号查询人事信息并删除
void search_No(); //用编号查询人事信息
void search_name(); //用姓名查询人事信息
scanf("%d",&n);
if(n<0||n>8){w1=1;getchar();}
else w1=0;
}
while(w1==1);
switch(n)
{
case 0:build();break;//建立
case 1:del();break;//删除
case 2:add();break;//追加
case 3:search();break;//搜索
软硬件
软件:Microsoft Visual C++ 6.0
硬件:windows,及相关硬件设备。
三、内容与设计思想
(1 .设计思路 2 .主要数据结构 3 .主要代码结构 4 .主要代码段分析 。 )
(1)菜单模块 用键盘式选择菜单以实现功能选择,从而进行想要进行的操作来实现其功 能。
(2) 数据输入模块 用键盘式输入人事信息并把人事信息写入人事档案文件。
char start_time[10];//来院时间
char type[10];//人员类别
}wk[N],s;
void build()//建立信息
{
int i,m,n,p;
FILE *fp;
if((fp=fopen("worker00.txt","w"))==NULL)
{
printf("can not build file\n");
(9)数据统计模块 经过菜单选择统计字段:在职人数、党员人数、女工人数、高学历人数、高职称人数。
(10)结束程序模块 经过菜单选择退出来结束整个程序的操作。
具体函数
void desplaymenu(); //菜单函数
void insert_per(); //输入人事信息
void save_per(); //将人事信息保存到文件
相关主题