C语言人员管理系统的初步规划及部分函数设计

做一个登录注册查询人员的C语言字符界面

1.能查看所有人员信息,人员信息包括账号,密码,姓名,性别,并将人员信息存入文件

2.能增加人员信息

3.能查找人员,要有模糊查找功能

4.能修改人员信息

5.能删除人员信息

6.能保存人员信息

7.能退出

 总体设计

1.确定界面,使用户可选择操作项目((1)查看人员信息、

(2)增加人员信息、(3)查找人员、(4)修改人员信息、(5)删除记录、

(6)保存数据、(7)退出系统)

2.查看功能:输出已经保存的数据

3.增加人员信息功能:使用结构体,要求用户输入账号、密码、姓名、性别、并写入文件

4. 查找人员功能:使用户输入姓名、账号其中一项可以进行查找

5. 修改人员信息功能:使用户输入姓名、账号其中一项可以进行查找,并进行修改

6.删除记录功能: 使用户输入姓名、账号其中一项可以进行查找,并进行删除

7.关于作者功能:输出作者信息

9.退出系统:将文件关闭,退出程序


数据结构设计:

struct people

{

    char Name[60];

    char Sex[2];

    int    User[20];

    char Code[20]

};

输入模块设计:

void add()//增加人员信息

{

    int numberTemp=0;

int i=0;

struct student temp;

printf("请输入要增加的人员信息数量:");

scanf("%d",&numberTemp);

for(i=0;i<numberTemp;i++)

 {

     printf("输入第%d个人员信息\n",i+1);

 printf("姓名:");

 scanf("%s",temp.name);

 printf("性别:");

 scanf("%s",temp.sex);

 printf("账号:");

 scanf("%s",temp.User);

 printf("密码:");

 scanf("%s",temp.Code);

 st[Number++]=temp; //将刚添加的写入到数组

 bc(&temp); //将刚添加的写入到文件

 }

 printf("添加成功\n");

}

 输出模块设计

void select()

{

    int i=0;

printf("以下是全部人员信息\n");

printf("\t姓名\t性别\t年龄\t账号\t密码\n");

for(i=0;i<Number;i++)

{

    printf("\t%s\t%s\t%d\t%s\t%s\n",st[i].name,st[i].sex,st[i].age,st[i].User,st[i].Code);

}

}


查找模块设计

void Find()//查找人员

{

    int n=0;

printf("1  按姓名查找\n");

printf("2  按账号查找\n");

scanf("%d",&n); switch(n)

{

    case 1:  Find_Name();

break;

case 2: void Find_User();

break;

default: printf("输入有误,结束!\n");

break;

}

}



void Find_Name()//按姓名查找

{

    char name[7];

int i=0;

printf("请输入要查找的人员姓名:");

scanf("%s",name);

system("cls");

printf("\t姓名\t性别\t年龄\t账号\t密码\n");

for (i=0;i<Number;i++)

 {

     if (strcmp(name,st[i].name)==0)

  {

       printf("\t%s\t%s\t%d\t%s\t%s\n",st[i].name,st[i].sex,st[i].age,st[i].User,st[i].Code);

  }

}

}



void Find_User()//按账号查找

{

    char IDnumber[18];

int i=0;

printf("请输入要查找人员的账号:");

scanf("%s",IDnumber);

system("cls");

printf("\t姓名\t性别\t年龄\t账号\t密码\n");

for (i=0;i<Number;i++)

{

    if (strcmp(User,st[i].User)==0)

{

    printf("\t%s\t%s\t%d\t%s\t%s\n",st[i].name,st[i].sex,st[i].age,st[i].User,st[i].Code);

}

}

}



修改模块设计

void change()

{

    int way=0;

printf("请选择修改查找方式\n");

printf("1 通过姓名查找修改\n");

printf("2 通过账号查找修改\n");

scanf("%d",&way);

switch(way)

{

case 1: changebyName();

break;

case 2: changebyUser();

break;

    default: printf("输入有误,结束!\n");

break;

}

}

void changebyName()

{

FILE *fp=NULL;

char name[60];

int i=0;

int changeIndex=0;

    int index=0;

printf("请输入要修改的人员姓名:\n");

scanf("%s",name);

for (i=0;i<Number;i++)

{

if (strcmp(name,st[i].name)==0)

   {

       changeIndex=i+1;

       break;

}

}

if(!changeIndex)

        return;

    changeIndex--;

printf("\t姓名\t性别\t年龄\t账号\t密码\n");

printf("\t%s\t%s\t%d\t%s\t%s\n",st[changeIndex].name,st[changeIndex].sex,st[changeIndex].User,st[changeIndex].Code);

printf("请重新输入该人员信息");

printf("姓名:");

scanf("%s",st[changeIndex].name);

printf("性别:");

scanf("%d",&st[changeIndex].age);

printf("账号:");

scanf("%s",st[changeIndex].User);

printf("密码:");

scanf("%s",st[changeIndex].Code);

fp=fopen("C://people.dat","wb");

for (i=0;i<Number;i++)

{

fwrite(&st[i],sizeof(struct people),1,fp);

}

fclose(fp);

}

void changebyUser()

{

FILE *fp=NULL;

char User[18];

int i=0;

int changeIndex=0;

int index=0;

printf("请输入要修改的人员账号:\n");

scanf("%s",User);

for (i=0;i<Number;i++)

{

    if (strcmp(User,st[i].User)==0)

    {

    changeIndex=i+1;

       break;

}

}

if(!changeIndex)

        return;

    changeIndex--;



printf("\t姓名\t性别\t年龄\t账号\t密码\n");

printf("\t%s\t%s\t%d\t%s\t%s\n",st[changeIndex].name,st[changeIndex].sex,st[changeIndex].User,st[changeIndex].Code);

printf("请重新输入该人员信息");

printf("姓名:");

scanf("%s",st[changeIndex].name);

printf("性别:");

scanf("%d",&st[changeIndex].age);

printf("账号:");

scanf("%s",st[changeIndex].User);

printf("密码:");

scanf("%s",st[changeIndex].Code);

    fp=fopen("C://people.dat","wb");

for (i=0;i<Number;i++)

{

   fwrite(&st[i],sizeof(struct people),1,fp);

    }

fclose(fp);

printf("\t=======>修改成功\n");

}




以上是人员管理的部分设计,之后慢慢完善




printf("\t姓名\t性别\t年龄\t账号\t密码\n");

printf("\t%s\t%s\t%d\t%s\t%s\n",st[changeIndex].name,st[changeIndex].sex,st[changeIndex].User,st[changeIndex].Code);

printf("请重新输入该人员信息");

printf("姓名:");

scanf("%s",st[changeIndex].name);

printf("性别:");

scanf("%d",&st[changeIndex].age);

printf("账号:");

scanf("%s",st[changeIndex].User);

printf("密码:");

猜你喜欢

转载自blog.csdn.net/NightVales/article/details/80642360
今日推荐