最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實(shí)現(xiàn)小型工資管理系統(tǒng)

 更新時(shí)間:2022年02月28日 08:28:09   作者:jhdee  
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)小型工資管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語言實(shí)現(xiàn)小型工資管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

課程大作業(yè)目的

通過該大作業(yè),考察學(xué)生分析、解決復(fù)雜問題的能力,考察學(xué)生編寫較大程序的能力,檢驗(yàn)和評(píng)價(jià)《程序設(shè)計(jì)基礎(chǔ)》課程的學(xué)習(xí)效果

大作業(yè)內(nèi)容

編寫一個(gè)小型工資管理系統(tǒng),用來管理職工的個(gè)人基本信息及工資薪酬等數(shù)據(jù)

基本要求

1、每個(gè)職工的數(shù)據(jù)應(yīng)包括:工號(hào)、姓名、性別、部門、基本工資、績效工資、獎(jiǎng)金、應(yīng)發(fā)工資(應(yīng)發(fā)工資=基本工資+績效工資+獎(jiǎng)金)。職工數(shù)據(jù)要求采用結(jié)構(gòu)體數(shù)據(jù)類型。

2、菜單顯示:顯示系統(tǒng)的一級(jí)功能菜單(數(shù)據(jù)輸入、數(shù)據(jù)修改、數(shù)據(jù)處理、數(shù)據(jù)輸出、退出)。

3、數(shù)據(jù)輸入:至少輸入10個(gè)職工的各項(xiàng)數(shù)據(jù)(應(yīng)發(fā)工資由系統(tǒng)自動(dòng)計(jì)算,不需要輸入)。**錄入的第一條記錄用自已的真實(shí)姓名,部門為自己的真實(shí)班級(jí)。**并將有自己真實(shí)姓名、班級(jí)的輸出結(jié)果截屏保存到大作業(yè)總結(jié)報(bào)告中。

4、數(shù)據(jù)修改:輸入工號(hào),修改指定工號(hào)的各項(xiàng)數(shù)據(jù)。輸出修改完成后的全部職工數(shù)據(jù)。

5、數(shù)據(jù)處理:處理方式包括:排序、查詢??商峁┳硬藛巫層脩暨x擇。其中:

(1) 排序:按工號(hào)排序,顯示所有職工的全部數(shù)據(jù)。

(2) 查詢:按工號(hào)查詢,顯示指定工號(hào)的全部數(shù)據(jù)。

6、數(shù)據(jù)輸出:輸出全部職工的各項(xiàng)數(shù)據(jù)。

7、新增 刪除職工數(shù)據(jù)

8、新增 統(tǒng)計(jì)職工男女?dāng)?shù)量

9、退出:退出整個(gè)工資管理系統(tǒng)。

代碼如下

#include <stdio.h>
#include <string.h>
struct staff
{
?char number[20];
?char name[20];
?char gender[10];
?char bumen[20];
?double jbgz;
?double jxgz;
?double bonus;
?double yfgz;?
};
double jbgz,jxgz,bonus,yfgz;
struct staff sta[10];
void inputdata(); ? ? ? ? ? ? ? ? ?//1.定義數(shù)據(jù)輸入函數(shù) input data
void modifydata(); ? ? ? //2.定義數(shù)據(jù)修改函數(shù) modify data
void processdata(); ? ? ? //3.定義數(shù)據(jù)處理函數(shù) process data
void sortdata(); ? ? ? //定義數(shù)據(jù)處理函數(shù)中的按工號(hào)排序數(shù)據(jù)函數(shù) ?sort data
void searchdata(); ? ? ? //定義數(shù)據(jù)處理函數(shù)中的按工號(hào)查詢數(shù)據(jù)函數(shù) ?search data
void outputdata(); ? ? ? //4.定義數(shù)據(jù)輸出函數(shù) output data
void deldata(); ? ? ? ?//5.定義數(shù)據(jù)刪除函數(shù) delete data ? ? ? 新增
void countgender(); ? ? ? ? ? ? ? ?//6.定義統(tǒng)計(jì)男女職工數(shù)量函數(shù) count gender ? ?新增?
int main()
{
?int i,choice;?
?while(1)
?{
? for(i=1;i<90;i++)
? ?printf("*");
? printf("\n");
? printf("1.數(shù)據(jù)輸入 ?2.數(shù)據(jù)修改 ?3.數(shù)據(jù)處理 ?4.數(shù)據(jù)輸出 ?5.數(shù)據(jù)刪除 ?6.統(tǒng)計(jì)男女職工數(shù)量 ?7.退出\n");
? for(i=1;i<90;i++)
? ?printf("*");
? printf("\n");
? do
? {
? ?printf("請根據(jù)菜單輸入數(shù)字:");
? ?scanf("%d",&choice);
? }
? while(choice!=1&&choice!=2&&choice!=3&&choice!=4&&choice!=5&&choice!=6&&choice!=7);
? if(choice==7)
? ?break;
? else
? {
? ?if(choice==1) inputdata();
? ?else if(choice==2) modifydata();
? ?else if(choice==3) processdata();
? ?else if(choice==4) outputdata();
? ?else if(choice==5) deldata();
? ?else if(choice==6) countgender();
? ?else printf("該數(shù)不合法;\n"); ? ? //另加
? }
?}
?return 0;
}
void inputdata()
{
?int i;
?for(i=1;i<=10;i++)
?{
? printf("請輸入第%d位職工的工號(hào),姓名,性別,部門,基本工資,績效工資,獎(jiǎng)金:",i);
? scanf("%s %s %s %s %lf %lf %lf",&sta[i].number,&sta[i].name,&sta[i].gender,&sta[i].bumen,&sta[i].jbgz,&sta[i].jxgz,&sta[i].bonus); ? //輸入第i位職工的工號(hào),姓名,性別,部門,基本工資,績效工資,獎(jiǎng)金
? sta[i].yfgz=sta[i].jbgz+sta[i].jxgz+sta[i].bonus;
? printf("輸入成功\n");
?}
}
void modifydata()
{
?int i;
?char num[20];
?printf("請輸入您想要修改職工的數(shù)據(jù)的工號(hào):");
?scanf("%s",&num);
?for(i=1;i<10;i++)
?{
? if(strcmp(num,sta[i].number)==0)
? {
? ?printf("請輸入新工號(hào),姓名,性別,部門,基本工資,績效工資,獎(jiǎng)金\n");
? ?scanf("%s %s %s %s %lf %lf %lf",&sta[i].number,&sta[i].name,&sta[i].gender,&sta[i].bumen,&sta[i].jbgz,&sta[i].jxgz,&sta[i].bonus);
? ?sta[i].yfgz=sta[i].jbgz+sta[i].jxgz+sta[i].bonus;
? }
? printf("修改成功!\n");
? printf("修改后的數(shù)據(jù)為:\n");
? printf(" ? ?工號(hào) ? ? ? ? ?姓名 ? ? ? 性別 ? ? ? ?部門 ? ? ? ? ? 基本工資 ? ? ? ? ? 績效工資 ? ? ? ? ? ?獎(jiǎng)金 ? ? ? ? ? 應(yīng)發(fā)工資\n");
? printf("%s ? ? ? %s ? ? ? ? ? %s ? ? ? ? %s ? ? ?%f ? %f ? ?%f ? ? %f\n",sta[i].number,sta[i].name,sta[i].gender,sta[i].bumen,sta[i].jbgz,sta[i].jxgz,sta[i].bonus,sta[i].yfgz);
? break;
?}
}
void processdata()
{
?int choice,i;
?for(i=1;i<30;i++)
? printf("*");
?printf("\n");
?printf("二級(jí)菜單:\n");
?printf("1.排序 2.查詢\n");
?for(i=1;i<30;i++)
? printf("*");
?printf("\n");
?printf("請根據(jù)菜單輸入數(shù)字:");
?scanf("%d",&choice);
?if(choice==1) sortdata();
?else searchdata();
}
void sortdata()
{
?int i,j,k;
?char n[10];
?for(i=1;i<=10;i++)
?{
? for(j=1;j<=10;j++)
? {
? ?if(strcmp(sta[i].number,sta[j].number)>0)
? ?{
? ? strcpy(n,sta[j].number);
? ? strcpy(sta[j].number,sta[i].number);
? ? strcpy(sta[i].number,n);
? ?}
? ?
? }
??
?}
?for(k=1;k<=10;k++)
?{
? printf("%s ? ? %s ? ?%s ? ? %s ? ? %lf ? ?%lf ? ?%lf\n",sta[k].number,sta[k].name,sta[k].gender,sta[k].bumen,sta[k].jbgz,sta[k].jxgz,sta[k].bonus,sta[k].yfgz);
?}
}
void searchdata()
{
?int i;
?char snum[20]; ? ? ? //snum = searchnumber
?printf("請輸入您想要查詢的職工工號(hào):");
?scanf("%s",&snum);
?for(i=1;i<10;i++)
?{
? if(strcmp(snum,sta[i].number)==0)
? {
? ?printf("該職工的數(shù)據(jù)為:\n");
? ?printf(" ? ? 工號(hào) ? ? ? ? ? 姓名 ? ? ? ? ? 性別 ? ? ? ? ? 部門 ? ? ? ? ?基本工資 ? ? ? 績效工資 ? ? ? ?獎(jiǎng)金 ? ? ? ? ?應(yīng)發(fā)工資\n\n");
? ?printf(" %s ? ? ? %s ? ? ? ? ? %s ? ? ? ? %s ? ? ?%f ? %f ? ?%f ? ? %f\n",sta[i].number,sta[i].name,sta[i].gender,sta[i].bumen,sta[i].jbgz,sta[i].jxgz,sta[i].bonus,sta[i].yfgz);
? }
? break;
?}
}
void outputdata()
{
?int i;
?printf(" ? ? 工號(hào) ? ? ? ? ? 姓名 ? ? ? ? ? 性別 ? ? ? ? ? 部門 ? ? ? ? ?基本工資 ? ? ? 績效工資 ? ? ? ?獎(jiǎng)金 ? ? ? ? ?應(yīng)發(fā)工資\n");
?for(i=1;i<=10;i++)
?{
? printf(" %s ? ? ? %s ? ? ? ? ? %s ? ? ? ? %s ? ? ?%f ? %f ? ?%f ? ? %f\n",sta[i].number,sta[i].name,sta[i].gender,sta[i].bumen,sta[i].jbgz,sta[i].jxgz,sta[i].bonus,sta[i].yfgz);
?}
}
void deldata()
{
?int i,j,choi;
?//char Y=Y;
?//char N=N;
?char delnum[20];
?printf("請輸入您想要?jiǎng)h除職工數(shù)據(jù)的工號(hào):");
?scanf("%s",&delnum);
?for(i=1;i<10;i++)
?{
? if(strcmp(delnum,sta[i].number)==0)
? {
? ?printf("該職工的數(shù)據(jù)為:\n");
? ?printf(" ? ? 工號(hào) ? ? ? ? ? 姓名 ? ? ? ? ? 性別 ? ? ? ? ? 部門 ? ? ? ? ?基本工資 ? ? ? 績效工資 ? ? ? ?獎(jiǎng)金 ? ? ? ? ?應(yīng)發(fā)工資\n");
? ?printf(" %s ? ? ? %s ? ? ? ? ? %s ? ? ? ? %s ? ? ?%f ? %f ? ?%f ? ? %f\n",sta[i].number,sta[i].name,sta[i].gender,sta[i].bumen,sta[i].jbgz,sta[i].jxgz,sta[i].bonus,sta[i].yfgz);
? ?printf("確認(rèn)刪除該名職工的數(shù)據(jù)嗎?(1.確認(rèn) ?2.取消)\n");
? ?scanf("%d",&choi);
? ?if(choi==1)
? ?{
? ? for(i=1,j=2;j<=10;i++,j++)
? ? {
? ? ?strcpy(sta[i].number,sta[j].number);
? ? ?strcpy(sta[i].name,sta[j].name);
? ? ?strcpy(sta[i].gender,sta[j].gender);
? ? ?strcpy(sta[i].bumen,sta[j].bumen);
? ? ?sta[i].jbgz=sta[j].jbgz;
? ? ?sta[i].jxgz=sta[j].jxgz;
? ? ?sta[i].bonus=sta[j].bonus;
? ? }
? ? printf("刪除成功!!\n");?
? ?}
? ?else break;
? }
?}
}
void countgender()
{
?int i,count=0,fecount=0;
?char gen[10]="男";
?for(i=1;i<=10;i++)
?{
? if(strcmp(gen,sta[i].gender)==0) count++;
?}
?fecount=10-count;
?printf("該公司有%d名男職工,有%d名女職工\n",count,fecount);
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++ 數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)化的實(shí)現(xiàn)

    C++ 數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)化的實(shí)現(xiàn)

    這篇文章主要介紹了C++ 數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)化的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • C語言文件操作與相關(guān)函數(shù)介紹

    C語言文件操作與相關(guān)函數(shù)介紹

    文件(file)一般指存儲(chǔ)在外部介質(zhì)上數(shù)據(jù)的集合,比如我們經(jīng)常使用的.txt, .bmp, jpg. .exe,.rmvb等等,下面這篇文章主要給大家介紹了關(guān)于C語言文件操作的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • C語言實(shí)現(xiàn)萬年歷源碼

    C語言實(shí)現(xiàn)萬年歷源碼

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)萬年歷源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • DSP中浮點(diǎn)轉(zhuǎn)定點(diǎn)運(yùn)算--定點(diǎn)數(shù)的加減乘除運(yùn)算

    DSP中浮點(diǎn)轉(zhuǎn)定點(diǎn)運(yùn)算--定點(diǎn)數(shù)的加減乘除運(yùn)算

    本文主要介紹DSP中定點(diǎn)數(shù)的加減乘除運(yùn)算,很值得學(xué)習(xí)一下,需要的朋友可以參考一下。
    2016-06-06
  • C語言中pthread_exit()函數(shù)實(shí)現(xiàn)終止線程

    C語言中pthread_exit()函數(shù)實(shí)現(xiàn)終止線程

    本文主要介紹了C語言中pthread_exit()函數(shù)實(shí)現(xiàn)終止線程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • C語言學(xué)習(xí)之條件和?if...else語句詳解

    C語言學(xué)習(xí)之條件和?if...else語句詳解

    這篇文章主要給大家介紹了C語言中的條件和?if...else語句,文中通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12
  • C語言實(shí)現(xiàn)對文件進(jìn)行操作的示例詳解

    C語言實(shí)現(xiàn)對文件進(jìn)行操作的示例詳解

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)對文件進(jìn)行操作的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C語言有一定的幫助,需要的可以參考一下
    2023-04-04
  • c++實(shí)現(xiàn)值機(jī)系統(tǒng)

    c++實(shí)現(xiàn)值機(jī)系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了c++實(shí)現(xiàn)在線值機(jī)系統(tǒng)程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++內(nèi)存管理面經(jīng)

    C++內(nèi)存管理面經(jīng)

    這篇文章主要介紹了C++的內(nèi)存分配方式以及介紹了下棧和堆的區(qū)別,感興趣的小伙伴可以參考閱讀本文
    2023-03-03
  • C++中const、volatile、mutable使用方法小結(jié)

    C++中const、volatile、mutable使用方法小結(jié)

    這篇文章主要介紹了C++中const、volatile、mutable使用方法小結(jié),需要的朋友可以參考下
    2020-01-01

最新評(píng)論

象州县| 东丰县| 临安市| 泉州市| 汉源县| 大名县| 临澧县| 故城县| 兴化市| 澎湖县| 卓资县| 保康县| 财经| 阿拉善右旗| 道孚县| 板桥市| 九寨沟县| 武清区| 陵水| 金秀| 叶城县| 奇台县| 平舆县| 连平县| 平舆县| 深泽县| 炉霍县| 武平县| 英山县| 卢湾区| 皮山县| 普兰县| 滁州市| 天水市| 疏附县| 盘山县| 常德市| 枝江市| 旬阳县| 安丘市| 德化县|