c语言 编一个人事管理系统 具有①信息的录入 ②信息的修改 ③信息的插入 ④信息的删除:的功能

系统模块:①信息的录入:包括职工的基本信息(工号、姓名、性别、职务编号、出生日期、地址等)、职工所属部门信息(部门编号、职务编号、备注等)、职工工资信息(职务编号、职务名... 系统模块:①信息的录入:包括职工的基本信息(工号、姓名、性别、职务编号、出生日期、地址等)、职工所属部门信息(部门编号、职务编号、备注等)、职工工资信息(职务编号、职务名称、职务工资)②信息的修改:当职工信息发生变化时,便于对信息进行修改。③信息的插入:该模块主要功能是输入新职工的信息。④信息的删除:该模块的主要功能时删除职工信息。 ⑤信息的查询:该模块提供查询符合某一条件的人事档案的界面,要求包括两种查询方式,一种是按姓名查找,另一种是按职工号查找。
求详细过程!! 麻烦啦 界面就类似于下面的图片
展开
 我来答
mochousxy
2013-08-24 · TA获得超过118个赞
知道答主
回答量:36
采纳率:0%
帮助的人:40.4万
展开全部
#include<stdio.h>
#define N 40
#include<string.h>
#include<conio.h>
#include<stdlib.h>
struct student{
 long num;//工号
 char name[10];//姓名
 char sex[4];//性别
 char ad[100];//地址
 char barthday[20];//出生日期
 char apartnum[100],posinum[10],adds[100];//部门编号、职务编号、备注
 char posiname[20];//职务名称
 float income;//职务工资
}st[N];
void menu()
{
    printf("****************************************\n");
    printf("欢迎使用家庭财务管理系统\n");
    printf("****************************************\n\n");
    printf("1:添加记录\n");
    printf("2:查询记录\n");
    printf("3:删除记录\n");
    printf("4:显示所有记录\n");
    printf("0:退出\n");
}
void  input(struct student s[],int *n)
{
    printf("请输入您所要添加的职工数目\n");
    int x,i,j,b,flag=0;
    scanf("%d",&x);
    b=*n+x;
    for(i=*n+1;i<=b;i++)
    {
        flag=1;
        printf("请输入员工工号:\n");
        scanf("%ld",&s[i].num);
        for(j=1;j<i;j++)
            if(s[i].num==s[j].num&&i>1)
            { printf("输入有误\n");flag=0;i--;b--;break;}
        if(flag)
        {
            printf("请输入员工姓名:\n");
            scanf("%s",s[i].name);
            printf("请依次输入该员工性别、出生日期、地址、部门编号、职务编号、职务名称、职务工资、备注:\n");
            scanf("%s%s%s%s%s%s%f%s",&s[i].sex,&s[i].barthday,&s[i].ad,&s[i].apartnum,&s[i].posinum,&s[i].posiname,&s[i].income,&s[i].adds);
        }
    }
    *n=b;if(flag) printf("添加成功\n");
    printf("输入完毕!按任意键返回主菜单!"); getch();
}
void Delete(struct student s[],int *n)
{
    printf("请输入您所要删除的职工姓名\n");
    char m[10];int j;
    scanf("%s",m);
    for(j=1;j<=*n;j++)
    if(strcmp(s[j].name,m)==0)
    {
        *n=*n-1;
        for(;j<=*n;j++)
        s[j]=s[j+1];
        break;
    }
    printf("删除成功!\n");
    printf("输入完毕!按任意键返回主菜单!"); getch();
}
void find(struct student s[],int n)
{
    long b=0;char c[10],kk[10];
    printf(" \t****************************************\n");
    printf(" \t\t1.1----------按工号查询\n");
    printf(" \t\t1.2----------按姓名查询\n");
    printf(" \t****************************************\n");
    int j,e,flag=0;
    float soc;
    scanf("%s",kk);
    if(strcmp(kk,"1.1")==0){
        printf("请输入职工工号\n");
        scanf("%s",c);
        {
            for(j=0,e=strlen(c);j<e;j++)
            b=b*10+c[j]-48;
            printf("工号  姓名  性别  出生日期  地址  部门编号  职务编号  职务名称  职务工资  备注\n");
            for(j=1;j<=n;j++)
            if(b==s[j].num)
            {
                flag=1;
                printf("%ld %s %s %s %s %s %s %s %.2f %s",s[j].num,s[j].name,s[j].sex,s[j].barthday,s[j].ad,s[j].apartnum,s[j].posinum,s[j].posiname,s[j].income,s[j].adds);
            }
            if(!flag)
                printf("未找到相关职工信息\n");
       }
    }
    else if(strcmp(kk,"1.2")==0)
    {
        printf("请输入职工姓名\n");
        scanf("%s",c);
        printf("工号  姓名  性别  出生日期  地址  部门编号  职务编号  职务名称 职务工资  备注\n");
        for(j=1;j<=n;j++)
            if(strcmp(s[j].name,c)==0)
            {
                flag=1;
                printf("%ld %s %s %s %s %s %s %s %.2f %s\n",s[j].num,s[j].name,s[j].sex,s[j].barthday,s[j].ad,s[j].apartnum,s[j].posinum,s[j].posiname,s[j].income,s[j].adds);
            }
        if(!flag)
            printf("未找到相关职工信息\n");
    }
    else
        printf("输入有误.....\n");
    printf("查找完毕!按任意键返回主菜单!"); getch();
}
void print1(struct student s[],int n)
{
    printf("工号  姓名  性别 出生日期  地址  部门编号 职务编号  职务名称  职务工资  备注\n");
    for(;n>0;n--)
    printf("%ld %s %s %s %s %s %s %s %.2f %s\n",s[n].num,s[n].name,s[n].sex,s[n].barthday,s[n].ad,s[n].apartnum,s[n].posinum,s[n].posiname,s[n].income,s[n].adds);
    printf("输出完毕!按任意键返回主菜单!"); getch();
}

int main()
{
    menu();
    int x,n=0;
    while(scanf("%d",&x)!=EOF&&x!=0)
    {
        switch(x)
        {
            case 1:input(st,&n);break;
            case 2:find(st,n);break;
            case 3:Delete(st,&n);break;
            case 4:print1(st,n);break;
            default:printf("Input error!\n");
        }
        system("cls"); /*清屏*/
        menu();
 }
 return 0;
}
追问
谢谢啦,不过我觉得我有点坑了,上面的界面我是给其他人看的,意思是说类似的界面,而我原题呢 界面选项要 有①信息的录入②信息的修改③信息的插入④信息的删除 ⑤信息的查询   还是很感谢啦   要是有时间的话 还是麻烦您能帮忙改一下
予予予雷雨b8771
2013-08-24 · 超过35用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:60.5万
展开全部
额……你这个东西基本就是一个项目了,网上一般付费500~1000请软件公司定制的,不像命令行,要有图形界面,一个星期左右才能做出来个基本界面的。。你给200分也不会有人做的。。
更多追问追答
追问
呃,这个不用界面的,就是简单的命令式的,我帮同学发的,我学的是C++,做这个真的很简单,这种项目是我们学C++时起手的课题,但是同学要用C语言。鉴于我对C的不熟悉,不想烦这个神,就把它挂出来了。。。。这个代码应该很简单的吧(起码用C++很简单的)
追答
要不要数据库,要数据库的话就复杂了,不要的话c++和c应该可以互串的,你把你的代码转换成C语言的不就行了?比如cout换成printf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-23
展开全部
我有一个学生信息管理系统,C语言的。功能和你的差不多,但是基本信息不一样,是姓名,学号,性别,语文分数,数学分数,英语分数等。适合的话HI一下,发给你。
追问
查询方式也有两种吗?  以及其他的功能都有吗?
追答

有的 学号和姓名。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友594d205f21
2013-08-24 · TA获得超过271个赞
知道小有建树答主
回答量:769
采纳率:0%
帮助的人:342万
展开全部
我来试试吧, 能搞定
追问
上面有人先回复了,他可能有点误解我的意思了,如果你做好的话,也可以给我,我也可以给你200分              (怎么不好向你提问啊。。。你要是做好,想给分给你都不方便啊。。。你做好的时候告诉我一下哈)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式