问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言编程!职工信息管理系统,谁能帮我改改?我只有这些分数,都拿出来

发布网友 发布时间:2022-05-29 07:43

我来回答

3个回答

热心网友 时间:2023-10-11 12:26

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct one /*定义一个结构体*/
{
char nam[50];
int num;
char sex[50];
int age;
char career[50];
char marry[50];
char department[50];
char position[50];
char wages[50];
int worktime;
long telephone;
char address[50];
}one[50];
struct one tmp;
void add();
void search();
void change();
void del();
void output();
void sort();
void TitlePrint();
void ContentPrint( struct one p );
void Input( struct one &p );
int main() /*主函数*/
{
int m,r,count=0;
char ctmp;
printf("\n|------------------------------------------------------|\n",ctmp);
printf("\n|^_^*********^_^欢迎进入员工信息管理系统^_^*********^_^|\n");
printf("\n|------------------------------------------------------|\n");
for( count=0;count<3;count++ )
{
printf("请输入进入系统的通行密码(4位):");
scanf("%d",&r);
if( r!=1234 ) continue;
}
ctmp=' ';
if( count=4 )
{
printf("错误次数达到最大,按任意键退出!\n");
system("pause");
exit(-1);
}
count = 25;
while(1)
{
printf("%25c-----------------------------\n",ctmp);
printf("%25c|添加员工记录,请按1 |\n",ctmp);
printf("%25c|查找员工信息,请按2 |\n",ctmp);
printf("%25c|修改员工信息,请按3 |\n",ctmp);
printf("%25c|删除员工信息,请按4 |\n",ctmp);
printf("%25c|输出显示员工信息,请按5 |\n",ctmp);
printf("%25c|对员工信息进行排序,请按6 |\n",ctmp);
printf("%25c|退出,请按0 |\n",ctmp); /*输出提示信息*/
printf("%25c-----------------------------\n",ctmp);
printf("请选择:");
scanf("%d",&m);
system("cls");
switch(m)
{
case 1: add();break;
case 2: search();break;
case 3: change();break;
case 4: del(); break;
case 5: output();break;
case 6: sort();break;
case 0: exit(-1);
default: printf("\n\n选择错误,请重选");
system("pause");
}
}
return 0;
}
void TitlePrint()
{
printf("%-6s%-6s%-6s%-6s%-6s%-6s%-6s%-6s%-6s%-6s%-6s%-6s\n","姓名","工号","性别",
"年龄","学历","婚姻状况","部门","职位","工资","工龄","电话","地址");
}
void ContentPrint( struct one p )
{
printf("%s %d %s %d %s %s %s %s %s %d %d %s\n",p.nam,p.num,p.sex,
p.age,p.career,p.marry,p.department,p.position,p.wages,p.worktime,p.telephone,p.address);
}
void Input( struct one &p )
{
printf("请输入员工的姓名:");
scanf("%s",p.nam);
printf("请输入员工的工号:");
scanf("%d",&p.num);
printf("请输入员工的性别:");
scanf("%s",p.sex);
printf("请输入员工的年龄:");
scanf("%d",&p.age);
printf("请输入员工的学历:");
scanf("%s",p.career);
printf("请输入员工的婚姻状况:");
scanf("%s",p.marry);
printf("请输入员工的部门:");
scanf("%s",p.department);
printf("请输入员工的职位:");
scanf("%s",p.position);
printf("请输入员工的工资:");
scanf("%s",p.wages);
printf("请输入员工的工龄:");
scanf("%d",&p.worktime);
printf("请输入员工的电话:");
scanf("%ld",&p.telephone);
printf("请输入员工的地址");
scanf("%s",p.address);
}
void add()
{
FILE *fp;
int i=0;
fp=fopen("information.txt","ab+");
Input( tmp );
fwrite(&tmp,sizeof(struct one),1,fp);
fclose(fp);
printf("输入完毕,任意键返回\n");
}
void search() /*查询函数*/
{
FILE *fp;
char namekey[50];
int flag=0,i;
fp=fopen("information.txt","rb");
printf("\n请输入要查找的职工姓名:");
scanf("%s",namekey);
for(i=0;fread(&one[i],sizeof(struct one),1,fp)!=0;i++)
{
if(strcmp(namekey,one[i].nam)==0)
{
flag=1;
TitlePrint();
ContentPrint(one[i]);
}
}
if(flag==0)printf("无此人\n");
fclose(fp);
}

void change() /*修改函数*/
{
FILE *fp;
char name[10];
int i,flag=0,n,choice;
fp = fopen("information.txt","rb");
for( n=0; !feof(fp);n++ ) fread(&one[n],sizeof(struct one),1,fp) ;//先读取本地文件内容
fclose(fp);
fp = fopen("information.txt","w");
printf("请你输入要修改的员工的名字\n");
scanf("%s",name);
for( int i=0;i<=n;i++ )
{
if(strcmp(one[i].nam,name)==0)
{
flag = 1;
printf("你所要修改的员工的资料如下,请选择你要修改的内容\n");
TitlePrint();
ContentPrint(one[i]);
printf("请选择对应序号(从左往右依次为1,2,3,...):\n");
scanf("%d",&choice);getchar();
switch( choice )
{
case 1:
printf("请输入员工的新姓名:");
scanf("%s",one[i].nam);
break;
case 2:
printf("请输入员工的新工号:");
scanf("%d",&one[i].num);
break;
case 3:
printf("请输入员工的新性别:");
scanf("%s",one[i].sex);
break;
case 4:
printf("请输入员工的新年龄:");
scanf("%d",&one[i].age);
break;
case 5:
printf("请输入员工的新学历:");
scanf("%s",one[i].career);
break;
case 6:
printf("请输入员工的婚姻新状况:");
scanf("%s",one[i].marry);
break;
case 7:
printf("请输入员工的新部门:");
scanf("%s",one[i].department);
break;
case 8:
printf("请输入员工的新职位:");
scanf("%s",one[i].position);
break;
case 9:
printf("请输入员工的新工资:");
scanf("%s",one[i].wages);
case 10:
printf("请输入员工的新工龄:");
scanf("%d",&one[i].worktime);
break;
case 11:
printf("请输入员工的新电话:");
scanf("%ld",&one[i].telephone);
break;
case 12:
printf("请输入员工的新地址");
scanf("%s",one[i].address);
break;
default:
printf("输入有误,修改失败,请重试!\n");
}

}
fwrite(&one[i],sizeof(struct one),1,fp);
}
fclose(fp);
if( flag==0 ) printf("没找到,请检查操作是否正确!\n");
}

void output() /*输出函数*/
{
FILE *fp;
int i;
fp=fopen("information.txt","rb");
TitlePrint();
for(i=0;fread(&one[i],sizeof(struct one),1,fp)!=0;i++)
ContentPrint( one[i] );
if( i==0 ) printf("本地没有数据!\n");
fclose(fp);
}
void del()
{
FILE *fp;
int num,position=-1,i,n;
char choice;

printf("如果你输入的员工号存在,系统自动删除该信息!如果不存在,系统不做任何改动\n");
printf("请输入你要删除的员工号:");
scanf("%d",&num);
if( (fp=fopen("information.txt","r"))==NULL )
{
printf("文件操作失败!");
return;
}
for( n=0;!feof(fp);n++ )
{
fread(&one[n],sizeof(struct one),1,fp);//先读取本地文件内容
if( one[n].num==num ) position=n;
}
fclose(fp);
printf("是否真的要删除该人?删除后该人的所有信息将无法恢复《Y/N》\n");
scanf("%s",&choice);
if(choice=='y'||choice=='Y')
{
fp = fopen("information.txt","wb");
for( i=0;i<n;i++ )
if( i!=position ) fwrite(&one[i],sizeof(struct one),1,fp);
fclose(fp);
}
}
void sort() //冒泡排序
{
FILE *fp;
int temp,flag,n;
struct one tmp;

fp=fopen("information.txt","rb");
for( n=0; !feof(fp);n++ ) !fread(&one[n],sizeof(struct one),1,fp); //先读取本地文件内容
fclose(fp);
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if( one[i].num>one[j].num )
{
tmp = one[i];
one[i] = one[j];
one[j] = tmp;
}
fp=fopen("information.txt","wb");
for( int i=0;i<=n;i++ ) fwrite(&one[i],sizeof(struct one),1,fp);
fclose(fp);
}

热心网友 时间:2023-10-11 12:26

可以通过Bai Hi告诉我们
有机会可能完成你所面临的任务
具体的要求也可能告诉我们

ES:\\A0FA28591AE1FF3D9B58CD8531661899
交易提醒:预付定金是诈骗

热心网友 时间:2023-10-11 12:27

3月16号我应该有时间,可以帮你看看!你发我邮箱吧:532305721@qq.com
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何在南平规划一次很棒的旅行攻略? 带孩子去南平旅行,怎样玩比较省钱? 如何让钢化膜边缘贴合 路由器可以用不同的用户名上网吗?怎样设置? 中国兄弟连曲虎喜欢谁 蚕头燕尾怎么造句 故事内容。一夜情后发现那个男人是老公的弟弟、言情小说。女主人公的... 如何鉴别热镀锌和冷镀锌 光猫的注册灯一直闪没有网是怎么回事 ...PSP3000播放不起MP4格式的视频 我是6.60系统,PPA也放不起。还有就... 求一套机械制图标准CAD图纸图框、标题栏及明细栏,尺寸样式,标注。 DNF18级转职漫游第三个任务暗黑雷鸣废墟图在哪有? 而且我去辛达那没有 奇怪的石头 这个任务 我18级了 C语言程序——职工信息管理系统 发巨人城废墟图给我 我的世界的 外国律师可以在中国打官司吗 地下城暗黑雷鸣废墟图怎麽开启的 外国企业要打诉讼官司,要准备什么材料? 汽车的排量是什么,越大的越费油吗? 怎样开启地下城与勇士中的暗黑雷鸣废墟图? 外国公司起诉中国人,公证认证怎么办 卡通的废墟图 外企在中国的纠纷按照哪国法律处理的? 汽车的排量是什么?越大的越费油吗? 外商独资在中国设立企业可不可以在合同中约定若发生纠纷向别国*提起诉讼,争议适用别国法律? dnf暗黑雷鸣废墟图在哪能找到? 外国企业可以委托中国律师进行专利侵权诉讼和索赔吗? TransactionsonMechatronics是月刊吗 北京大学学报是月刊吗 排量越大的车越省油吗?真相到底是怎样的? 外国公司做为原告在境内起诉公司时要办理的认证有哪 黑雷鸣废墟图怎么打开? C语言写的职工信息管理系统,输入职工信息后关闭程序,下次打开只剩最后一条职工信息,这是为甚? 地下城中的暗黑雷鸣废墟图在那领 没有锤子任务怎么开暗黑雷鸣废墟图? 不思议迷宫太空船废墟开启多少钱_太空船废墟地图在哪买 现在中国都用什么办法救被困在地震后废墟图的人 穿越火线为什么有人在巨人城废墟图上跑还说偶尔会死? 求,驱魔少年教团废墟图片 我的地下城法师转召唤任务的暗黑雷鸣废墟图里面怎么没有呢 中心静脉压和动脉压高低变化提示什么 马灯调有什么特点? 新马灯调是怎么表演的? 金巧巧是爱新觉罗哪一支? 《西游记》金巧巧是爱新觉罗哪一支? 金巧巧本姓爱新觉罗,清朝覆亡后,那些皇族去了哪里 有哪个明星是姓爱新觉罗的? 歌曲小调的分类和影响是什么? 金巧巧姓什么? 介绍甬剧的作文650字 金星是爱新觉罗的后人吗?