亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

各路大神幫忙看看,為什么我寫的工資管理系統刪除功能不能用。

各路大神幫忙看看,為什么我寫的工資管理系統刪除功能不能用。

C C++
Occultator 2016-11-29 21:23:08
#include<iostream> #include<stdio.h> #include<string.h> using?namespace?std; void?kaitou() { cout?<<?"******歡迎使用工資管理系統******"?<<?endl; cout?<<?"================================"?<<?endl; cout?<<?"?????輸入1,瀏覽工資記錄"?<<?endl; cout?<<?"?????輸入2,查詢工資記錄"?<<?endl; cout?<<?"?????輸入3,添加工資記錄"?<<?endl; cout?<<?"?????輸入4,刪除工資記錄"?<<?endl; cout?<<?"?????輸入5,修改工資記錄"?<<?endl; cout?<<?"?????輸入6,保存工資記錄"?<<?endl; cout?<<?"?????輸入7,退出系統"?<<?endl; cout?<<?"================================"?<<?endl; cout?<<?"您的選擇是(輸入1-7中任意一個數):"?<<?endl; } struct?zhigong { char?gonghao[10];//工號 char?xingming[10];//姓名 float?gwgz;//崗位工資 float?jxgz;//績效工資 float?yfgz;//應發工資 float?grkk;//個人扣款 float?sfgz;//實發工資 struct?zhigong?*next; }k,z[100],f[100]; struct?zhigong?head={0};//定義一個有頭的鏈表 void?sr()//輸入的內容 { ????cout?<<?"請輸入職工工號"?<<?endl; cin?>>?k.gonghao; cout?<<?"請輸入職工姓名"?<<?endl; cin?>>?k.xingming; cout?<<?"請輸入崗位工資"?<<?endl; ????cin>>k.gwgz; cout?<<?"請輸入績效工資"?<<?endl; cin>>k.jxgz; cout?<<?"請輸入個人扣款"?<<?endl; cin>>k.grkk; k.yfgz=k.gwgz+k.jxgz; k.sfgz=k.yfgz-k.grkk; } void?xieru()//進行文件寫入操作 { FILE*fp; fp?=?fopen("D:\\工資管理.txt",?"ab+"); fwrite(&k,?sizeof(k),1,fp); fclose(fp); } void?xieru1()//進行文件寫入操作1 { ???FILE*fp; ???if?((fp=fopen("D:\\工資管理.txt","wb+"))==NULL)??/*創建文件并判斷是否能打開*/ ???{ ?????printf?("cannot?open?file\n"); ?????exit(0); ???} ???fwrite(&z,sizeof(struct?zhigong),100,fp); ??????fclose(fp); } void?duqu()//進行文件的讀取操作 { FILE*fq; fq=fopen("D:\\工資管理.txt","rb+"); fread(&z[0],sizeof(struct?zhigong),100,fq); fclose(fq); } void?shuchu()//文件的輸出操作 { int?a; FILE*fq; fq=fopen("D:\\工資管理.txt","rb+"); for(a=0;a<100;a++) { fread(&z,sizeof(z),1,fq); fclose(fq); if(z[a].jxgz==0) break; else printf("工號:%s?姓名:%s?崗位工資:%.2f?績效工資:%.2f?個人扣款:%.2f?應發工資:%.2f?實發工資:%.2f\n",z[a].gonghao,z[a].xingming,z[a].gwgz,z[a].jxgz,z[a].grkk,z[a].yfgz,z[a].sfgz); } } void?chaxun() { int?a; int?i; cout<<"請輸入查詢方式"<<endl; cout<<"輸入1,按照姓名查詢"<<endl; cout<<"輸入2,按照工號查詢"<<endl; cin>>a; switch(a) { case?1:cout<<"請輸入被查詢者的姓名:"; char?m[10]; cin>>m; for(i=0;i<100;i++) { if(strcmp(z[i].xingming,m)==0) printf("工號:%s?姓名:%s?崗位工資:%.2f?績效工資:%.2f?個人扣款:%.2f?應發工資:%.2f?實發工資:%.2f\n",z[i].gonghao,z[i].xingming,z[i].gwgz,z[i].jxgz,z[i].grkk,z[i].yfgz,z[i].sfgz); }break; case?2:cout<<"請輸入被查詢者的工號:"; char?n[10]; cin>>n; for(i=0;i<100;i++) { if(strcmp(z[i].gonghao,n)==0) printf("工號:%s?姓名:%s?崗位工資:%.2f?績效工資:%.2f?個人扣款:%.2f?應發工資:%.2f?實發工資:%.2f\n",z[i].gonghao,z[i].xingming,z[i].gwgz,z[i].jxgz,z[i].grkk,z[i].yfgz,z[i].sfgz); }break; } } void?shanchu() { int?a; int?i; int?j; char?k[10]; cout<<"====請根據提示執行操作====\n"<<endl; cout<<"輸入1,按照姓名執行刪除操作"<<endl; cout<<"輸入2,按照工號執行刪除操作"<<endl; cin>>a; switch(a) { case?1:cout<<"請輸入將被刪除者的姓名:"; char?m[10]; cin>>m; ????????for(i=0;i<100;i++) { if(strcmp(z[i].xingming,m)==0) j=i; } ????????????for(i;i<100;i++) { strcpy(z[i?-?1].gonghao,?z[i].gonghao); strcpy(z[i?-?1].xingming,?z[i].xingming); z[i?-?1].gwgz?=?z[i].gwgz; z[i?-?1].jxgz?=?z[i].jxgz; z[i?-?1].grkk?=?z[i].grkk; z[i?-?1].sfgz?=?z[i].sfgz; z[i?-?1].yfgz?=?z[i].yfgz; } printf("\n=======刪除成功!========\n"); ????????break; case?2:cout<<"請輸入將被刪除者的工號:"; char?n[10]; cin>>n; for(i=0;i<100;i++) { if(strcmp(z[i].xingming,m)==0) j=i; } ????????????for(i;i<100;i++) { strcpy(z[i?-?1].gonghao,?z[i].gonghao); strcpy(z[i?-?1].xingming,?z[i].xingming); z[i?-?1].gwgz?=?z[i].gwgz; z[i?-?1].jxgz?=?z[i].jxgz; z[i?-?1].grkk?=?z[i].grkk; z[i?-?1].sfgz?=?z[i].sfgz; z[i?-?1].yfgz?=?z[i].yfgz; } printf("\n=======刪除成功!========\n"); ????????break; } } void?xiugai() { int?j; int?a; int?i; cout<<"請輸入查詢方式"<<endl; cout<<"輸入1,按照姓名查詢"<<endl; cout<<"輸入2,按照工號查詢"<<endl; cin>>a; switch(a) { case?1:cout<<"請輸入被查詢者的姓名:"; char?m[10]; cin>>m; for(j=0;j<100;j++) { if(strcmp(z[j].xingming,m)==0) i=j; } printf("工號:%s?姓名:%s?崗位工資:%.2f?績效工資:%.2f?個人扣款:%.2f?應發工資:%.2f?實發工資:%.2f\n",z[i].gonghao,z[i].xingming,z[i].gwgz,z[i].jxgz,z[i].grkk,z[i].yfgz,z[i].sfgz); printf("請輸入修改的姓名:\n"); scanf("%s",&z[i].xingming); printf("請輸入修改的崗位工資:\n"); scanf("%f",&z[i].gwgz); printf("請輸入修改的績效工資:\n"); scanf("%f",&z[i].jxgz); printf("請輸入修改的個人扣款:\n"); scanf("%f",&z[i].grkk); z[i].yfgz=z[i].gwgz+z[i].jxgz; z[i].sfgz=z[i].yfgz-z[i].grkk; break; case?2:cout<<"請輸入被查詢者的工號:"; char?n[10]; cin>>n; for(j=0;j<100;j++) { if(strcmp(z[j].gonghao,n)==0) i=j; } printf("工號:%s?姓名:%s?崗位工資:%.2f?績效工資:%.2f?個人扣款:%.2f?應發工資:%.2f?實發工資:%.2f\n",z[i].gonghao,z[i].xingming,z[i].gwgz,z[i].jxgz,z[i].grkk,z[i].yfgz,z[i].sfgz); ????????printf("請輸入修改的姓名:\n"); scanf("%s",&z[i].xingming); printf("請輸入修改的崗位工資:\n"); scanf("%f",&z[i].gwgz); printf("請輸入修改的績效工資:\n"); scanf("%f",&z[i].jxgz); printf("請輸入修改的個人扣款:\n"); scanf("%f",&z[i].grkk); z[i].yfgz=z[i].gwgz+z[i].jxgz; z[i].sfgz=z[i].yfgz-z[i].grkk; break; } } int?main()//主函數 { int?i; int?l; printf("請輸入密碼!"); scanf("%d",&l); switch(l) { case?1234: system("cls"); kaitou(); cin?>>?i; switch(i) { ????case?1:shuchu();break; ????case?2:duqu();chaxun();break; case?3:sr();xieru();break; case?4:duqu();shanchu();xieru1();break; case?5:duqu();xiugai();xieru1();break; case?7:return?0; default:printf("輸入有誤,請重新輸入!"); } return?0; default?:printf("密碼輸入錯誤!"); ???} }
查看完整描述

1 回答

已采納
?
寶慕林9955328

TA貢獻13條經驗 獲得超2個贊

你的刪除功能里面的for循環i不初始化真的行嗎

查看完整回答
1 反對 回復 2016-11-30
  • Occultator
    Occultator
    非常感謝您的幫助,已經成功解決?。?!
  • 1 回答
  • 1 關注
  • 1448 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號