4.2.3.1此模块源程序及说明
void add() {int i,j;
printf(\
/*提示用户需要输入几位员工的信息*/
scanf(\
printf(\for(i=0;i scanf(\ &sta[i].sex,&sta[i].age,&sta[i].duty,&sta[i].title,&sta[i].politic, &sta[i].wenpin,&sta[i].coming_time,&sta[i].duty_time,&sta[i].kinds_of_staff); /*通过for循环实现多组数据对结构体变量的赋值*/ } save1(j); /*将增添的信息通过此子函数储存入文本文档*/ } 4.2.3.2函数流程图 提示信息:输入个数 用户输入数据 提示用户:输入信息 用户输入信息 将信息赋值给结构体变量 存储至文本文档 第 13 页 共 31 页 4.2.3.3 模块运行界面 4.2.4 删除模块设计 【思路】如果用户在菜单界面选择删除功能,就进入了删除模块;此 模块应该首先请用户输入需要删除的人员的编号,然后显示被删除人员的详细信息;提示用户是否需要删除此用户信息;若选“否”,则要求用户重新输入编号;若选“是”,找出存放需被删除人员的结构体变量sta[i],然后将sta[i+1]的信息赋给sta[i],依次循环赋值;然后用save()函数的文件只写将修改后的结构体变量信息储存在原文本文档中;最后提示用户“删除成功”。 4.2.4.1此模块源程序及说明 void del(int j) { int f,k,i=0;char a[10]; printf(\:\ scanf(\ while(strcmp(a,sta[i].num)!=0) {i++; } 第 14 页 共 31 页 /*查询出存储被删除用户结构体变量的位置*/ printf(\您想删除此项:\ printf(\ sta[i].sex,sta[i].age,sta[i].duty,sta[i].title,sta[i].politic, sta[i].wenpin,sta[i].coming_time,sta[i].duty_time,sta[i].kinds_of_staff); printf(\是\\n2.否\\n\您的选择是:\scanf(\ /*以下循环用于用户来确定是否删除此用户信息*/ while(f==2){printf(\:\ scanf(\ while(strcmp(a,sta[i].num)!=0) {i++; } printf(\您想删除此项:\ printf(\ sta[i].sex,sta[i].age,sta[i].duty,sta[i].title,sta[i].politic, sta[i].wenpin,sta[i].coming_time,sta[i].duty_time,sta[i].kinds_of_staff); printf(\是\\n2.否\\n\您的选择是:\ scanf(\ } if(f==1) {for(k=i;k sta[k]=sta[k+1];/*通过循环覆盖被删除用户的信息*/ }; printf(\已经删除成功。\ save(j);}/*存储删除后的信息*/ } 4.2.4.2函数流程图 用户输入需要 删除的编号 否 显示将第被删除 15 页 用共 户31 信页 息,确定是否删除(是\\否) 4.2.4.3 模块运行界面 4.2.4 查询模块设计 【思路】按照系统要求,此程序需要完成能根据编号和姓名进行查询; 因此,当用户选择此功能后,需要向用户提供按何种方式进行查询的菜单;由用户进行选择,此处需要设置容错;当用户选择编号时,由用户输入需要查询的编号,因为在结构体中将编号定义为字符型数组,因此需要使用strcmp()语句进 第 16 页 共 31 页
相关推荐: