c语言实现公园系统

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
typedef struct packmembers
{
    char name[15];
    int number;
    int money;
    struct packmembers*next;//指针域 
}members;
members *listhead;
members *listend;
void addmembers(char *name,int number,int money)
{
    members *temp=(members*)malloc(sizeof(members));//用malloc给temp分配内存 
    strcpy(temp->name,name);//temp 是一个新节点 
    temp->money=money;
    temp->number=number;
    if(listhead==NULL&&listend==NULL)
    {
        listhead=temp;
        listend=temp;
    }
    else
    {
        listend->next=temp;
        listend=temp;
    }
    temp->next=NULL;
}
void showmembers()
{
    members *temp=listhead;
    while(temp!=NULL)
    {
        printf("姓名:%s\n",temp->name);
        printf("工号:%d\n",temp->number);
        printf("工资:%d\n",temp->money);
        printf("------------------------------------------\n");
        temp=temp->next;
    }
}
void revisemembers(int number)
{
    members *temp=listhead;
    while(temp!=NULL)
    {
        if(temp->number==number)
        {
            char name[15];
            int number;
            int money;
            printf("输入修改后成员的名字:\n");
            scanf("%s",name,15);
            printf("输入修改后成成员的工资:\n");
            scanf("%d",&money);
            strcpy(temp->name,name);
            temp->money=money;
            printf("修改成功!\n");
            temp=temp->next;
        }
        else
        {
            printf("本系统中没有找到该员工的信息!\n");
            break;
        }
    }
}
void inquiremembers(int number)
{
    members *temp=listhead;
    while(temp!=NULL)
    {
        if(temp->number==number)
        {
            printf("姓名:%s\n",temp->name);
            printf("工号:%d\n",temp->number);
            printf("工资:%d\n",temp->money);
            printf("查询成功!\n");
            temp=temp->next;
        }
        else
        {
            printf("本系统中没有找到该员工的信息!\n");
            break;
        }
    }
}
void deletemembers(int number)
{
    members *temp=listhead;
    members *prepoint=NULL;
    while(temp!=NULL)
    {
        if(temp->number==number)
        {
            if(temp==listhead)
            {
                listhead=temp->next;
                temp->next=NULL;
                free(temp);//释放内存空间; 
            }
            else if(temp==listend)
            {
                listend=prepoint;
                prepoint->next=NULL; 
                free(temp);
            }
            else
            {
                prepoint->next=temp->next;
                 temp->next=NULL;
                 free(temp);
            }
            printf("删除成功!\n");
        }
        prepoint=temp;
        temp=temp->next;
    }
}
int main(int argc, char *argv[]) 
{
    char a[5],b[5];
    printf("是否有该软件的账号:yes or no\n");
    scanf("%s",&a);
    if(strcmp(a,"no")==0)
    {
        printf("注册\n");
    }
    printf("登录\n");
    printf("是否为管理员:yes or no\n");
    scanf("%s",&b);
    if(strcmp(b,"yes")==0)
    {
    while(1)
    {
        system("cls");
        int x=-1;
        printf("请选择选项:\n");
        printf("0.退出系统\n");
        printf("1.员工管理\n");
        printf("2.考勤管理\n");
        printf("3.绩效管理\n");
        printf("4.薪资管理\n");
        scanf("%d",&x);
        switch(x)
        {
            case 0:
                {
                    printf("欢迎下次使用本系统\n");
                    return 1;
                    break;
                }
            case 1:
                {
                    while(1)
                    {
                        system("cls");
                        int y;
                        printf("进入员工信息管理界面:\n");
                        printf("64.退出员工信息管理界面:\n");
                        printf("65.录入员工信息\n");
                        printf("66.修改员工信息\n");
                        printf("67.显示全部员工信息\n");
                        printf("68.查询员工信息\n");
                        printf("69.删除员工信息\n"); 
                        scanf("%d",&y);
                        switch(y)
                        {
                            case 64:
                                {
                                    printf("已退出员工信息管理界面,欢迎下次使用本系统!\n");
                                    return 1;
                                    break;
                                }
                            case 65:
                                {
                                    char name[15];
                                    int number;
                                    int money;
                                    printf("输入成员的名字:\n");
                                    scanf("%s",name,15);
                                    printf("输入成员的工号:\n");
                                    scanf("%d",&number);
                                    printf("输入成员的工资:\n");
                                    scanf("%d",&money);
                                    addmembers(name,number,money);
                                    printf("录入成功!\n");
                                    break;
                                    }
                            case 66:
                                {
                                    int number;
                                    printf("输入想要修改的员工工号:\n");
                                    scanf("%d",&number);
                                    revisemembers(number); 
                                    break;
                                }
                            case 67:
                                {
                                    printf("显示全部员工信息:\n");
                                    showmembers();
                                    break;
                                }
                            case 68:
                                {
                                    int number;
                                    printf("输入想要查询的员工工号:\n");
                                    scanf("%d",&number);
                                    inquiremembers(number);
                                    break;
                                }
                            case 69:
                                {
                                    int number;
                                    printf("输入想要删除的员工工号:\n");
                                    scanf("%d",&number);
                                    deletemembers(number);
                                    break;
                                }
                            default:
                                {
                                    printf("输入有误,请重新输入!\n");
                                    break;
                                }
                        }
                        system("pause>0");
                    }
                    break;
                }
            case 2:
                {
                    system("cls");
                    char name;
                    int number;
                    printf("进入考勤管理界面:\n");
                    printf("请输入员工信息:姓名\t工号\n");
                    scanf("%s%d",&name,&number);
                    break;
                }
            case 3:
                {
                    system("cls");
                    printf("进入绩效管理界面:\n");
                    break;
                }
            case 4:
                {
                    system("cls");
                    int y;
                    printf("进入薪资管理界面:\n");
                    break;
                }
            default:
                {
                    printf("输入的数字有误,请重新输入!\n");
                    break;
                }
        }
        system("pause>0");
    }
    }
    else
    {
        printf("仅能查看员工信息\n");
    }
    printf("返回主页面,欢迎再次使用本系统!\n");
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值