程序要求:
参考一下:https://wenku.baidu.com/view/5dfc1dd8a58da0116c1749d0.html
如有帮助,望采纳。点击我回答右上角【采纳】按钮。
参考
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 300
struct date
{
char year[6];
char month[4];
char day[4];
};
struct st
{
char num[13];
char name[15];
int age;
char work[20];
char sex[6];
char add[30];
char phone[10];
struct date hiredate;
};
void lr()
{
FILE *p;
struct st s1;
char ans='y';
p=fopen("d:\\staff.dat","a");
if(p==NULL) {
printf("file open error!\n");
exit(-1);
}
while(ans=='y'||ans=='Y') {
printf("请输入工号:");
scanf("%s",s1.num);
printf("请输入姓名:");
scanf("%s",s1.name);
printf("请输入年龄:");
scanf("%d",&s1.age);
printf("请输入工作:");
scanf("%s",s1.work); printf("请输入性别:");
scanf("%s",s1.sex);
printf("请输入地址:");
scanf("%s",s1.add);
printf("请输入电话:");
scanf("%s",s1.phone);
printf("请输入入职时间(年月日):");
scanf("%s%s%s",s1.hiredate.year,s1.hiredate.month,s1.hiredate.day);
fwrite(&s1,sizeof(struct st),1,p);
getchar();
printf("继续输入吗?(y/n)");
scanf("%c",&ans);
}
fclose(p);
}
void cx(){
FILE *p;
struct st s[N];
char num[13];
char name[15];
char phone[10];
int i,w,c,n=0,m=1;
if(m>0) {
do{
printf("\n");
printf("************************\n");
printf("******按1 工号查询******\n");
printf("******按2 姓名查询******\n");
printf("******按3 电话查询******\n");
printf("******按0 退出系统******\n");
printf("************************\n");
printf("请输入你的选择:\n");
scanf("%d",&c);
switch(c) {
case 1:
p=fopen("d:\\staff.dat","rb");
if(p==NULL) {
printf("file open error.\n");
exit(-1);
}
while(fread(&s[n],sizeof(struct st),1,p)==1) {
n++;
}
fclose(p);
printf("请输入工号:");
scanf("%s",num);
printf("\n");
for(i=0;i<n;i++) {
if(strcmp(num,s[i].num)==0){
printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone);
break;
}
if(i>=n) {
printf("不存在该工号!\n");
}
}
system("pause");
break;
case 2:
p=fopen("d:\\staff.dat","rb");
if(p==NULL){
printf("file open error.\n");
exit(-1);
}
while(fread(&s[n],sizeof(struct st),n,p)==1) {
n++;
}
fclose(p);
printf("请输入姓名:");
scanf("%s",name);
printf("\n");
for(i=0;i<n;i++) {
if(i>=n) {
printf("不存在该姓名!\n");
} else {
printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone);
}
}
p=fopen("d:\\staff.dat","w");
fwrite(s,sizeof(struct st),n,p);
fclose(p);
system("pause");
break;
case 3:
p=fopen("d:\\staff.dat","rb");
if(p==NULL){
printf("file open error.\n");
exit(-1);
}
while(fread(&s[n],sizeof(struct st),1,p)==1) {
n++;
}
fclose(p);
printf("请输入电话:");
scanf("%s",phone);
printf("\n");
for(i=0;i<n;i++) {
if(i>=n) {
printf("不存在该电话!\n");
} else {
printf("%-15s%-20s%-4s\n",s[i].num,s[i].name,s[i].phone);
}
}
p=fopen("d:\\staff.dat","w");
fwrite(s,sizeof(struct st),n,p);
fclose(p);
system("pause");
break;
}
}
while(c!=0);
}
}
int main()
{
int choice;
printf("\n");
while(1) {
printf("*************************************************************\n");
printf("**------------------欢迎进入企业员工管理系统---------------**\n");
printf("**--------------------按1,录入员工信息--------------------**\n");
printf("**--------------------按2,更新员工信息--------------------**\n");
printf("**--------------------按3,查询员工信息--------------------**\n");
printf("**--------------------按4,排列员工信息--------------------**\n");
printf("**--------------------按5,统计员工信息--------------------**\n");
printf("**--------------------按6,输出员工信息--------------------**\n");
printf("**--------------------按0,退出系统------------------------**\n");
printf("**----------------------------------制作者:3组--**\n");
printf("*************************************************************\n");
printf("请输入你的选项:");
scanf("%d",&choice);
switch(choice) {
case 0:
printf("运行结束,谢谢使用!\n");
system("pause");
return 0;
case 1:
lr();
break;
case 3:
cx();break;
default:
printf("输入错误,请重新选择!\n");
}
}
system("pause");
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632