first commit

master
1433290541@qq.com.com 6 years ago
commit 113877518d

254
ks.c

@ -0,0 +1,254 @@
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define LEN 20 /* 职工号和姓名等最大字符数,实际请更改 */
#define N 200 /* 最大职工人数*/
struct info /* 定义职工信息结构体 */
{
char jobnum[LEN+1]; /* 职工号 */
char name[LEN+1]; /* 姓名 */
char sex[3]; /* 性别 */
int age; /* 年龄 */
char edu[LEN+1]; /* 学历 */
int sal; /* 工资 */
char add[30]; /* 家庭地址 */
char tel[LEN+1]; /* 电话号码 */
}sta[N];
int k=1,m,n; /* 定义全局变量 */
void readfile(); /* 函数声明 */
void seek();
void insert();
void modify();
void del();
void display();
void save();
void menu();
int main()
{
while(k)
menu();
system("pause");
return 0;
}
void readfile() /* 录入信息 */
{
FILE *fp;
int i=0;
if ((fp=fopen("staff.txt","r"))==NULL)
{ printf("Open file error! Press any key to exit!");
system("pause");
exit(0);
}
while(fscanf(fp,"%s %s %s %d %s %d %s %s",sta[i].jobnum,sta[i].name,sta[i].sex,&sta[i].age,sta[i].edu,&sta[i].sal,sta[i].add,sta[i].tel)==8)
{ i++;
i=i;
}
fclose(fp);
n=i;
printf("录入完毕!\n");
}
void seek()
{ int i,item,flag; /* item-选项编号flag-判定标记 */
char s1[21]; /* 定义输入字符空间 */
printf("------------------\n");
printf("1.按职工号查询\n");
printf("2.按学历查询\n");
printf("3.退出本菜单\n");
printf("------------------\n");
while(1)
{ printf("请选择子菜单编号:");
scanf("%d",&item);
flag=0;
switch(item)
{
case 1:
printf("请输入要查询的职工的职工号:\n");
scanf("%s",s1);
printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t\t电话\n");
for(i=0;i<n;i++)
if(strcmp(sta[i].jobnum,s1)==0)
{ flag=1;
printf("%s\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",sta[i].jobnum,sta[i].name,sta[i].sex,sta[i].age,sta[i].edu,sta[i].sal,sta[i].add,sta[i].tel);
}
if(flag==0)
printf("该职工号不存在!\n");
break;
case 2:
printf("请输入要查询的职工的学历:\n");
scanf("%s",s1);
printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t\t电话\n");
for(i=0;i<n;i++)
if(strcmp(sta[i].edu,s1)==0)
{ flag=1;
printf("%s\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",sta[i].jobnum,sta[i].name,sta[i].sex,sta[i].age,sta[i].edu,sta[i].sal,sta[i].add,sta[i].tel);
}
if(flag==0)
printf("不存在该学历职工!\n"); break;
case 3:
return;
default:
printf("请在1-3之间选择\n");
}
}
}
void insert() /*录入信息*/
{ int i=n,j,flag;
printf("请输入待增加的职工数:\n");
scanf("%d",&m);
do
{ flag=1;
while(flag)
{ flag=0;
printf("请输入第 %d 个职工的职工号:\n",i+1);
scanf("%s",sta[i].jobnum);
for(j=0;j<i;j++)
if(strcmp(sta[i].jobnum,sta[j].jobnum)==0)
{ printf("已有该工号,请检查后重新录入!\n");
flag=1;
break; /*如有重复立即退出该层循环,提高判断速度*/
}
}
printf("请输入第 %d 个职工的姓名:\n",i+1);
scanf("%s",sta[i].name);
printf("请输入第 %d 个职工的性别:\n",i+1);
scanf("%s",sta[i].sex);
printf("请输入第 %d 个职工的年龄:\n",i+1);
scanf("%d",&sta[i].age);
printf("请输入第 %d 个职工的学历:\n",i+1);
scanf("%s",sta[i].edu);
printf("请输入第 %d 个职工的工资:\n",i+1);
scanf("%d",&sta[i].sal);
printf("请输入第 %d 个职工的地址:\n",i+1);
scanf("%s",sta[i].add);
printf("请输入第 %d 个职工的电话:\n",i+1);
scanf("%s",sta[i].tel);
if(flag==0)
{ i=i;
i++;
}
}while(i<n+m);
n+=m;
printf("录入完毕!\n\n");
}
void modify() /*修改信息*/
{ int i,item,num;
char sex1[3],s1[LEN+1],s2[LEN+1];
printf("请输入要要修改的职工的职工号:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(sta[i].jobnum,s1)==0)
num=i;
printf("------------------\n");
printf("1.修改姓名\n");
printf("2.修改性别\n");
printf("3.修改年龄\n");
printf("4.修改学历\n");
printf("5.修改工资\n");
printf("6.修改地址\n");
printf("7.修改电话\n");
printf("8.退出本菜单\n");
printf("------------------\n");
while(1)
{ printf("请选择子菜单编号:");
scanf("%d",&item);
switch(item)
{
case 1:
printf("请输入新的姓名:\n");
scanf("%s",s2);
strcpy(sta[num].name,s2); break;
case 2:
printf("请输入新的性别:\n");
scanf("%s",sex1);
strcpy(sta[num].sex,sex1); break;
case 3:
printf("请输入新的年龄:\n");
scanf("%d",&sta[num].age);break;
case 4:
printf("请输入新的学历:\n");
scanf("%s",s2);
strcpy(sta[num].edu,s2); break;
case 5:
printf("请输入新的工资:\n");
scanf("%d",&sta[num].sal); break;
case 6:
printf("请输入新的地址:\n");
scanf("%s",s2);
strcpy(sta[num].add,s2);break;
case 7:
printf("请输入新的电话号码:\n");
scanf("%s",s2);
strcpy(sta[num].tel,s2); break;
case 8:
return;
default:
printf("请在1-8之间选择\n");
}
}
}
void del() /* 删除信息 */
{ int i,j,flag=0;
char s1[LEN+1];
printf("请输入要删除职工的职工号:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(sta[i].jobnum,s1)==0)
{ flag=1;
for(j=i;j<n-1;j++)
sta[j]=sta[j+1];
}
if(flag==0)
printf("该职工号不存在!\n");
if(flag==1)
{ printf("删除成功\n");
n--;
}
}
void display()
{ int i;
printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t地址\t\t电话\n");
for(i=0;i<n;i++)
{
printf("%s\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",sta[i].jobnum,sta[i].name,sta[i].sex,sta[i].age,sta[i].edu,sta[i].sal,sta[i].add,sta[i].tel);
}
}
void save() /* 保存信息 */
{ int i,flag=0;
FILE *fp;
fp=fopen("staff.txt","w");
for(i=0;i<n;i++)
{ fprintf(fp,"%s %s %s %d %s %d %s %s\n",sta[i].jobnum,sta[i].name,sta[i].sex,sta[i].age,sta[i].edu,sta[i].sal,sta[i].add,sta[i].tel);
}
fclose(fp);
printf("保存成功!");
}
void menu() /* 主菜单界面 */
{ int num;
printf(" \n\n职工信息管理系统\n\n");
printf("*****系统功能菜单*****\n");
printf("----------------------\n");
printf("1.读入职工信息\n");
printf("2.查询职工信息\n");
printf("3.录入职工信息\n");
printf("4.修改职工信息\n");
printf("5.按职工号删除信息\n");
printf("6.显示当前信息\n");
printf("7.保存当前职工信息\n");
printf("8.退出系统\n");
printf("----------------------\n");
printf("请选择菜单编号:");
scanf("%d",&num);
switch(num)
{
case 1:readfile();break;
case 2:seek();break;
case 3:insert();break;
case 4:modify();break;
case 5:del();break;
case 6:display();break;
case 7:save();break;
case 8:k=0;break;
default:printf("请在1-8之间选择\n");
}
}

BIN
ks.exe

Binary file not shown.

@ -0,0 +1,10 @@
181007 锐雯 女 19 本科 1000 诺克萨斯 18754852456
181001 卡莎 女 20 初中 5000 虚空之地 12345678910
181002 盖伦 男 22 本科 7000 德玛西亚 12458578754
181003 乐芙兰 女 21 专科 6000 诺克萨斯 12547854682
181008 拉克丝 女 18 硕士 2222 德玛西亚 12547854654
181004 卡兹克 男 25 不详 5555 虚空之地 15878546952
181005 李青 男 30 初中 3222 艾欧尼亚 15489657825
181006 亚索 男 28 专科 8888 艾欧尼亚 15878548546
181009 赵信 男 26 本科 9555 德玛西亚 15875848654
181010 德莱文 男 22 专科 7444 诺克萨斯 14585485547
Loading…
Cancel
Save