第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

請(qǐng)大神幫我注釋全部,看不懂這代碼。

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#define NUM 1000

void enter();

void search_num();

void dele_num();

void modi_num();

void browse();

void count();

void load();

void add();

void menu();?

int n; ? //員工的總數(shù)

struct emploee ?//職工數(shù)據(jù)結(jié)構(gòu)

{

?char no[5];

?char name[8];

?char sex[3];

?int age;

?float wage1; ? ? ?//員工的基本工資

?float wage2; ? ? ?//員工的職務(wù)工資

?float funds; ? ? ?//員工的住房公積金

?float WATERfee; ? //員工的水電費(fèi)

?float TAXfee; ? ? //員工的個(gè)人所得稅

?float wage3; ? ? ?//員工的實(shí)發(fā)工資

}emp[NUM],newemp;

void main()

{

?menu();

}


void menu()//主界面

{ ?int n,w1;

? ?

? ?do

? ?{ system("cls"); ?

? ? ? printf("************* 職工工資管理系統(tǒng) **************\n");

? ? ? printf("* ? ? ? ? ? ?1-----輸入職工信息 ? ? ? ? ? ? ? ? ? ? *\n");

? ? ? printf("* ? ? ? ? ? ?2-----查詢職工信息 ? ? ? ? ? ? ? ? ? ? *\n");

? ? ? printf("* ? ? ? ? ? ?3-----根據(jù)職工ID號(hào)修改 ? ? ? ? ? ? ?*\n");

? ? ? printf("* ? ? ? ? ? ?4-----根據(jù)職工ID號(hào)刪除 ? ? ? ? ? ? ?*\n");

? ? ? printf("* ? ? ? ? ? ?5-----據(jù)工資統(tǒng)計(jì)并瀏覽 ? ? ? ? ? ? ?*\n");

? ? ? printf("* ? ? ? ? ? ?6-----從文件載入信息 ? ? ? ? ? ? ? ? *\n");

? ? ? printf("* ? ? ? ? ? ?7-----瀏覽全部職工 ? ? ? ? ? ? ? ? ? ?*\n");

? ? ? printf("* ? ? ? ? ? ?8-----追加職工信息 ? ? ? ? ? ? ? ? ? ?*\n");

? ? ? printf("* ? ? ? ? ? ?9-----退出程序 ? ? ? ? ? ? ? ? ? ? ? ? ? *\n");

? ? ? printf("***************************************************\n");

? printf(" ? ? ? 輸入您的選擇(1-9):[ ]\b\b");

? scanf("%d",&n);

? if(n<1||n>9) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//對(duì)選擇的數(shù)字作判斷

? ? ? ? ?{

? ? ? ? ? ? w1=1;

? ? ? ? ? ? printf("your choice is not between 1 and 9,Please input again:");

? ? ? ? ? ? getchar();

? ? ? ? ? }

? ? ? ? ?else ? ?w1=0;

? ? ? }?

? ? while(w1==1);

? switch(n)

? { case 1:enter(); ? ?break; ??

? ? case 2:search_num(); ? break; ?

? ? case 3:modi_num(); ? break; ? ?

? ? case 4:dele_num(); ? break; ? ?

? ? case 5:count (); ? ?break; ? ?

? ? case 6:load(); ? ?break; ? ? ?//保存模塊

? ? case 7:browse(); ? ?break; ? ? ?//加載模塊

? ? case 8:add(); ? ?break;?

? ? case 9:printf("\n×××××××謝謝,歡迎下次光臨!×××××××\n\n");

? ? default:exit(0); ?//退出系統(tǒng),exit(0)函數(shù)功能是退出程序。

? }

}

/*************************輸入模塊**********************/

void enter()

{

? ? ?FILE *fp;

? ? ?int n,i;

? ? ?if ((fp=fopen("emp.txt","wb"))==NULL)

? ? ?{

?

? ? ?printf("不能建立emp文件\n");

? ? ?exit(1);

? ? ?}

? ? ?printf("輸入職工人數(shù):");

? ? scanf("%d",&n);

? ? ?printf("輸入格式:職工號(hào) 姓名 性別 年齡 基本工資 職務(wù)工資 ?公積金 水電費(fèi) ?稅<Enter>\n");

? ? ?for(i=0;i<n;i++) ? /* ?循環(huán)獲取n個(gè)職工記錄 */

? ? ?{

? ? ? ? ?printf("第%d個(gè)職工:",i+1);

? ? ? ? ?scanf("%s%s%s%d%f%f%f%f%f",emp[i].no,emp[i].name,emp[i].sex,&emp[i].age,

? ? ? ? ? ?&emp[i].wage1,&emp[i].wage2,&emp[i].funds,&emp[i].WATERfee,&emp[i].TAXfee);

? ? ? ? ?emp[i].wage3=emp[i].wage1+emp[i].wage2+emp[i].funds-emp[i].WATERfee-emp[i].TAXfee;

? ? ?}

? ? ?for(i=0;i<n;i++) ? ? ?/*將n個(gè)職工記錄寫入文件*/

? ? ? ? ? fwrite(&emp[i],sizeof(struct emploee),1,fp);

? ? ?fclose(fp);

}

/*************************統(tǒng)計(jì)模塊**********************/

void count()

{

? ? ?FILE *fp;

? ? ?int n,num;

? ? ?if((fp=fopen("emp.txt","rb"))==NULL)

? ? ?{

? ? ? ? ?printf("不能打開emp文件\n");

? ? ? ? ?exit(1);

? ? ?}

? ? ?printf("請(qǐng)輸入工資數(shù):");

? ? ?scanf("%d",&num);

? ? ?printf("記錄號(hào) 職工號(hào) 姓名 性別 年齡 基本工資 職務(wù)工資 公積金 水電費(fèi) ?稅 ?實(shí)發(fā)工資\n");

? ? ?for(n=0;fread(&emp[n],sizeof(struct emploee),1,fp)!=0;n++)

? ? ?if(emp[n].wage3>=num)

? ? ?printf("%6d%6s%9s%4s%5d ? %.1f ? %.1f ?%.1f ? %.1f ? %.1f ? %.1f\n",n+1,emp[n].no,emp[n].name,emp[n].sex, emp[n].age,emp[n].wage1,

? ? ? ? ? ? ?emp[n].wage2,emp[n].funds,emp[n].WATERfee,emp[n].TAXfee,emp[n].wage3);

? ? ?fclose(fp);

}

/********************刪除模塊*******************/


void dele_num()

{

? ? ?FILE *fp;

? ? ?int i,j,n;

? ? ?char num[5];

? ? ?if((fp=fopen("emp.txt","rb"))==NULL)

? ? ?{

? ? ? ? ?printf("不能打開emp文件\n");

? ? ? ? ?exit(1);

? ? ? }

? ? ?printf("刪除前:\n");

? ? ?printf("記錄號(hào) 職工號(hào) 姓名 性別 年齡 ? 基本工資 職務(wù)工資 公積金 ?水電費(fèi) ? 稅 ?實(shí)發(fā)工資\n");

? ? for(n=0;fread(&emp[n],sizeof(struct emploee),1,fp);n++)

? ? ?printf("%6d%6s%9s%4s%5d ? %.1f ? %.1f ? %.1f ? %.1f ? %.1f ? %.1f\n",n+1,emp[n].no,emp[n].name,emp[n].sex, emp[n].age,emp[n].wage1,

? ? ? ? ? ? ?emp[n].wage2,emp[n].funds,emp[n].WATERfee,emp[n].TAXfee,emp[n].wage3);/*n為emp文件中記錄數(shù)*/

? ? ?printf("要?jiǎng)h除的職工號(hào):");

? ? ?scanf("%s",num);

? ? ?for(i=0;(strcmp(emp[i].no,num)!=0&&i<n);i++)

? ? ?if(i>=n)

? ? ?{

? ? ? ? ? printf("\t沒有%s職工號(hào)的職工\n",num);

? ? ? ? ? exit(2);

? ? ?}

? ? ?fclose(fp);

? ? ?fp=fopen("emp.dat","w+");

? ? ?if(n==1) ?/*一個(gè)記錄已經(jīng)刪除了*/

? ? ?{

? ? ? ? ? ?fclose(fp);

? ? ? ? ? ?exit(3);

? ? ?}

? ? ?for(j=0;j<i;j++)

? ? ? ? fwrite(&emp[j],sizeof(struct emploee),1,fp);

? ? ?for(j=i+1;j<n;j++)

? ? ? ? ?fwrite(&emp[j],sizeof(struct emploee),1,fp);

? ? ?printf("刪除后:\n");

? ? ?fseek(fp,0,SEEK_SET);

? ? ?printf("記錄號(hào) 職工號(hào) 姓名 性別 年齡 ? 基本工資 職務(wù)工資 公積金 水電費(fèi) ? 稅 ?實(shí)發(fā)工資\n");

? ? ?for(i=0;fread(&emp[i],sizeof(struct emploee),1,fp);i++)

? ? ? ? ?printf("%6d%6s%9s%4s%5d% ? %.1f ? ?%.1f ? %.1f ? %.1f ? %.1f ? %.1f\n",i+1,emp[i].no,emp[i].name,emp[i].sex, emp[i].age,emp[i].wage1,

? ? ? ? ? ? ? ? ?emp[i].wage2,emp[i].funds,emp[i].WATERfee,emp[i].TAXfee,emp[i].wage3);

? ? ? ?fclose(fp);

}

/********************修改模塊*******************/

void modi_num()

{

? ? ?FILE *fp;

? ? ?int i,j;

? ? ?char num[5];

? ? ?if((fp=fopen("emp.txt","rb+"))==NULL)

? ? ?{

? ? ? ? ?printf("不能 打開emp文件\n");

? ? ? ? ?exit(1);

? ? ?}

? ? ?printf("要修改的職工號(hào):");

? ? ?scanf("%s",num);

? ? ?for(i=0;fread(&emp[i],sizeof(struct emploee),1,fp);i++)

? ? if(!strcmp(emp[i].no,num))break;

? ? ?if(feof(fp))

? ? ?{

? ? ? ? ? printf("\t沒有%s職工號(hào)的職工\n",num);

? ? ? ? ? exit(2);

? ? ?}

? ? ?printf("記錄號(hào) 職工號(hào) ? 姓名 性別 年齡 基本工資 職務(wù)工資 ?公積金 ?水電費(fèi) ? 稅 ?實(shí)發(fā)工資\n");

? ? ?printf("%6d%6s%9s%4s%5d% ? %.1f ? %.1f ? %.1f ? %.1f ? %.1f ? %.1f\n",i+1,emp[i].no,emp[i].name,emp[i].sex, emp[i].age,emp[i].wage1,

? ? ? ? ? ? ? emp[i].wage2,emp[i].funds,emp[i].WATERfee,emp[i].TAXfee,emp[i].wage3);

? ? printf("輸入格式:職工號(hào) ? 姓名 性別 年齡 基本工資 職務(wù)工資 公積金 ?水電費(fèi) 稅 <Enter>\n");

? ? printf("第%d個(gè)記錄:",i+1);

? ? scanf("%s%s%s%d%f%f%f%f%f",newemp.no,newemp.name,newemp.sex,&newemp.age,

? ? ? ? ? ? ? ?&newemp.wage1,&newemp.wage2,&newemp.funds,&newemp.WATERfee,&newemp.TAXfee);//獲取新的職工記錄

? ? ? ? ? ? ?newemp.wage3=newemp.wage1+newemp.wage2+newemp.funds-newemp.WATERfee-newemp.TAXfee;

? ? fseek(fp,-(long)sizeof(struct emploee),SEEK_CUR); ?//文件指針指向該修改的記錄開頭

? ? ?fwrite(&newemp,sizeof(struct emploee),1,fp); ?//用newemp覆蓋當(dāng)前記錄

? ? ?printf(" 修改后:\n");

? ? fseek(fp,0,SEEK_SET); ? ? ? ?//顯示修改后的文件數(shù)據(jù)

? ? ?printf("記錄號(hào) 職工號(hào) ? 姓名 性別 年齡 ? 基本工資 職務(wù)工資 ? 公積金 ?水電費(fèi) ? 稅 ? 實(shí)發(fā)工資\n");

? ? ?for(i=0;fread(&emp[i],sizeof(struct emploee),1,fp)!=0;i++)

? ? ? ? ?printf("%6d%6s%9s%4s%5d ? %.1f ? %.1f ?%.1f ? %.1f ?%.1f ? %.1f\n",i+1,emp[i].no,emp[i].name,emp[i].sex, emp[i].age,emp[i].wage1,

? ? ? ? ? ? ? ? ? ?emp[i].wage2,emp[i].funds,emp[i].WATERfee,emp[i].TAXfee,emp[i].wage3);

? ? fclose(fp);

}

?/*************************查詢模塊***********************/

void search_num()

{

? ? ?FILE *fp;

? ? ?int i;?

? ? ?char num[5];

? ? ?if((fp=fopen("emp.txt","rb"))==NULL)

? ? ?{

? ? ? ? ? printf("不能打開emp文件\n");

? ? ? ? ? exit(1);

? ? ?}

? ? ?printf("要查詢的職工號(hào):");

? ? ?scanf("%s",num);

? ? ?for(i=0;fread(&emp[i],sizeof(struct emploee),1,fp);i++)

? ? ? ? ?if(!strcmp(emp[i].no,num)) break;

? ? if(feof(fp))

? ? {

? ? ? ? printf("\t查無此人\n");

? ? ? ? exit(2);

? ? }

? ? ?printf("記錄號(hào) 職工號(hào) ? 姓名 性別 年齡 ? 基本工資 職務(wù)工資 ? 公積金 ?水電費(fèi) ? ?稅 ? 實(shí)發(fā)工資\n");

? ? ?printf("%6d%6s%9s%4s%5d ?%.1f ?%.1f ?%.1f ?%.1f ? %.1f ? %.1f\n",i+1,emp[i].no,emp[i].name,emp[i].sex, emp[i].age,emp[i].wage1,

? ? ? ? ? ? ? ?emp[i].wage2,emp[i].funds,emp[i].WATERfee,emp[i].TAXfee,emp[i].wage3);

? ? ? ?fclose(fp);

}

/*******************瀏覽模塊********************/

void browse()

{ ? ?int i;

? ? ?FILE *fp;

? ? ?if((fp=fopen("emp.txt","r"))==NULL)

? ? ?{ ? ??

? ? ? ? ?printf("不能打開emp文件\n");

? ? ? ? ?exit(0);

? ? ?}

? ? ?printf("記錄號(hào) 職工號(hào) ? 姓名 性別 年齡 ? 基本工資 職務(wù)工資 ? 公積金 ?水電費(fèi) ? 稅 ? 實(shí)發(fā)工資\n");

? ? ?for(i=0;fread(&emp[i],sizeof(struct emploee),1,fp)!=0;i++)

? ? ?{

? ? ? ? ? printf("%6d%6s%9s%4s%5d ?%.1f ?%.1f ? ? %.1f ? ?%.1f ? ?%.1f ? %.1f\n",i+1,emp[i].no,emp[i].name,emp[i].sex, emp[i].age,emp[i].wage1,

? ? ? ? ? ? ? ? ? ?emp[i].wage2,emp[i].funds,emp[i].WATERfee,emp[i].TAXfee,emp[i].wage3);

? ? }

? ? fclose(fp);

}

/******************追加模塊*******************/

void add()

{

? ? ? FILE *fp;

? ? ? int n,i,j;

? ? ? if((fp=fopen("emp.txt","ab+"))==NULL)

? ? ? {

? ? ? ? ? printf("不能打開emp文件\n");

? ? ? ? ? ?exit(0);

? ? ? }

? ? printf("要追加的職工人數(shù):");

? ? ? scanf("%d",&n);

? ? ? for(i=0;i<n;i++)?

? ? ? {?

? ? ? ? ? printf("輸入格式:職工號(hào) ? 姓名 性別 年齡 ? 基本工資 職務(wù)工資 ?公積金 ?水電費(fèi) ?稅 ? <Enter>\n");

? ? ? ? ?printf("追加記錄:\n");

? ? ? ? ?scanf("%s%s%s%d%f%f%f%f%f",newemp.no,newemp.name,newemp.sex,&newemp.age,

? ? ? ? ? ? ? ? ? ?&newemp.wage1,&newemp.wage2,&newemp.funds,&newemp.WATERfee,&newemp.TAXfee);

? ? ? ? ? ? ?newemp.wage3=newemp.wage1+newemp.wage2+newemp.funds-newemp.WATERfee-newemp.TAXfee;//獲取一個(gè)新的職工記錄

? ? ? ? fwrite(&newemp,sizeof(struct emploee),1,fp); ? //將該職工記錄寫入文件

? ? ? }

? ? ? fclose(fp);

}

?

/*************************載入模塊**********************/

void load() ? ? ? ? ?//加載記錄或可以計(jì)算記錄個(gè)數(shù)的函數(shù)

{

? ? ?FILE *fp;

? ? ?int i,w;

? ? ?w=1;

? ? ?system( "cls" );?

? ? if((fp=fopen("emp.txt","rb"))==NULL) ? ? ?//以輸出打開方式,在此前的記錄被覆蓋

? ? {

? ? ? ? printf("\nCannot open file\n");

? ? ? ? w=0;

? ? ? ? return ;

? ? }

? ? n=0;

? ? for(i=0;!feof(fp);i++)

? ? { ??

? ? ? ? fread(&emp[i],sizeof(struct emploee),1,fp);

? ? ? ? n++;

? ? }

? ? n=n-1;

? ? ? ? ? fclose(fp);

? ? if(w==1)?

? ? {

? ? ? ? printf("Load file ok!");

? ? ? ? getchar();

? ? ? ? getchar();

? ? ? ? menu(); ? ? ? ? ? ? ? ?

? ? }

}


正在回答

2 回答

為什么要一次性調(diào)用這么多子函數(shù),可以多興建一些項(xiàng)目

0 回復(fù) 有任何疑惑可以回復(fù)我~

你這積分太少了

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
C語言入門
  • 參與學(xué)習(xí)       926892    人
  • 解答問題       21419    個(gè)

C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言

進(jìn)入課程

請(qǐng)大神幫我注釋全部,看不懂這代碼。

我要回答 關(guān)注問題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)