欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      綜合實(shí)驗(yàn)3 職工信息管理系統(tǒng)--具體要求

      時(shí)間:2019-05-15 00:45:33下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《綜合實(shí)驗(yàn)3 職工信息管理系統(tǒng)--具體要求》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《綜合實(shí)驗(yàn)3 職工信息管理系統(tǒng)--具體要求》。

      第一篇:綜合實(shí)驗(yàn)3 職工信息管理系統(tǒng)--具體要求

      綜合實(shí)驗(yàn)3 職工信息管理系統(tǒng)

      內(nèi)容要求:

      職工信息管理系統(tǒng)主要用來管理學(xué)校的教職工的基本信息。學(xué)校的職工主要分為教師、教輔人員和工人三種,其中教師分為全職教師和兼職教師。根據(jù)實(shí)際情況,提出以下設(shè)計(jì)要求:

      (1)把職工信息數(shù)據(jù)保存在文件中,包括職工編號(hào)、姓名、性別、工資、出生時(shí)間、部門、參加工作時(shí)間和年齡,其中參加工作時(shí)間和年齡是通過函數(shù)求解出來的;

      (2)職工類為抽象類,根據(jù)職工類,使用繼承的方法構(gòu)造出至少3個(gè)類,即教師類、教輔人員類和工人類;

      (3)編寫同名的display()成員函數(shù),用來輸出當(dāng)前系統(tǒng)中保存的所有職工信息;

      (4)按不同類別輸出系統(tǒng)總各種類別職工的信息,比如按照系輸出教師信息,按照

      所屬類別(教師或者工人等)輸出職工信息;

      (5)要求對(duì)“<<”和“>>”進(jìn)行運(yùn)算符重載,使得這兩個(gè)運(yùn)算法可以直接輸出某個(gè)

      職工的全部個(gè)人信息,要考慮職工編號(hào)的長短和格式,考慮姓名有2個(gè)字或3

      個(gè)字的情況來設(shè)定輸出姓名的對(duì)齊格式,以及其他為列出的情況;

      (6)編寫函數(shù)能計(jì)算出全體職工的平均年齡;

      (7)編寫函數(shù)能夠在系統(tǒng)中檢索指定信息,比如按照工號(hào)檢索、按照年齡檢索等;

      (8)各個(gè)功能借助簡單菜單實(shí)現(xiàn),即通過輸入數(shù)字選擇某個(gè)具體功能,例如:

      9—增加一位職工信息 —?jiǎng)h除一個(gè)職工信息 —顯示全部職工信息(教師、教輔人員和工人)—顯示全部教師職工信息 —顯示全部教輔人員職工信息 —按系輸出教師信息 —按姓名檢索職工信息 —按工號(hào)檢索職工信息 —退出系統(tǒng)

      第二篇:職工信息管理系統(tǒng)

      職工信息管理系統(tǒng)設(shè)計(jì)報(bào)告(VB)編號(hào):22

      職工信息管理系統(tǒng) 設(shè)計(jì)報(bào)告

      學(xué)院

      土木工程

      班級(jí)

      測繪C111

      學(xué)號(hào)

      117551

      姓名

      馬驍飛

      成績

      一、設(shè)計(jì)思路

      1.要達(dá)到的目的

      培養(yǎng)學(xué)生綜合利用VB語言進(jìn)行程序設(shè)計(jì)的能力,主要是培養(yǎng)學(xué)生綜合使用基本控件的、文件讀寫、數(shù)組操作等能力。

      利用讀取數(shù)據(jù)按鈕,打開選中的數(shù)據(jù)文件職工.txt,并從該文件中讀取職工職工號(hào)、姓名、職稱和工資,保存在數(shù)組中,并顯示在文本框中。

      清除文本框中的職工的信息。

      在文本框中顯示職工的信息。

      按照職工號(hào)查詢職工信息,并顯示。

      按照姓名查詢職工信息,并顯示。

      按照職工號(hào)修改職工信息,并顯示。

      按照姓名修改職工信息,并顯示。

      追加一條記錄數(shù)據(jù),并顯示。2.關(guān)鍵問題的解決

      (1)通過“讀取數(shù)據(jù)”按鈕應(yīng)能利用應(yīng)能利用右側(cè)圖示樣式窗體形式,打開選中的數(shù)據(jù)文件職工.txt,并從該文件中讀取職工職工號(hào)、姓名、職稱和工資,保存在數(shù)組中,并顯示在文本框中。(2)通過“清除數(shù)據(jù)”按鈕應(yīng)能清除文本框中的內(nèi)容。(3)從“按職工號(hào)查詢”按鈕左端文本框輸入職工號(hào),單擊“按職工號(hào)查詢”,在窗體大的文本框中顯示查詢結(jié)果。從“按姓名查詢”按鈕左端文本框輸入姓名,單擊“按姓名查詢”按鈕,在窗體大的文本框中顯示查詢結(jié)果。(4)從“按職工號(hào)修改”(“按姓名修改”)按鈕,在輸入對(duì)話框中輸入職工號(hào),對(duì)查詢到的職工的職工號(hào)(姓名)進(jìn)行修改,在窗體大的文本框中顯示修改結(jié)果。

      從輸入一條記錄后文本框中輸入一條記錄信息,單擊“追加數(shù)據(jù)并顯示結(jié)果”按鈕,添加到職工.txt中,并將追加數(shù)據(jù)后職工.txt的信息顯示窗體的大文本框中。

      二、部分程序關(guān)鍵源代碼及注釋 rivate Sub Command1_Click()Form2.Show

      End Sub

      Private Sub Command2_Click()

      職工信息管理系統(tǒng)設(shè)計(jì)報(bào)告(VB)編號(hào):22 List1.Clear End Sub

      Private Sub Command3_Click()e = True Unload Me End Sub

      Private Sub Command4_Click()List1.Clear If Text3.Text = “117001” Then List1.AddItem “張三 117001” ElseIf Text3.Text = “117002” Then List1.AddItem “李四 117002” ElseIf Text3.Text = “117003” Then List1.AddItem “王五 117003” ElseIf Text3.Text = “117004” Then List1.AddItem “王六 117004” ElseIf Text3.Text = “117005” Then List1.AddItem “趙七 117005” ElseIf Text3.Text = “117006” Then List1.AddItem “李八 117006” ElseIf Text3.Text = “117007” Then List1.AddItem “劉九 117007” ElseIf Text3.Text = “117008” Then List1.AddItem “馬十

      117008” Else: MsgBox “請(qǐng)輸入正確的職工號(hào)” End If

      職工信息管理系統(tǒng)設(shè)計(jì)報(bào)告(VB)編號(hào):22 End Sub

      Private Sub Command5_Click()Dim a As String Dim b As String b = InputBox(“請(qǐng)輸入要修改的職工的職工號(hào)”)a = InputBox(“請(qǐng)輸入新的職工姓名”)

      If b = “117001” Then List1.AddItem a & “

      ” & b ElseIf b = “117002” Then List1.AddItem a & “

      ” & b ElseIf b = “117003” Then List1.AddItem a & “

      ” & b ElseIf b = “117004” Then List1.AddItem a & “

      ” & b ElseIf b = “117005” Then List1.AddItem a & “

      ” & b ElseIf b = “117006” Then List1.AddItem a & “

      ” & b ElseIf b = “117007” Then List1.AddItem a & “

      ” & b ElseIf b = “117008” Then List1.AddItem a & “

      ” & b Else: MsgBox “請(qǐng)輸入正確的職工號(hào)” End If

      List1.AddItem a & “

      ” & b End Sub

      職工信息管理系統(tǒng)設(shè)計(jì)報(bào)告(VB)編號(hào):22 Private Sub Command6_Click()List1.Clear If Text2.Text = “張三” Then List1.AddItem “張三 117001” ElseIf Text2.Text = “李四” Then List1.AddItem “李四 117002” ElseIf Text2.Text = “王五” Then List1.AddItem “王五 117003” ElseIf Text2.Text = “王六” Then List1.AddItem “王六 117004” ElseIf Text2.Text = “趙七” Then List1.AddItem “趙七 117005” ElseIf Text2.Text = “李八” Then List1.AddItem “李八 117006” ElseIf Text2.Text = “劉九” Then List1.AddItem “劉九 117007” ElseIf Text2.Text = “馬十” Then List1.AddItem “馬十

      117008” Else: MsgBox “請(qǐng)輸入正確的職工姓名” End If End Sub

      Private Sub Command7_Click()Dim a As String Dim b As String a = InputBox(“請(qǐng)輸入要修改的職工姓名”)b = Str(InputBox(“請(qǐng)輸入新職工號(hào)”))

      If a = “張三” Then List1.AddItem a & “

      ” & b

      職工信息管理系統(tǒng)設(shè)計(jì)報(bào)告(VB)編號(hào):22 ElseIf a = “李四” Then List1.AddItem a & “

      ” & b ElseIf a = “王五” Then List1.AddItem a & “

      ” & b ElseIf a = “王六” Then List1.AddItem a & “

      ” & b ElseIf a = “趙七” Then List1.AddItem a & “

      ” & b ElseIf a = “李八” Then List1.AddItem a & “

      ” & b ElseIf a = “劉九” Then List1.AddItem a & “

      ” & b ElseIf a = “馬十” Then List1.AddItem a & “

      ” & b Else: MsgBox “請(qǐng)輸入正確的職工姓名” End If End Sub

      Private Sub Command8_Click()Dim a As String Dim b As String

      a = InputBox(“請(qǐng)輸入新員工姓名”)b = InputBox(“請(qǐng)輸入新員工的職工號(hào)”)

      List1.AddItem a & “

      ” & b End Sub Private Sub Combo2_Change()Select Case Comb2.Text

      職工信息管理系統(tǒng)設(shè)計(jì)報(bào)告(VB)編號(hào):22 Case “*.txt” File1.Pattern = “*.txt” Case “*.ini” File1.Pattern = “*.ini” Case “*.doc” File1.Pattern = “*.doc” Case “*.*” File1.Pattern = “*.*” End Select End Sub

      Private Sub Command1_Click()Dim fileno As Integer, strl As String fileno = FreeFile Open “職工信息.txt” For Input As #fileno i = 0 Do While Not EOF(fileno)Input #fileno, str1 Form1.List1.AddItem str1

      i = i + 1 Loop Close #fileno Form1.Show Me.Hide End Sub

      Private Sub Command2_Click()Form1.Show End Sub

      職工信息管理系統(tǒng)設(shè)計(jì)報(bào)告(VB)編號(hào):22

      Private Sub Drive1_Change()Dir1.Path = Drive1.Drive End Sub

      Private Sub File1_Click()Text3.Text = File1.FileName End Sub

      Private Sub VScroll1_Change()Form1.Show End Sub

      三、設(shè)計(jì)方案的完善及目前存在的問題

      1.設(shè)計(jì)方案要完善的地方

      追加的信息無法加載到“職工信息txt”里 查詢只是單一的一對(duì)一輸入,不智能 文件類型的篩選問題暫未處理辦法 2.目前存在的問題

      只是簡單的查詢,不適合大量數(shù)據(jù)的導(dǎo)入與導(dǎo)出,不方便查看

      四、本次設(shè)計(jì)的收獲及心得體會(huì)

      第一次嘗試程序的制作,覺得非常有意思,做成功以后很有成就感,我還發(fā)現(xiàn),程序制作出來的好壞直接影響使用者的工作效率,好的軟件可以使用戶事半功倍,對(duì)程序的運(yùn)作體系越了解,設(shè)計(jì)的軟件越智能,越能更好的服務(wù)于使用者,好好學(xué)習(xí)VB計(jì)算機(jī)語言,是磨刀不誤砍柴工的體現(xiàn)。

      五、對(duì)該題目和VB設(shè)計(jì)的意見和建議

      1.對(duì)該題目的意見和建議

      Form2中的文件類型,有些偏難,在少數(shù)文件夾的情況下可以不用通過文件類型的篩選 2.對(duì)本次設(shè)計(jì)的意見和建議

      對(duì)此次課程設(shè)計(jì)的時(shí)間安排應(yīng)更具體,應(yīng)有相應(yīng)的素材圖片,增添軟件的美感

      第三篇:01-職工信息管理系統(tǒng)

      軟件技術(shù)專業(yè)

      計(jì)算機(jī)應(yīng)用基礎(chǔ)課程設(shè)計(jì)任務(wù)書

      (13級(jí))

      題目:職工信息管理系統(tǒng)

      學(xué)生姓名:學(xué)號(hào):班級(jí):

      題目類型:軟件工程(R)指導(dǎo)教師:

      一. 課程設(shè)計(jì)的題目簡介

      該設(shè)計(jì)要求學(xué)生以某企業(yè)職工信息管理業(yè)務(wù)為背景,設(shè)計(jì)、開發(fā)一套“職工信息管理系統(tǒng)”軟件。

      通過該題目的設(shè)計(jì)過程,可以培養(yǎng)學(xué)生結(jié)構(gòu)化程序設(shè)計(jì)的思想,加深對(duì)高級(jí)語言基本語言要素和控制結(jié)構(gòu)的理解,針對(duì)c語言中的重點(diǎn)和難點(diǎn)內(nèi)容進(jìn)行訓(xùn)練,獨(dú)立完成有一定工作量的程序設(shè)計(jì)任務(wù),同時(shí)強(qiáng)調(diào)好的程序設(shè)計(jì)風(fēng)格。得到軟件工程的綜合訓(xùn)練,提高解決實(shí)際問題的能力。

      二. 課程設(shè)計(jì)的任務(wù)

      1、查閱文獻(xiàn)資料,一般在5篇以上;

      2、以某企業(yè)職工信息管理業(yè)務(wù)為背景,通過調(diào)研、分析現(xiàn)有的管理模式和已有的管理軟件,建立系統(tǒng)模型;

      3、完成軟件結(jié)構(gòu)設(shè)計(jì)和算法設(shè)計(jì);

      4、完成系統(tǒng)的軟件開發(fā)和測試工作;

      5、撰寫設(shè)計(jì)說明書;

      6、做好答辯工作。

      三. 課程設(shè)計(jì)的主要內(nèi)容、功能及技術(shù)指標(biāo)

      1、問題分析及解決方案框架確定:充分地分析和理解問題本身,弄清要求做什么。在確定解決方案框架過程中,綜合考慮系統(tǒng)功能,考慮怎樣使系統(tǒng)結(jié)構(gòu)清晰、合理、簡單和易于調(diào)試。最后確定每個(gè)過程和函數(shù)的簡單功能,以及過程(或函數(shù))之間的調(diào)用關(guān)系,并畫出函數(shù)之間的調(diào)用關(guān)系圖。

      2、詳細(xì)設(shè)計(jì)和編碼:定義相應(yīng)的存儲(chǔ)結(jié)構(gòu),確定各個(gè)函數(shù)的算法,并畫出

      流程圖,在此基礎(chǔ)上進(jìn)行代碼設(shè)計(jì),每個(gè)明確的功能模塊程序一般不超過60行,否則要進(jìn)一步劃分。

      3、上機(jī)前程序靜態(tài)檢查:上機(jī)前程序靜態(tài)檢查可有效提高調(diào)試效率,減少上機(jī)調(diào)試程序時(shí)的無謂錯(cuò)誤。靜態(tài)檢查主要有兩種途徑:用一組測試數(shù)據(jù)手工執(zhí)行程序;通過閱讀或給別人講解自己的程序而深入全面地理解程序邏輯。把程序中的明顯錯(cuò)誤事先排除。

      4、程序調(diào)試與測試:采用自底向上,分模塊進(jìn)行,即先調(diào)試低層函數(shù)。能夠熟練掌握調(diào)試工具的各種功能,設(shè)計(jì)測試數(shù)據(jù)確定疑點(diǎn),通過修改程序來證實(shí)它或繞過它。調(diào)試正確后,認(rèn)真整理源程序及其注釋,形成格式和風(fēng)格良好的源程序清單和結(jié)果。

      5、完成課程設(shè)計(jì)報(bào)告

      ① 需求和規(guī)格說明:設(shè)計(jì)題目和問題描述:題目要解決的問題是什么; ② 設(shè)計(jì)思路:主要算法思想,程序功能圖,函數(shù)之間的調(diào)用關(guān)系圖;設(shè)計(jì)表示:每個(gè)函數(shù)或過程的功能,列出每個(gè)過程或函數(shù)所調(diào)用的過程或函數(shù),并畫出各函數(shù)的流程圖;

      詳細(xì)設(shè)計(jì):主要算法的偽代碼;

      ③ 調(diào)試報(bào)告:調(diào)試過程中遇到的主要問題,是如何解決的;對(duì)設(shè)計(jì)和編碼的回顧討論和分析;改進(jìn)設(shè)想;經(jīng)驗(yàn)和體會(huì)等;

      ④ 程序?qū)崿F(xiàn)注釋;

      ⑤ 附錄:源程序清單和結(jié)果。如果題目規(guī)定了測試數(shù)據(jù),則結(jié)果要求包含這些測試數(shù)據(jù)和運(yùn)行輸出,當(dāng)然還可以含其他測試數(shù)據(jù)和運(yùn)行輸出。

      6、職工信息包括職工號(hào)、姓名、性別、年齡、學(xué)歷、工資、住址、電話等(職工號(hào)不重復(fù))。設(shè)計(jì)“職工信息管理系統(tǒng)”,使之能提供以下功能:

      系統(tǒng)以菜單方式工作;

      職工信息錄入功能(職工信息用文件保存);

      職工信息瀏覽功能;

      查詢和排序功能:(至少一種查詢方式)按工資查詢、按學(xué)歷查詢等;職工信息的刪除與修改。

      四. 課程設(shè)計(jì)提交的成果

      1.設(shè)計(jì)說明書一份,內(nèi)容包括:

      1)中文摘要100字;關(guān)鍵詞3-5個(gè);

      2)前言;

      3)系統(tǒng)分析(包含需要的系統(tǒng)流程圖);

      4)系統(tǒng)總體設(shè)計(jì)(包含總體軟件結(jié)構(gòu)圖、總體數(shù)據(jù)結(jié)構(gòu));

      5)詳細(xì)設(shè)計(jì);

      6)系統(tǒng)測試(包含測試方案、測試用例、測試結(jié)果及軟件可靠性分析);

      7)軟件使用說明書(核心界面說明);

      8)設(shè)計(jì)總結(jié)、參考文獻(xiàn)、致謝等。

      2.刻制光盤一張。

      五. 課程設(shè)計(jì)的主要參考文獻(xiàn)

      1C/C++程序設(shè)計(jì)教程(第二版),王連相,中國鐵道出版社,2011 2C語言程序設(shè)計(jì),譚浩強(qiáng),清華大學(xué)出版社,1999

      3C程序設(shè)計(jì)題解與上機(jī)指導(dǎo),譚浩強(qiáng),清華大學(xué)出版社,1999

      4C/C++程序設(shè)計(jì)上機(jī)指導(dǎo)與測試(第二版),王連相,中國鐵道出版社,2011

      5C語言函數(shù)手冊,機(jī)械工業(yè)出版社,1999

      6C語言的實(shí)際應(yīng)用,安徽科學(xué)技術(shù)出版社,2000

      2014年1月13日

      第四篇:職工信息管理系統(tǒng)源代碼

      #include #include #include int N=2;struct worker/*定義一個(gè)職工信息的結(jié)構(gòu)體*/ {

      intnum;

      /*定義一個(gè)職工信息的結(jié)構(gòu)體*/ char name[20];

      /*定義一個(gè)職工信息的結(jié)構(gòu)體*/

      char sex[10];

      //用字符串存放職工的性別數(shù)據(jù)

      char birth[20];//用字符串存放職工的出生年月數(shù)據(jù)

      char deta[20];//用字符串存放職工的工作年月數(shù)據(jù)

      char education[20];//用字符串存放職工的學(xué)歷數(shù)據(jù)

      double salary;

      //用字符串存放職工的性別數(shù)據(jù)

      char work[30];//用字符串存放職工的職務(wù)數(shù)據(jù)

      char addr[20];//用字符串存放職工的地址數(shù)據(jù)

      char tel[20];//用字符串存放職工的電話數(shù)據(jù) }worker[100];//用結(jié)構(gòu)體數(shù)組存放職工的所有信息 void menu();

      void input();

      void save();

      void read();

      void display();

      void add();

      void search();

      voidsearch_education();

      voidsearch_num();

      void del();

      void modify();

      void main()

      { char s;

      system(“color 3f”);

      printf(“nn”);

      printf(“ t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

      printf(“ t┃**********************************************************┃n”);

      printf(“ t┃***┏━━━━━━━━━━━━━━━━━━━━━━━━┓***┃n”);

      printf(“ t┃***┃************************************************┃***┃n”);

      printf(“ t┃***┃***

      ****┃***┃n”);

      printf(“ t┃***┃***

      歡迎使用職工信息管理系統(tǒng)

      ****┃***┃n”);

      printf(“ t┃***┃***

      ****┃***┃n”);

      printf(“ t┃***┃***

      ****┃***┃n”);

      printf(“ t┃***┃***

      制作人吳青伶

      ****┃***┃n”);

      printf(“ t┃***┃***

      ****┃***┃n”);

      printf(“ t┃***┃***

      2013.12.28

      ****┃***┃n”);

      printf(“ t┃***┃***

      ****┃***┃n”);

      printf(“ t┃***┃************************************************┃***┃n”);

      printf(“ t┃***┗━━━━━━━━━━━━━━━━━━━━━━━━┛***┃n”);

      printf(“ t┃**********************************************************┃n”);printf(“ t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);do { menu();printf(“Do you want to continue?(y/n)”);

      s=getchar();}while(s=='Y'||s=='y');} void menu()/*菜單函數(shù)*/ { int b;printf(“t

      n”);printf(“t

      n”);printf(“t

      n”);printf(“t

      n”);printf(“t

      n”);printf(“t

      請(qǐng)選擇

      n”);printf(“t

      ------------------------------n”);printf(“t

      ||

      ||

      n”);printf(“t

      ||

      1.職工信息錄入

      ||

      n”);printf(“t

      ||

      2.職工信息瀏覽

      ||

      n”);printf(“t

      ||

      3.職工信息添加

      ||

      n”);printf(“t

      ||

      4.職工信息查詢

      ||

      n”);printf(“t

      ||

      5.職工信息刪除

      ||

      n”);printf(“t

      ||

      6.職工信息修改

      ||

      n”);printf(“t

      ||

      0.退出

      ||

      n”);printf(“tn”);printf(“n 輸入你的選擇項(xiàng)(0~6):n”);

      scanf(“%d”,&b);

      switch(b)

      {

      case 1 : //職工信息錄入、保存

      input();

      save();

      getchar();

      break;

      case 2 ://讀入職工信息并顯示

      read();

      display();

      getchar();break;

      case 3 : //添加職工信息

      add();getchar();break;

      case 4 : //查詢職工信息

      search();getchar();break;

      case 5 : //讀入職工信息并實(shí)現(xiàn)職工信息刪除功能

      read();

      del();

      getchar();

      break;

      case 6 : //讀入職工信息并修改職工信息

      read();modify();getchar();break;

      case 0 : exit(0);//退出

      default:break;} } void input()

      //錄入職工信息 {

      inti,flag,j;printf(“輸入職工個(gè)數(shù)(默認(rèn)個(gè)數(shù)為2):”);scanf(“%d”,&N);fflush(stdin);//清除緩存 for(i=0;i

      { loop: printf(“職工號(hào):”);scanf(“%d”,&worker[i].num);fflush(stdin);flag=1;if(worker[N].num<0)

      printf(“請(qǐng)輸入正整數(shù):n”);else for(j=0;j

      {

      if(worker[i].num==worker[j].num)

      {

      flag=0;

      printf(“ 工號(hào)重復(fù),請(qǐng)重新輸入!n”);

      goto loop;

      }

      } printf(“姓名:”);scanf(“%s”,worker[i].name);fflush(stdin);printf(“性別:”);scanf(“ %s”,worker[i].sex);fflush(stdin);printf(“出生年月:”);scanf(“%d”,&worker[i].birth);fflush(stdin);printf(“工作年月:”);scanf(“%lf”,&worker[i].deta);fflush(stdin);printf(“請(qǐng)輸入學(xué)歷(中專=zz,大專=dz,本科=bk,研究生=y(tǒng)js):n”);scanf(“%s”,worker[i].education);fflush(stdin);printf(“工資:”);scanf(“%lf”,worker[i].salary);fflush(stdin);printf(“職務(wù):”);scanf(“%s”,worker[i].work);fflush(stdin);printf(“住址:”);scanf(“%s”,worker[i].addr);fflush(stdin);printf(“電話:”);scanf(“%s”,worker[i].tel);fflush(stdin);

      } printf(“n創(chuàng)建完畢!n”);}

      void save()

      //保存函數(shù) {

      FILE *fp;int i;

      if((fp=fopen(“worker.txt”,“wb”))==NULL)//以只寫方式打開一個(gè)二進(jìn)制文件

      {

      printf(“ncannot open filen”);

      exit(0);} for(i=0;i

      void read()

      //讀入函數(shù) {

      FILE *fp;int i=0;

      if((fp=fopen(“worker.txt”,“rb”))==NULL)//以只讀方式為輸出打開磁盤文件中的一個(gè)二進(jìn)制文件

      {

      printf(“ncannot open filen”);

      exit(0);} do{ fread(&worker[i],sizeof(struct worker),1,fp);//從worker.txt文件向內(nèi)存讀入數(shù)據(jù)(二進(jìn)制)

      i++;}while(!feof(fp));fclose(fp);

      N=i-1;}

      void display()

      //信息瀏覽函數(shù) {

      int i;for(i=0;i

      { printf(“職工號(hào):%dn”,worker[i].num);printf(“姓名:%sn”,worker[i].name);printf(“性別:%sn”,worker[i].sex);printf(“出生年月:%dn”,worker[i].birth);printf(“工作年月:%dn”,worker[i].deta);printf(“學(xué)歷:%sn”,worker[i].education);printf(“工資:%lfn”,worker[i].salary);printf(“職務(wù):%dn”,worker[i].work);printf(“住址:%sn”,worker[i].addr);printf(“電話:%sn”,worker[i].tel);

      } } void add()

      //添加函數(shù) { FILE *fp;int i;struct worker p;double t;printf(“n請(qǐng)輸入新增加職工的信息:n”);

      printf(“請(qǐng)輸入職工號(hào):n”);

      scanf(“%d”,&p.num);

      for(i=0;i

      {

      while(worker[i].num==p.num)

      {

      printf(“ 工號(hào)重復(fù),請(qǐng)重新輸入!n”);

      scanf(“%d”,&p.num);

      }

      } printf(“請(qǐng)輸入姓名:n”);scanf(“%s”,p.name);printf(“請(qǐng)輸入性別:n”);scanf(“%s”,p.sex);printf(“請(qǐng)輸入出生年月:n”);scanf(“%d”,&p.birth);printf(“請(qǐng)輸入工作年月:n”);scanf(“%d”,&p.deta);printf(“請(qǐng)輸入學(xué)歷(中專=zz,大專=dz,本科=bk,=yjs:):n”);scanf(“%s”,p.education);printf(“請(qǐng)輸入工資:n”);scanf(“%lf”,&t);p.salary=t;printf(“請(qǐng)輸入職務(wù):n”);scanf(“%s”,p.work);printf(“請(qǐng)輸入住址:n”);scanf(“%s”,p.addr);printf(“請(qǐng)輸入電話:n”);scanf(“%s”,p.tel);printf(“n添加完畢!n”);

      if((fp=fopen(“worker.txt”,“ab”))==NULL)//以追加方式打開一個(gè)二進(jìn)制文件尾部

      { printf(“ncannot open filen”);exit(0);

      } fwrite(&p,sizeof(struct worker),1,fp);fclose(fp);} void search()

      //查詢函數(shù) {

      int c;do {

      puts(“nsearch by=>n1.學(xué)歷2.職工號(hào)3.取消并返回”);printf(“Which you needed?:n”);scanf(“%d”,&c);

      研究生if(c>3||c<1)

      {

      puts(“nchoiceerror!please again!”);getchar();//此語句用于接受在執(zhí)行上一句時(shí)最后輸出的回車符

      }

      } while(c>3||c<1);

      { switch(c)

      { case 1:search_education();break;case 2:search_num();break;case 3:menu();break;

      }

      } } void search_education()

      //按學(xué)歷查詢函數(shù) { inti,flag=0;char s[10];printf(“n請(qǐng)輸入你要查詢的學(xué)歷:n”);scanf(“%s”,s);for(i=0;i

      { if(strcmp(s,worker[i].education)==0)

      {

      printf(“職工號(hào):%dn”,worker[i].num);

      printf(“姓名:%sn”,worker[i].name);

      printf(“性別:%sn”,worker[i].sex);

      printf(“出生年月:%dn”,worker[i].birth);

      printf(“工作年月:%dn”,worker[i].deta);

      printf(“學(xué)歷(中專=zz,大專=dz,yjs):%sn”,worker[i].education);printf(“工資:%lfn”,worker[i].salary);printf(“職務(wù):%lfn”,worker[i].work);

      printf(“住址:%sn”,worker[i].addr);

      printf(“電話:%sn”,worker[i].tel);flag++;

      }

      } if(flag==0)

      printf(“n對(duì)不起沒有找到!n”);getchar();} void search_num()

      //按工號(hào)查詢函數(shù) { inti,s,flag=0;printf(“n輸入要查詢的職工號(hào)!:n”);scanf(“%d”,&s);

      本科=bk,研究生=for(i=0;i

      {

      if(s==worker[i].num)

      {

      printf(“職工號(hào):%dn”,worker[i].num);

      printf(“姓名:%sn”,worker[i].name);

      printf(“性別:%sn”,worker[i].sex);

      printf(“出生年月:%dn”,worker[i].birth);

      printf(“工作年月:%dn”,worker[i].deta);

      printf(“學(xué)歷(中專=zz,大專=dz,本科=bk,研究生=y(tǒng)js):%sn”,worker[i].education);

      printf(“工資:%lfn”,worker[i].salary);printf(“職務(wù):%lfn”,worker[i].work);

      printf(“住址:%sn”,worker[i].addr);

      printf(“電話:%sn”,worker[i].tel);

      flag++;

      }

      }

      if(flag==0)printf(“n對(duì)不起沒有找到!please”);

      getchar();}

      void del()

      //刪除函數(shù) { inti,j;FILE *fp;char name[20];char c;if((fp=fopen(“worker.txt”,“wb”))==NULL)//以只寫方式打開一個(gè)二進(jìn)制文件

      {

      printf(“ncannot open filen”);exit(0);

      } printf(“請(qǐng)輸入要?jiǎng)h除的職工的姓名:”);scanf(“%s”,name);for(i=0;i

      if(strcmp(name,worker[i].name)==0)//判斷輸入的姓名和原來的姓名是否相同

      {

      printf(“找到該職工,是否刪除?(y/n)”);

      fflush(stdin);

      scanf(“%c”,&c);

      if(c =='Y'||c=='y')

      {

      for(j=i;j

      worker[j]=worker[j+1];

      printf(“刪除成功!n”);

      //break;

      }

      } } if(i>=N){ printf(“沒有找到該職工!n ”);

      return;}

      else {

      N=N-1;

      for(i=0;i

      if(fwrite(&worker[i],sizeof(struct worker),1,fp)!=1)

      {

      printf(“ncannot save filen”);getchar();

      }

      fclose(fp);}

      }

      void modify()

      //修改函數(shù) { struct worker p;FILE *fp;inti,n;double t;printf(“n輸入要修改的職工號(hào):n”);scanf(“%d”,&n);

      for(i=0;i

      if(n==worker[i].num)

      {

      printf(“找到該職工的信息(任意鍵繼續(xù))!”);

      printf(“n請(qǐng)輸入職工的信息!n”);

      printf(“請(qǐng)輸入姓名:n”);scanf(“%s”,p.name);

      printf(“請(qǐng)輸入性別:n”);scanf(“%s”,p.sex);

      printf(“請(qǐng)輸入出身年月:n”);scanf(“%d”,&p.birth);printf(“請(qǐng)輸入工作年月:n”);scanf(“%lf”,&p.deta);

      printf(“請(qǐng)輸入學(xué)歷(中專=zz,大專=dz,yjs):n”);scanf(“%s”,p.education);printf(“請(qǐng)輸入工資:n”);scanf(“%lf”,&t);

      p.salary=t;printf(“請(qǐng)輸入職務(wù):n”);scanf(“%s”,p.work);

      printf(“請(qǐng)輸入住址:n”);scanf(“%s”,p.addr);

      本科=bk,研究生=

      }

      printf(“請(qǐng)輸入電話:n”);scanf(“%s”,p.tel);p.num=n;

      if((fp=fopen(“worker.txt”,“r+”))==NULL)//以讀寫的方式將修改的信息寫入磁盤文件

      {

      printf(“ncannot open filen”);

      exit(0);

      }

      fseek(fp,i*sizeof(struct worker),0);//將位置指針移到i*sizeof(struct worker)個(gè)字節(jié)處

      fwrite(&p,sizeof(struct worker),1,fp);

      fclose(fp);

      printf(“修改成功!n”);

      break;} } if(i>=N)printf(“n未找到該職工!n”);

      第五篇:【課程設(shè)計(jì)】職工信息管理系統(tǒng)

      題目:職工信息系統(tǒng)

      功能包括:

      ? 建立職工信息數(shù)據(jù)(職工編號(hào),姓名,性別,年齡,電話,職務(wù),工資和家庭成員信息)和信息簡表(編號(hào),姓名,電話)? 根據(jù)職工編號(hào)查詢職工信息(查詢時(shí)需要身份確認(rèn)。單位領(lǐng)導(dǎo)和人事秘書可以看到職工所有信息;財(cái)務(wù)處人員可以看到職工編號(hào),姓名,性別,年齡,電話,工資;一般職工僅能查到信息簡表)? 增加新職工信息(由人事秘書完成,需要身份確認(rèn))? 刪除職工信息(由人事秘書完成,需要身份確認(rèn))? 修改職工工資(由財(cái)務(wù)處人員完成,需要身份確認(rèn))? 要求所有信息能夠存儲(chǔ)在文件中,并具有良好的用戶界面

      #include #include #include #include using namespace std;const char * file = “staff.dat”;const int LIM =8;int ct=0;int Admin;int na;

      //ct用來儲(chǔ)存文件中數(shù)據(jù)組數(shù),Admin用來儲(chǔ)存登陸后該用戶的權(quán)限,//na用來儲(chǔ)存登錄所輸?shù)木幪?hào),方便主菜單內(nèi)使用其顯示當(dāng)前用戶

      void hline(int);inline void eatline(){while(cin.get()!='n')continue;} class staff {/*職工編號(hào),姓名,性別,年齡,職務(wù),電話,工資和家庭成員信息*/ public:

      };void staff::printf()

      //輸出的選擇,判斷其職務(wù),選擇調(diào)用哪個(gè)輸出 { if(Admin==1||Admin==2)printf1();else int num;char name[LIM],sex[3];int age;char job[10],phone[15];double wages;char home[20];int admin;void printf();void printf1();void printf2();void printf3();

      }

      if(Admin==3)printf2();else printf3();void staff::printf1()

      //領(lǐng)導(dǎo)及人事秘書能見的輸出 {

      } void staff::printf2()

      //財(cái)務(wù)人員能見的輸出 {

      } void staff::printf3()

      //普通員工能見的輸出 { cout<} hline(3);cout<//輸出信息的頭部 {

      switch(n){ case 1:{cout<

      <

      };break;case 2:{cout<

      };break;case 3:{cout<

      }

      } <

      };break;void menu()

      //主菜單 { cout<<“t╔╤╤╤╤╤╤職工編號(hào): ”<

      //二級(jí)菜單 { cout<<“t╔╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤┐”<

      //登陸的實(shí)現(xiàn)部分 { cout<<“t┏┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┓”<

      int w=0;while(!(cin>>na)){ cin.clear();while(cin.get()!='n')continue;cout<<“輸入有誤,編號(hào)為一串?dāng)?shù)字,請(qǐng)重新輸入:n”;

      for(int i=1;i<=ct;i++)} fstream find;find.open(file,ios_base::in|ios_base::out|ios_base::binary);eatline();staff stu;

      {

      streampos place =(i-1)* sizeof stu;find.seekp(place);if(find.fail()){

      cerr << “■查找出錯(cuò)!程序?qū)⑼顺?!■n”;system(“pause”);

      exit(EXIT_FAILURE);

      } find.read((char *)&stu, sizeof stu);if(stu.num==na){ } w=1;Admin=stu.admin;}

      if(w==0){cout<<“t┣╋**登錄失??!未找到相應(yīng)的信息!程序?qū)⑼顺?*╋┫”<

      }

      int stu_num()

      //計(jì)算數(shù)據(jù)組數(shù) {

      } staff stu;ifstream stunum;stunum.open(file,ios_base::in|ios_base::binary);if(stunum.is_open()){

      } stunum.close();return ct;stunum.seekg(0);while(stunum.read((char *)&stu,sizeof stu))ct++;system(“pause”);system(“cls”);void setadmin(staff &stu,char jobs[10])

      //增加職工時(shí)根據(jù)職務(wù)設(shè)置權(quán)限 { char job1[10]=“總經(jīng)理”;char job2[10]=“副總經(jīng)理”;char job3[10]=“人事秘書”;char job4[10]=“財(cái)務(wù)人員”;

      }

      void add()

      // 輸入數(shù)據(jù)的函數(shù),增加職工 {

      if(Admin==2){ staff stu;if((!strcmp(stu.job,job1))||(!strcmp(stu.job,job2)))stu.admin=1;else

      if(!strcmp(stu.job,job3))stu.admin=2;else if(!strcmp(stu.job,job4))stu.admin=3;

      ofstream fout(file, ios_base::out | ios_base::app | ios_base::binary);

      if(!fout.is_open())

      {

      cerr << “不能打開 ” << file << “ 文件:n”;

      exit(EXIT_FAILURE);

      }

      cout << “★增加職員信息★請(qǐng)輸入職工姓名:(按Enter鍵退出輸入!):n”;eatline();

      cin.get(stu.name, LIM);

      while(stu.name[0]!= '