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

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

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

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

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

      C語言職工工資管理系統(tǒng)程序設(shè)計報告[合集]

      時間:2019-05-12 17:20:18下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C語言職工工資管理系統(tǒng)程序設(shè)計報告》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《C語言職工工資管理系統(tǒng)程序設(shè)計報告》。

      第一篇:C語言職工工資管理系統(tǒng)程序設(shè)計報告

      C語言課程設(shè)計報告

      小型職工工資管理系統(tǒng)

      專業(yè)班級

      2016級通信工程本科1班

      通信第二組

      學生姓名

      院(系)

      信息工程系

      指導(dǎo)教師(職稱)

      完成時間

      2017年5月31日

      課程設(shè)計任務(wù)書

      題目職工工資管理系統(tǒng) 班級2016級通信工程本科1班 學號 201605070106 姓名 學號 201605070111 姓名 學號 201605070118 姓名 學號 201605070119 姓名 學號 201605070136 姓名

      一、主要內(nèi)容:

      本課程設(shè)計結(jié)合本學期所學C語言知識,準備設(shè)計開發(fā)一個簡單職工工資管理系統(tǒng)。工資管理系統(tǒng)是企業(yè)不可或缺的一部分,它利用計算機對員工工資進行統(tǒng)一管理,實現(xiàn)工資管理系統(tǒng)的系統(tǒng)化、規(guī)范化和自動化,為企業(yè)提高工作效率。設(shè)計開發(fā)這個系統(tǒng)需要用到單鏈表、文件讀取操作、結(jié)構(gòu)體、函數(shù)、指針等C語言知識。本課程設(shè)計準備通過Windows控制臺應(yīng)用程序?qū)崿F(xiàn)職工工資管理系統(tǒng)的簡單運行。利用所學知識,本著簡單、易用的設(shè)計原則,本課程設(shè)計盡量實現(xiàn)良好、美觀的“人機界面”,便于軟件的操作使用。本次設(shè)計主要學習內(nèi)容包括:

      (一)進一步學習并熟練掌握C語言語法和編程思想。

      (二)學習C語言提供的庫函數(shù),熟悉Visual C++ 6.0的開發(fā)工具。

      (三)學習C語言函數(shù)、鏈表、結(jié)構(gòu)體、文件讀取、指針等知識。

      (四)學習如何查閱他人的文檔進行軟件的設(shè)計與開發(fā)。

      二、基本要求:

      (一)質(zhì)量要求

      1.職工工資管理系統(tǒng)基本功能模塊的設(shè)計應(yīng)包括:顯示主菜單功能、職工信息 的錄入、添加、刪除、修改、查詢、排序功能,退出系統(tǒng)。測試文件的讀取與存儲是否正常、測試評估界面是否合理,友好。

      2.對職工工資管理系統(tǒng)設(shè)計并進行調(diào)試、修復(fù)、完善、測試。3.定期主動向指導(dǎo)教師匯報任務(wù)進度,認真填寫相關(guān)報告文檔。4.按時完成各階段工作,不突擊,不抄襲。

      (二)進度要求

      1.明確課程設(shè)計任務(wù),搜集資料:2017年2月28日—3月14日。

      2.完成程序的設(shè)計與實現(xiàn),撰寫課程設(shè)計論文初稿:2017年3月15日—5月15日。

      3.與指導(dǎo)教師溝通,完成課程設(shè)計論文定稿:2016年5月16日—2017年5月28日。

      4.進入課程設(shè)計論文審閱階段,準備答辯:2017年5月29日—6月9日。

      三、主要參考資料:

      1.工資管理系統(tǒng)課程設(shè)計程序http://blog.csdn.net/JZQT_T/article/category/2317235

      2.C語言程序設(shè)計規(guī)范及基礎(chǔ)

      https://wenku.baidu.com/view/58b***409c7b.html 3.《明解C語言 第3版》,(日)柴田望洋著,人民郵電出版社 4.《C Primer Plus 第6版 中文版》,姜佑 譯,人民郵電出版社 5.《C程序設(shè)計 第四版》,譚浩強著,清華大學出版社 6.《C和C++實物精選》,徐波著,北京郵電出版社

      學 生 簽 名: 指導(dǎo)教師簽名:

      年 月 日

      目錄 概述...............................................1 1.1 設(shè)計思想.................................................................................................................................1 1.2 設(shè)計原則.................................................................................................................................1 1.3 性能需求.................................................................................................................................1 1.4 課程設(shè)計報告內(nèi)容及分工情況.............................................................................................2 1.4.1 課程設(shè)計報告內(nèi)容.........................................................................................................2 1.4.2 課程設(shè)計分工情況.........................................................................................................2 2 總體設(shè)計...........................................3 2.1 系統(tǒng)功能設(shè)計圖.....................................................................................................................3 2.2 主函數(shù) main().........................................................................................................................3 2.3 程序流程圖..............................................................................................................................4 3 詳細設(shè)計...........................................4 3.1 函數(shù)..........................................................................................................................................4 3.2 函數(shù)流程圖..............................................................................................................................9 4 運行結(jié)果與調(diào)試....................................16 4.1 運行結(jié)果...............................................................................................................................16 4.2 程序調(diào)試...............................................................................................................................21 結(jié)束語..............................................22 附錄................................................24 概述

      1.1 設(shè)計思想

      1.系統(tǒng)分成幾個相對獨立的模塊,但這些模塊都進行集中式管理。

      2.分層的模塊化程序設(shè)計思想,整個系統(tǒng)采用模塊化結(jié)構(gòu)設(shè)計作為應(yīng)用程序,有較強的可操作性和擴展性。

      3.合理的數(shù)據(jù)設(shè)計,在應(yīng)用系統(tǒng)設(shè)計中,相對獨立的模塊間以數(shù)據(jù)相互連接,使各模塊間的耦合性較低,方便系統(tǒng)運行,提高系統(tǒng)安全性。

      1.2 設(shè)計原則

      為了使本系統(tǒng)功能齊全完備,操作簡便,最大限度的提高軟件的質(zhì)量,從而滿足用戶的實際需要,在設(shè)計開發(fā)過程中遵循了如下原則:

      1.合法性原則:依據(jù)產(chǎn)品核算系統(tǒng)的工作規(guī)定以及要求,參照核算實際的工作情況,進行諸如產(chǎn)品進貨、銷售等工作。

      2.實用性原則:適合產(chǎn)品信息管理工作的實際需求,并能夠處理一些特殊情況的要求,此外,盡可能預(yù)留空間,以便擴充功能。

      3.準確性原則:對輸入的相關(guān)資料建立檢錯機制,及時報錯,使用戶能夠及時準確的輸入合法資料(如:類型匹配,長度不超限等)。

      4.易操作原則:要求設(shè)計的系統(tǒng)功能齊全,界面友好,操作方便,必要的地方進行提示。

      5.源程序可讀性原則:為了便于其他設(shè)計,維護人員讀懂代碼或以后的代碼修改,軟件升級維護,即可能做好代碼注釋工作。

      1.3 性能需求

      (1)支持工資信息一次性多組導(dǎo)入

      (2)非法操作能夠提示錯誤并且知道安全行為方式(3)信息查詢時界面顯示數(shù)量

      1.4 課程設(shè)計報告內(nèi)容及分工情況

      1.4.1課程設(shè)計報告內(nèi)容

      1.系統(tǒng)功能模塊結(jié)構(gòu)圖和程序流程圖 2.數(shù)據(jù)結(jié)構(gòu)設(shè)計及用法說明

      3.程序結(jié)構(gòu)(畫功能模塊圖或流程圖)4.各模塊的功能

      5.實驗結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)6.設(shè)計體會 7.參考文獻

      1.4.2 課程設(shè)計分工情況

      本組共有5人,具體分工情況如下:

      (1)學號:201605070106,姓名:司笑笑,具體負責功能模塊結(jié)構(gòu)圖和程序流 程圖的設(shè)計;負責“排序”代碼的編寫及整體代碼的整合;負責程序設(shè)計報告中函數(shù)詳細設(shè)計。

      (2)學號:201605070111,姓名:代慧,負責“添加”、“錄入”代碼的編寫;負責顯示界面的優(yōu)化、美化。

      (3)學號:201605070118,姓名:王春亞,負責“查詢”代碼的編寫;程序的測試與調(diào)試。

      (4)學號:201605070119,姓名:董子陽,負責“修改”代碼的編寫;具體負責實驗結(jié)果的采集;程序設(shè)計報告書的校對;負責流程圖的繪制。

      (5)學號:201605070136,姓名:馬良智,負責“刪除”代碼的編寫;具體負責程序設(shè)計報告書的排版與完善;相關(guān)文獻的查找和參考??傮w設(shè)計

      2.1 系統(tǒng)功能設(shè)計圖

      系統(tǒng)功能設(shè)計是使整個系統(tǒng)能基本實現(xiàn)職工工資管理功能,能讓公司的管理者利用計算機對員工工資進行統(tǒng)一管理,實現(xiàn)工資管理系統(tǒng)的系統(tǒng)化、規(guī)范化和自動化,提高了工作效率。管理信息系統(tǒng)(MIS)主要的功能就是進行信息的收集、查詢、存儲,同時對這些信息進行維護的。

      本系統(tǒng)共包括七大模塊,分別是錄入模塊,添加模塊,修改模塊,刪除模塊,查詢模塊,排序模塊,輸出模塊。系統(tǒng)功能模塊設(shè)計如圖2-1所示。

      圖2-1 小型職工工資管理系統(tǒng)功能模塊結(jié)構(gòu)圖

      2.2 主函數(shù) main()

      (1)函數(shù)的功能: 用于聯(lián)系各個功能函數(shù)模塊,以及退出程序時的退出畫面提示。

      (2)函數(shù)的入口: 整個程序是從主函數(shù)開始的。

      (3)函數(shù)的出口: 當從main()的switch()開關(guān)結(jié)構(gòu)中進入,即choise的值大于7時通過return退出main()函數(shù),即:退出整個程序。(4)函數(shù)調(diào)用關(guān)系:該函數(shù)不被其它函數(shù)調(diào)用。

      2.3 程序流程圖

      詳細設(shè)計

      3.1 函數(shù)

      (1)功能函數(shù)mainMenu()①函數(shù)的功能:顯示主菜單

      ②函數(shù)的入口:從main()進入,main()運行時進入該函數(shù)。③函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。

      ④函數(shù)的出口:當主菜單顯示在屏幕上,結(jié)束該函數(shù)。(2)功能函數(shù)input(LinkList head)①函數(shù)的功能:進入錄入職工信息系統(tǒng)。

      ②函數(shù)的入口:程序從main()的switch()開關(guān)結(jié)構(gòu)中進入,即choice的值為1時,開始進入該函數(shù),進入函數(shù)后,首先用inputMenu()顯示錄入菜單選項,然后選擇選項進行錄入職工信息。

      ③函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進入,并在文中無返回值的空值void函數(shù)。

      ④函數(shù)的出口:錄入職工信息完成后,結(jié)束該函數(shù)而并執(zhí)行主函數(shù)main()中“output(head);”,輸出職工信息在屏幕上并保存職工信息在磁盤上,然后執(zhí)行“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(3)功能函數(shù)inputMenu()①函數(shù)的功能:顯示錄入菜單。

      ②函數(shù)的入口:從input(LinkList head))進入,input(LinkList head)被調(diào)用時進入該函數(shù)。

      ③函數(shù)調(diào)用關(guān)系:被input(LinkList head))調(diào)用,并在文中無返回值的空值void函數(shù)。

      ④函數(shù)的出口:當錄入菜單顯示在屏幕上,結(jié)束該函數(shù)。(4)功能函數(shù)hand(LinkList head)①函數(shù)的功能:進入“手動錄入職工信息”。

      ②函數(shù)的入口:程序從input(LinkList head)的switch()開關(guān)結(jié)構(gòu)中進入,即choice的值為1時,開始進入該函數(shù),進入函數(shù)后,首先輸入錄入職工人數(shù),然后逐個錄入職工信息。

      ③函數(shù)調(diào)用關(guān)系:被input(LinkList head)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進入,并在文中無返回值的空值void函數(shù)。

      ④函數(shù)的出口:錄入全部職工信息完成后,結(jié)束該函數(shù)并執(zhí)行input(LinkList head)中“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(5)功能函數(shù)read(LinkList head)

      ①函數(shù)的功能:進入“文件錄入職工信息”。

      ②函數(shù)的入口:程序從input(LinkList head)的switch()開關(guān)結(jié)構(gòu)中進入,即choice的值為2時,開始進入該函數(shù),進入函數(shù)后,輸入需要錄入的文件路徑fileName,通過fopen()函數(shù),即“if((fq=fopen(fileName,“r”))==NULL)” 打開文件,進入數(shù)據(jù)的處理。

      ③函數(shù)調(diào)用關(guān)系:被input(LinkList head)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進入,并在文中無返回值的空值void函數(shù)。

      ④函數(shù)的出口:自動錄入文件中全部職工信息后,結(jié)束該函數(shù)并執(zhí)行input(LinkList head)中“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(6)功能函數(shù)output(LinkList head)①函數(shù)的功能:輸出職工信息。

      ②函數(shù)的入口:程序在錄入、添加、修改、刪除、查詢、排序后都進入該函數(shù),進入函數(shù)后,將職工信息用printf()標準輸出到屏幕上,然后通過fopen()函數(shù),即“if((fp=fopen(“d:worker.dat”, “w”))== NULL)” 打開文件,將職工信息寫到d:worker.dat文件中。

      ③函數(shù)調(diào)用關(guān)系:被main()等多個調(diào)用。在文中無返回值的空值void函數(shù)。④函數(shù)的出口:將職工信息用printf()標準輸出到屏幕上,將職工信息存入磁盤后,結(jié)束該函數(shù)。

      (7)功能函數(shù)add(LinkList head)①函數(shù)的功能:添加一個職工信息。

      ②函數(shù)的入口:從main()的switch()開關(guān)結(jié)構(gòu)中進入,即choice的值為2的時侯,進入該函數(shù),根據(jù)提示輸入職工信息。

      ③函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。由switch()開關(guān)結(jié)構(gòu)中進入,并在文中有返回值的整型int函數(shù),返回值為1添加成功。

      ④函數(shù)的出口:職工信息添加成功返回1后結(jié)束該函數(shù),并執(zhí)行主函數(shù)main()中“output(head);”,輸出職工信息在屏幕上并保存職工信息在磁盤上,然后執(zhí)行“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(8)功能函數(shù)deleteWorker(LinkList head)①函數(shù)的功能:刪除 一個職工信息。

      ②函數(shù)的入口:從main()的switch()開關(guān)結(jié)構(gòu)中進入,即choice的值為3的時侯,進入該函數(shù),輸入要刪除的職工編號,刪除改編號職工信息。

      ③函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。由switch()開關(guān)結(jié)構(gòu)中進入,并在文中有返回值的整型int函數(shù),返回值為1刪除成功。

      ④函數(shù)的出口:職工信息刪除成功返回1后結(jié)束該函數(shù),并執(zhí)行主函數(shù)main()

      中“output(head);”,輸出剩余的職工信息在屏幕上,然后執(zhí)行“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(9)功能函數(shù)update(LinkList head)①函數(shù)的功能:修改一個職工信息。

      ②函數(shù)的入口:從main()的switch()開關(guān)結(jié)構(gòu)中進入,即choice的值為4的時侯,進入該函數(shù),輸入要修改的職工編號,根據(jù)提示輸入新的職工信息。

      ③函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。由switch()開關(guān)結(jié)構(gòu)中進入,并在文中有返回值的整型int函數(shù),返回值為1修改成功。

      ④函數(shù)的出口:職工信息修改成功返回1后結(jié)束該函數(shù),并執(zhí)行主函數(shù)main()中“output(head);”,輸出職工信息在屏幕上并保存職工信息在磁盤上,然后執(zhí)行“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(10)功能函數(shù)find(LinkList head)①函數(shù)的功能:進入查詢職工信息系統(tǒng)

      ②函數(shù)的入口:程序從main()的switch()開關(guān)結(jié)構(gòu)中進入,即choice的值為5時,開始進入該函數(shù),進入函數(shù)后,首先用findMenu()顯示查詢菜單選項,然后選擇選項進行查詢職工信息。

      ③函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進入,并在文中無返回值的空值void函數(shù)。

      ④函數(shù)的出口:查詢職工信息完成后,結(jié)束該函數(shù),然后執(zhí)行主函數(shù)main()中的“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(11)功能函數(shù) findMenu()①函數(shù)的功能:顯示查詢菜單。

      ②函數(shù)的入口:從find(LinkList head)進入,find(LinkList head)被調(diào)用時進入該函數(shù)。

      ③函數(shù)調(diào)用關(guān)系:被find(LinkList head)調(diào)用,并在文中無返回值的空值void函數(shù)。

      ④函數(shù)的出口:當查詢菜單顯示在屏幕上,結(jié)束該函數(shù)。(12)功能函數(shù)findByWay(LinkList head, int n)①函數(shù)的功能:查詢職工信息”。

      ②函數(shù)的入口:程序從find(LinkList head)的switch()開關(guān)結(jié)構(gòu)中進入,即choice的值為1,2,3,4,5,6時,開始進入該函數(shù),進入函數(shù)后,根據(jù)不同的選項值進行相應(yīng)的查詢。

      ③函數(shù)調(diào)用關(guān)系:被find(LinkList head)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進入,并在文中有返回值的的整型int函數(shù),返回值為1查詢成功。

      ④函數(shù)的出口:查詢職工信息完成后,執(zhí)行“output(head);”,輸出職工信息在屏幕上并保存職工信息在磁盤上,然后結(jié)束該函數(shù),執(zhí)行find(LinkList head)中“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(13)功能函數(shù)sort(LinkList head)①函數(shù)的功能:進入職工信息排序系統(tǒng)

      ②函數(shù)的入口:程序從main()的switch()開關(guān)結(jié)構(gòu)中進入,即choice的值為6時,開始進入該函數(shù),進入函數(shù)后,首先用sortMenu()顯示排序菜單選項,然后選擇選項進行職工信息排序。

      ③函數(shù)調(diào)用關(guān)系:被主函數(shù)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進入,并在文中無返回值的空值void函數(shù)。

      ④函數(shù)的出口:職工信息排序完成后,結(jié)束該函數(shù),然后執(zhí)行主函數(shù)main()中的“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(14)功能函數(shù) sortMenu()①函數(shù)的功能:顯示排序菜單。

      ②函數(shù)的入口:從sort(LinkList head)進入,sort(LinkList head)被調(diào)用時進入該函數(shù)。

      ③函數(shù)調(diào)用關(guān)系:被sort(LinkList head)調(diào)用,并在文中無返回值的空值void函數(shù)。

      ④函數(shù)的出口:當排序菜單顯示在屏幕上,結(jié)束該函數(shù)。(15)功能函數(shù)sortByWay(LinkList head, int n)①函數(shù)的功能:職工信息排序。

      ②函數(shù)的入口:程序從sort(LinkList head)的switch()開關(guān)結(jié)構(gòu)中進入,即choice的值為1,2,3,4,5,6時,開始進入該函數(shù),進入函數(shù)后,根據(jù)不同的選項值進行相應(yīng)的排序。

      ③函數(shù)調(diào)用關(guān)系:被sort(LinkList head)調(diào)用。從switch()開關(guān)結(jié)構(gòu)中進入,并在文中有返回值的的整型int函數(shù),返回值為1排序成功。

      ④函數(shù)的出口:職工信息排序完成后,執(zhí)行“output(head);”,輸出職工信息在屏幕上并保存職工信息在磁盤上,然后結(jié)束該函數(shù),執(zhí)行sort(LinkList head)中“break;”跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行while循環(huán)結(jié)構(gòu)。(16)功能函數(shù)uqnum(LinkList head, int num)

      ①函數(shù)的功能:判斷職工編號是否已存在。

      ②函數(shù)的入口:程序add(LinkList head)中進入,輸入職工編號后,開始進入該函數(shù),進入函數(shù)后,判斷輸入的職工編號是否已經(jīng)存在。

      ③函數(shù)調(diào)用關(guān)系:被add(LinkList head)調(diào)用。在文中有返回值的的整型int函數(shù),返回值為1職工編號已存在。

      ④函數(shù)的出口:判斷職工編號是否已存在后返回add(LinkList head),繼續(xù)輸入其它職工信息或重新輸入職工編號。

      功能實現(xiàn)效果如圖3-1所示。

      圖3-1 主菜單界面

      3.2 函數(shù)流程圖

      (1)錄入職工信息

      該功能模塊流程如圖3-2所示。

      圖3-2 “錄入職工信息”功能模塊流程圖

      (2)添加職工信息

      該功能模塊流程如圖3-3所示。

      圖3-3 “添加職工信息”功能模塊流程圖

      (3)刪除職工信息

      該功能模塊流程如圖3-4所示。

      圖3-4“刪除職工信息”功能模塊流程圖

      (4)修改職工信息

      該功能模塊流程如圖3-5所示。

      圖3-5“修改職工信息”功能模塊流程圖

      (5)查詢職工信息

      該功能模塊流程如圖3-6所示。

      圖3-6“查詢職工信息”功能模塊流程圖

      (6)排序職工信息

      該功能模塊流程如圖3-7所示。

      圖3-7“排序職工信息”功能模塊流程圖 運行結(jié)果與調(diào)試 4.1 運行結(jié)果

      本系統(tǒng)運行初始頁面如圖4-1所示。

      圖4-1 初始頁面

      在函數(shù)開始時,初始化臨時結(jié)構(gòu)體數(shù)組,讓結(jié)構(gòu)體內(nèi)所有信息為空.,讀取目標文件,然后運行功能函數(shù),選擇需要的功能。

      實現(xiàn)效果如圖4-2所示。

      圖4-2 輸入界面

      (1)根據(jù)自己需要的功能輸入相應(yīng)數(shù)字

      圖4-3職工信息的錄入

      圖4-4職工信息的添加

      圖4-5職工信息的刪除

      4-6職工信息的修改

      圖4-7職工信息的查詢

      圖4-8職工信息的排序

      圖4-9退出系統(tǒng)

      (2)錄入職工的信息,通過手動錄入和文件錄入兩個方法錄入職工的信息。

      圖4-10職工信息錄入的方式

      (3)查找職工的個人信息,通過輸入編號、姓名、部門、基本工資、獎金和總工資進行查找。

      圖4-11職工信息的查詢方式

      (4)職工信息的排序可以通過編號排序、姓名排序、部門排序、基本工資排序、獎金排序和總工資排序。

      圖4-12職工信息的排序方式

      (5)每次將職工信息輸出在屏幕上時,都會通過fwrite寫到文件D:woker.date中。

      (6)根據(jù)數(shù)字提示結(jié)束程序。

      4.2 程序調(diào)試

      (1)每個選擇界面之后,前一屏幕的內(nèi)容依舊存在,影響界面的美觀;經(jīng)過同學的幫助及上網(wǎng)搜索,發(fā)現(xiàn)利用“system(“cls”);”可以消去前一屏幕的內(nèi)容;然而接下來又出現(xiàn)新的問題:有些函數(shù)會出現(xiàn)錯誤;經(jīng)過多次調(diào)試和修改,才發(fā)現(xiàn)把“system(“cls”);”放在調(diào)用的函數(shù)之前以及適當?shù)奈恢每梢越鉀Q此問題。(2)修改員工信息時,輸入職工編號查詢出多條信息,修改錯誤!后來加入職工編號唯一判斷的函數(shù),讓職工編號唯一不重復(fù)。

      (3)排序,開始交換指針指向,一直出現(xiàn)指針不存在導(dǎo)致亂碼問題,后來修改為交換指針的數(shù)據(jù)域。

      (4)文件寫入磁盤,用筆記本打開磁盤內(nèi)的文件亂碼,經(jīng)查詢資料了解寫入磁盤的文件是二進制數(shù)據(jù),不能通過筆記本打開,可重新把文件讀入程序中,在程序中顯示。

      (5)忘導(dǎo)入,導(dǎo)致strcmp不能用。(6)字符串輸入輸出要用%s。

      結(jié)束語

      工資管理系統(tǒng)對于決策者和管理者來說都至關(guān)重要,所以工資管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件工資檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。

      隨著科學技術(shù)的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。

      作為計算機應(yīng)用的一部分,使用計算機對工資信息進行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高工資管理的效率,也是科學化、正規(guī)化管理的重要條件。

      這一個月以來,在開發(fā)這個工資管理系統(tǒng)過程中,我深刻地體會到了自學能力的重要性。畢竟在學校學習到的知識是有限的,而在開發(fā)系統(tǒng)的過程中僅憑原有的一點點知識是遠遠不夠的,只有翻閱大量的資料才能學到更多的知識,才能實現(xiàn)其預(yù)期的功能。在開發(fā)過程中,遇到困難是在所難免的,期間我跟我的指導(dǎo)老師和同學們進行交流,從中明白了很多。開發(fā)一個系統(tǒng),恒心和毅力也是不可缺少的。同樣,在開發(fā)過程當中,細心也是非常重要的,由于很多事項都要很注意才行,如果沒有做到這一點,就會出錯。

      在這里要同學的幫助、老師的悉心指導(dǎo)下基本完成本次課程設(shè)計,基本達到了工資管理系統(tǒng)的要求。

      小組各成員心得體會

      Xxx:

      這個系統(tǒng)實現(xiàn)了對員工信息的存儲、修改、刪除、查詢及排序。從拿到題目到完成整個編程,從理論到實踐學到了很多東西。通過這次程序設(shè)計我深入了解了鏈表、結(jié)構(gòu)體,也學會了文件的讀寫,懂得了理論和實際結(jié)合是很重要的。在設(shè)計過程中遇到了很多問題,這畢竟是第一次做,同時在設(shè)計過程中發(fā)現(xiàn)了自己的不足之處,對以前所學的知識理解的不夠深刻,掌握的不夠牢固,比如單鏈表。總之不收獲很多!

      Xxx:

      通過這次課程設(shè)計,我對數(shù)據(jù)結(jié)構(gòu)中單鏈表的應(yīng)用有了更深的理解,并且深刻的認識了實踐的重要性,只有理論與實踐相結(jié)合才能很好的學習。發(fā)現(xiàn)想要做好課程設(shè)計,僅靠書本上的知識是不夠的,還需要查閱其他的程序和知識。在這個過程中,我充分認識了數(shù)據(jù)結(jié)構(gòu)在編寫程序方面的重要地位,知道它的特點是可以用存儲單元來存儲數(shù)據(jù),并且可以方便的實現(xiàn)對數(shù)據(jù)進行插入、刪除和遍歷等操作。

      Xxx:

      這個課程設(shè)計實現(xiàn)了對職工信息的管理,通過錄入、添加、修改、刪除、查詢等實現(xiàn)對職工信息的管理。通過這次的課程設(shè)計,我學到了很多的東西。同時也找到了自己很多的不足之處。在這次課程設(shè)計中,由于以前沒有好好學這門課,所以很多知識掌握的不夠好,導(dǎo)致在編寫的時候遇到很多困難,但是通過隊員的幫助,得到了解決。這次課程設(shè)計,不僅讓我學到了知識,更好的掌握了函數(shù)、結(jié)構(gòu)體、指針、單鏈表等的用法,也讓我知道了團隊的重要性。

      Xxx:

      通過這次課程設(shè)計我學到了許多在課堂沒有學習好的知識,同時也鞏固了我之前學習的知識,在設(shè)計的過程中我補全了自己的不足,找到自己掌握的不牢固的,還有理解的不深刻的,比如:函數(shù),結(jié)構(gòu)體等等,通過這次課程設(shè)計我提高了獨立思考的能力和自己的實際動手能力,我還學會了如何用流程圖來表達自己的想法,同時這次課程設(shè)計也讓我們小組之間加深了了解,總的來說,這次設(shè)計讓我的c語言知識更加豐富!

      Xxx:

      經(jīng)過兩學期的C語言學習,我們掌握了C語言的基礎(chǔ)知識,我對課程設(shè)計有了一定的了解和體會。并且通過這次課程設(shè)計使我懂得了理論與實踐相結(jié)合是很重要的。從理論中得出結(jié)論,才能真正為今后的學習、工作服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在這次程序設(shè)計中,我充分領(lǐng)略了C語言功能的強大,包括函數(shù)、數(shù)組、指針、結(jié)構(gòu)體、文件等。而且我學會了最基本的替換,然后擴展到循環(huán)、嵌套,條理很清楚。讓我也深感集體的強大力量,很多東西并不是一兩個人就可以完成的,比如這個小型工資管理系統(tǒng)程序的編寫,俗話說“眾人拾柴火焰高”,經(jīng)過共同的努力,最終克服難關(guān)開發(fā)出了該系統(tǒng)。在本次課程設(shè)計中,還有一點不得不說,通過這次程序設(shè)計書的編寫讓我深刻的意識到擁有好的文筆是多么的重要,我們雖為工科生,但是在以后的工作崗位上也不得不面臨著各種各樣的工作,所以文筆也是非常重要的。

      參考資料

      [1] 工資管理系統(tǒng)課程設(shè)計程序http://blog.csdn.net/JZQT_T/article/category/2317235

      [2] C語言程序設(shè)計規(guī)范及基礎(chǔ)

      https://wenku.baidu.com/view/58b***409c7b.html [3]《明解C語言 第3版》,(日)柴田望洋著,人民郵電出版社 [4] 《C Primer Plus 第6版 中文版》,姜佑 譯,人民郵電出版社 [5] 《C程序設(shè)計 第四版》,譚浩強著,清華大學出版社 [6]《C和C++實物精選》,徐波著,北京郵電出版社

      附錄

      源代碼清單:

      第二篇:職工工資管理系統(tǒng)可行性分析

      工資管理系統(tǒng)可行性分析

      一、系統(tǒng)開發(fā)的必要性

      隨著計算機技術(shù)的飛速發(fā)展,計算機在企業(yè)和大學管理中應(yīng)用的普及,利用計算機實現(xiàn)人事工資的管理勢在必行。利用計算機支持企業(yè)高效率完成勞動人事管理的日常事務(wù),是適應(yīng)現(xiàn)代企業(yè)制度要求、推動企業(yè)和大學勞動人事管理走向科學化、規(guī)范化的必要條件。工資管理是任何企業(yè)單位都需要進行的一項工作,因此,開發(fā)制作工資管理系統(tǒng)具有較大的社會現(xiàn)實意義。而工資管理是一項瑣碎、復(fù)雜而又十分細致的工作,工資計算、發(fā)放、核算的工作量很大,一般不允許出錯,實行電子化的工資管理,可以讓人力資源管理人員從繁重瑣碎的案頭工作解脫出來,去完成更重要的工作。職工工資管理信息系統(tǒng)的實現(xiàn)可以減輕比較繁瑣的手工工資管理更加針對性、便捷性、可視化的管理職工工資。工資管理是企業(yè)管理的重要組成部分,它與企業(yè)的人事管理、財務(wù)管理有著密切的聯(lián)系。對于勞資關(guān)系相對復(fù)雜的大中型企事業(yè)單位,手工進行工資的發(fā)放工作往往需要耗費大量的人力與時間。由于工資發(fā)放在時間和操作上存在著一定的重復(fù)性、規(guī)律性,這使得工資管理的計算機化成為可能,該項目的提出正是為了在此基礎(chǔ)上進一步實現(xiàn)企業(yè)員工工資管理的規(guī)范化和自動化。

      二、系統(tǒng)規(guī)劃情況

      可行性分析是指在客觀條件制約下,對系統(tǒng)開發(fā)的必要性和可行性進行分析論證。它是在項目系統(tǒng)實施前進行的一項重要工作,對系統(tǒng)能否正常運行、能否從中獲得經(jīng)濟效益起著決定性的作用。系統(tǒng)的可能性是只指研究系統(tǒng)開發(fā)的條件是否具備,而系統(tǒng)的必要性是指客觀上是否需要??赡苄耘c必要性相符相成,缺一不可。

      (一)系統(tǒng)設(shè)計的必要性

      由于工資核算及匯總煩瑣混亂且容易出錯,與職工檔案相關(guān)聯(lián),所得稅核算復(fù)雜,因此迫切需要一套計算機信息管理系統(tǒng)來實現(xiàn)可靠、便捷的管理。

      (二)系統(tǒng)背景

      項目的任務(wù)提出者:***公司 系統(tǒng)開發(fā)者: “***”財務(wù)小組 系統(tǒng)用戶: “****”財務(wù)人員 ? ? ?

      (三)系統(tǒng)目標

      1、提供職工檔案管理程序(即能夠支持增加職工記錄,修改職工檔案數(shù)據(jù)的程序)

      2、設(shè)計輸入每個已建檔的職工的各項工資款

      3、計算每個職工工資總額并自動計算代扣個人所得稅、4、匯總職工工資編制輸出工資匯總表

      三、系統(tǒng)開發(fā)的可行性

      運用計算機的便捷性,程序的可操作性,讓我們更能夠方便快捷的對信息系統(tǒng)進行科學性的管理。與此同時,我們能夠利用專業(yè)知識來解決實際問題。在各種計算機語言中,VB是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計語言;VB可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序;在Visual Basic環(huán)境下,利用事件驅(qū)動的編程機制、新穎易用的可視化設(shè)計工具。因此,我們使用VB做簡單的開發(fā)程序。

      (一)項目與其他軟件或其他系統(tǒng)的關(guān)系:

      工資管理系統(tǒng)是全企業(yè)信息管理系統(tǒng)的一個有機組成部分,它需要和員工人事管理、員工工時考勤、員工醫(yī)療保險等系統(tǒng)連接,能夠從這些系統(tǒng)中正確的取得員工基本工資、津貼、醫(yī)療保險等信息。

      (二)社會因素方面的可行性(1)法律可行性

      本系統(tǒng)的開發(fā)與應(yīng)用不涉及侵犯專利權(quán)、侵犯版權(quán)等方面的問題。(2)管理可行性

      系統(tǒng)操作起來難度不大,用戶界面也很友好,操作人員無需掌握太多的計算機知識,只要稍加培訓后,都可勝任工作,因此系統(tǒng)的運行和維護工作不會有什么障礙。系統(tǒng)提供容錯能力,能識別操作員的明顯的誤操作,并對錯誤操作輸入進行報警處理,對誤操作進行恢復(fù)處理。

      隨著計算機的發(fā)展與普及,以及互聯(lián)網(wǎng)技術(shù)的擴展,日常勞資人事管理必將實現(xiàn)無紙化辦公,并且加入到公司內(nèi)部的Intranet或者是Internet上去,實現(xiàn)數(shù)據(jù)的共享,這樣有利于勞資人事信息在單位內(nèi)部的查詢,提高了數(shù)據(jù)資源的利用,并且能及時的得到更新,不需要象過去那樣浪費大量的人力物力去進行抄寫,提高了工作的效率。(3)技術(shù)可行性分析

      軟件:操作系統(tǒng):中文Windows XP 操作簡單:簡單的操作規(guī)則使操作人員能輕松掌握。

      查詢方便:用戶可設(shè)定任意條件和任意的查詢項目進行檢索。統(tǒng)計靈活,數(shù)據(jù)維護簡單 工作方式:非實時聯(lián)網(wǎng)。結(jié)論

      本小組擬開發(fā)的系統(tǒng)操作方便靈活,便于學習,因此,該系統(tǒng)具有可行性。通過經(jīng)濟、技術(shù)、和社會等方面的可行性研究,可以確定本系統(tǒng)的開發(fā)完全必要,而且是可行的,可以立項開發(fā)

      第三篇:C語言 課程設(shè)計 教師工資管理系統(tǒng)(職工工資管理系統(tǒng))

      課程設(shè)計 教師工資管理系統(tǒng)

      運行平臺:VC6.0(其他平臺未經(jīng)測試,不一定保證有效)

      制作者:弓箭 中南大學 信息科學與工程學院

      源代碼如下:

      #include #include #include #include #define LEN sizeof(struct teacher)

      struct teacher { int num;char name[20];char sex[20];char workplace[50];char address[50];long phone;double de_salary;double de_jintie;double de_shenghuobutie;double yingfa_salary;double cost_phone;double cost_water_elec;double cost_rent;double cost_tax;double cost_weisheng;double cost_gongjijin;double cost_all;double shifa_salary;struct teacher *next;};

      /***********************************讀取函數(shù)************************************/ struct teacher *load(){ struct teacher *p1,*p2,*head;FILE *fp;int i=1;if((fp=fopen(“save”,“rb”))==NULL){

      printf(“

      文件不存在!按下任意鍵返回主菜單...”);getch();

      return(NULL);} else {

      head=NULL;

      p1=(struct teacher *)malloc(LEN);

      while(fread(p1,LEN-4,1,fp)==1)

      {

      if(i==1)

      {

      head=p1;

      p2=p1;

      i=2;

      }

      else

      {

      p2->next=p1;

      p2=p2->next;

      }

      p1=(struct teacher *)malloc(LEN);

      }

      p2->next=NULL;

      free(p1);

      fclose(fp);

      return(head);} }

      /**********************************歡迎菜單函數(shù)*************************************/ void welcome(){ printf(“nnn

      >>>>>歡迎使用教師工資管理系統(tǒng)Beta1.2<<<<

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

      *

      C語言課程設(shè)計

      教師工資管理系統(tǒng)

      *n”);

      printf(“

      *

      班級: 電氣信息類1001班

      學號:0909100119

      *n”);printf(“

      *

      姓名:弓箭

      *n”);printf(“

      *******************************************************n”);printf(“nn

      按下任意鍵進入系統(tǒng)...”);getch();system(“cls”);} /**********************************制作人員名單*************************************/ void list(){ system(“cls”);printf(“nnn

      >>>>>版權(quán)所有 侵權(quán)必究<<<<

      學校(College):

      中南大學 Central South University

      *n”);printf(“*

      軟件名稱(Software): 教師工資管理系統(tǒng) Teacher's Salary Managing System

      *n”);

      printf(“*

      版本號(Edition):

      Beta1.2

      *n”);printf(“*

      制作人(Producer):

      弓箭 James

      *n”);printf(“*

      所在班級(Class):

      電氣信息類1001班 Electric Information 1001

      *n”);printf(“*

      所在學院(Institute):信息科學與工程學院 Information Engineering Institute*n”);printf(“*******************************************************************************n”);printf(“

      >>>>>ILLEGAL COPY BANNED<<<<

      按下任意鍵返回主菜單...”);getch();} /***********************************菜單函數(shù)*****************************************/ int menu(){ int i;printf(“nnn

      >>>>>歡迎使用教師工資管理系統(tǒng)Beta1.2<<<<

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

      *

      1.輸入教師信息

      *n”);printf(“

      *

      2.插入教師信息

      *n”);printf(“

      *

      3.修改教師信息

      *n”);printf(“

      *

      4.刪除教師信息

      *n”);printf(“

      *

      5.瀏覽教師信息

      *n”);printf(“

      *

      6.顯示制作人員名單

      *n”);printf(“

      *

      7.退出系統(tǒng)

      *n”);printf(“

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

      請輸入你想要的操作:”);scanf(“%d”,&i);getchar();return i;} /***********************************插入函數(shù)*****************************************/ void input(){ struct teacher *head,*p1,*p2,*p3,*px;int i,t;FILE *fp;char k,n='n',num[30],name[20];p1=p2=p3=px=(struct teacher *)malloc(LEN);if((head=load())!=NULL){

      do

      {

      n='n';

      printf(“

      請輸入要插入的教師信息:n”);

      printf(“

      ------------------------------n”);

      printf(“

      請輸入教工號:”);gets(num);px->num=atoi(num);

      printf(“

      請輸入姓名:”);gets(px->name);

      printf(“

      請輸入性別:”);gets(px->sex);

      printf(“

      請輸入單位名稱:”);gets(px->workplace);

      printf(“

      請輸入家庭住址:”);gets(px->address);

      printf(“

      請輸入聯(lián)系電話:”);gets(num);px->phone=atoi(num);

      printf(“

      請輸入基本工資:”);gets(num);px->de_salary=atof(num);

      printf(“

      請輸入津貼:”);gets(num);px->de_jintie=atof(num);

      printf(“

      請輸入生活補貼:”);gets(num);px->de_shenghuobutie=atof(num);

      printf(“

      請輸入電話費:”);gets(num);px->cost_phone=atof(num);

      printf(“

      請輸入水電費:”);gets(num);px->cost_water_elec=atof(num);

      printf(“

      請輸入房租:”);gets(num);px->cost_rent=atof(num);

      printf(“

      請輸入個人所得稅:”);gets(num);px->cost_tax=atof(num);

      printf(“

      請輸入衛(wèi)生費:”);gets(num);px->cost_weisheng=atof(num);

      printf(“

      請輸入公積金:”);gets(num);px->cost_gongjijin=atof(num);

      px->yingfa_salary=px->de_salary+px->de_jintie+px->de_shenghuobutie;

      px->cost_all=px->cost_phone+px->cost_water_elec+px->cost_rent+px->cost_tax+px->cost_weisheng+px->cost_gongjijin;

      px->shifa_salary=px->yingfa_salary-px->cost_all;

      printf(“

      數(shù)據(jù)輸入完畢,按下任意鍵繼續(xù)...”);getch();

      system(“cls”);

      printf(“nnn

      >>>>>>>>>>> 插入教師信息 <<<<<<<<<<

      printf(“

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

      printf(“

      *

      1.輸入教師號

      *n”);

      printf(“

      *

      2.輸入姓名

      *n”);

      printf(“

      *

      3.返回上級菜單

      *n”);

      printf(“

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

      printf(“

      請選擇插入方式:”);

      scanf(“%d”,&i);getchar();

      while(i<1||i>3)

      {

      printf(“

      輸入有誤!請重新輸入:”);

      scanf(“%d”,&i);getchar();

      }

      switch(i)

      {

      case 1:printf(“

      請輸入要插入在哪條數(shù)據(jù)后面:”);

      scanf(“%d”,&t);getchar();

      p1=head;

      while(p1->num!=t)

      {

      if(p1->next!=NULL)

      { p1=p1->next;

      }

      else

      {

      printf(“

      查找不到相關(guān)數(shù)據(jù)!n”);

      break;

      }

      }

      if(p1->num==t)

      {

      printf(“-----------------------------要插入的信息如下:-n”);

      printf(“教工號

      姓名

      性別

      單位名稱

      家庭住址

      聯(lián)系電話n”);

      printf(“ %-4d %-13s %s

      %-19s %-19s%-14ldn”,px->num,px->name,px->sex,px->workplace,px->address,px->phone);

      printf(“電話費

      水電費

      房租

      個人所得稅

      衛(wèi)生費

      公積金

      合計扣款n”);

      printf(“ %-10.1lf %-10.1lf %-10.1lf %-10.1lf

      %-10.1lf %-10.1lf %-10.1lfn”,px->cost_phone,px->cost_water_elec,px->cost_rent,px->cost_tax,px->cost_weisheng,px->cost_gongjijin,px->cost_all);

      printf(“基本工資

      津貼

      生活補貼

      應(yīng)發(fā)工資

      實發(fā)工資n”);

      printf(“ %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn”,px->de_salary,px->de_jintie,px->de_shenghuobutie,px->yingfa_salary,px->shifa_salary);

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

      printf(“

      確定插入嗎?(y或n):”);

      scanf(“%c”,&k);getchar();

      }

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

      {

      if(p1->num==t)

      {

      if(p1==head)/*如果插入點為頭指針*/

      {

      p3=p1->next;

      p1->next=px;

      px->next=p3;

      p2=head;

      }

      else if(p1->next==NULL)/*如果插入點為末尾指針*/

      {

      p3=p1;p1=head;p2=head;

      while(p1->next!=p3)

      {p1=p1->next;}

      p1=p1->next;

      p1->next=px;

      px->next=NULL;

      }

      else{/*如果插入點為中間指針*/

      p3=p1;p1=head;p2=head;

      while(p1->next!=p3)

      {p1=p1->next;}

      p1=p1->next;

      p3=p1->next;

      px->next=p3;

      p1->next=px;

      }

      if((fp=fopen(“save”,“wb”))==NULL)

      {

      printf(“

      文件不存在!按下任意鍵返回主菜單...”);getch();

      }

      else

      {

      do

      {

      fwrite(p2,LEN-4,1,fp);

      if(p2->next!=NULL)

      p2=p2->next;

      }while(p2->next!=NULL);

      if(p2!=head)

      fwrite(p2,LEN-4,1,fp);

      }fclose(fp);

      printf(“

      插入成功!按下任意鍵繼續(xù)...”);getch();} } else {printf(“

      插入已被取消!按下任意鍵繼續(xù)...”);getch();} break;case 2:printf(“

      請輸入要插入的教師姓名:”);gets(name);p1=head;

      while(strcmp((p1->name),name)!=0)

      {

      if(p1->next!=NULL)

      p1=p1->next;

      else

      {

      printf(“

      查找不到相關(guān)數(shù)據(jù)!n”);

      break;

      }

      }

      if(strcmp((p1->name),name)==0)

      {

      printf(“-----------------------------要插入的信息如下:-n”);

      printf(“教工號

      姓名

      性別

      單位名稱

      家庭住址

      聯(lián)系電話n”);

      printf(“ %-4d %-13s %s

      %-19s %-19s%-14ldn”,p1->num,p1->name,p1->sex,p1->workplace,p1->address,p1->phone);

      printf(“電話費

      水電費

      房租

      個人所得稅

      衛(wèi)生費

      公積金

      合計扣款n”);

      printf(“ %-10.1lf %-10.1lf %-10.1lf %-10.1lf

      %-10.1lf %-10.1lf %-10.1lf n”,p1->cost_phone,p1->cost_water_elec,p1->cost_rent,p1->cost_tax,p1->cost_weisheng,p1->cost_gongjijin,p1->cost_all);

      printf(“基本工資

      津貼

      生活補貼

      應(yīng)發(fā)工資

      實發(fā)工資n”);

      printf(“ %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn”,p1->de_salary,p1->de_jintie,p1->de_shenghuobutie,p1->yingfa_salary,p1->shifa_salary);

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

      printf(“

      確定插入嗎?(y或n):”);

      scanf(“%c”,&k);getchar();

      }

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

      {

      if(strcmp((p1->name),name)==0)

      {

      if(p1==head)/*如果插入點為頭指針*/

      {

      p1->next=px;

      p2=head;

      }

      else if(p1->next==NULL)/*如果插入點為末尾指針*/

      {

      p3=p1;p1=head;p2=head;

      while(p1->next!=p3)

      }

      {p1=p1->next;}

      p1=p1->next;

      p1->next=px;

      px->next=NULL;

      }

      else{/*如果插入點為中間指針*/

      p3=p1;p1=head;p2=head;

      while(p1->next!=p3)

      {p1=p1->next;}

      p1=p1->next;

      p1->next=px;

      p3=p3->next;

      px->next=p3;

      }

      if((fp=fopen(“save”,“wb”))==NULL)

      {

      printf(“

      文件不存在!按下任意鍵返回主菜單...”);getch();

      }

      else

      {

      do

      {

      fwrite(p2,LEN-4,1,fp);

      if(p2->next!=NULL)

      p2=p2->next;

      }while(p2->next!=NULL);

      if(p2!=head)

      fwrite(p2,LEN-4,1,fp);

      }fclose(fp);

      printf(“

      插入成功!按下任意鍵繼續(xù)...”);getch();

      }

      }

      else {printf(“

      插入已被取消!按下任意鍵繼續(xù)...”);getch();}

      break;case 3:break;default :break;} if(i!=3){ printf(“n

      繼續(xù)插入其他教師的信息嗎?(y或n)”);scanf(“%c”,&n);getchar();} }while((n=='y'||n=='Y')&&i!=3);

      printf(“

      數(shù)據(jù)插入成功!按下任意鍵返回主菜單...”);getch();

      getchar();}

      /***********************************輸入函數(shù)*****************************************/ void insert(){ FILE *fp;char m,num[30];

      struct teacher *p1;p1=(struct teacher *)malloc(LEN);if((fp=fopen(“save”,“ab”))==NULL){

      printf(“

      文件不存在!按下任意鍵返回主菜單...”);getch();} else {

      printf(“

      請輸入教師信息:n”);

      do

      {

      printf(“

      ------------------------------n”);

      printf(“

      請輸入教工號:”);gets(num);p1->num=atoi(num);

      printf(“

      請輸入姓名:”);gets(p1->name);

      printf(“

      請輸入性別:”);gets(p1->sex);

      printf(“

      請輸入單位名稱:”);gets(p1->workplace);

      printf(“

      請輸入家庭住址:”);gets(p1->address);

      printf(“

      請輸入聯(lián)系電話:”);gets(num);p1->phone=atoi(num);

      printf(“

      請輸入基本工資:”);gets(num);p1->de_salary=atof(num);

      printf(“

      請輸入津貼:”);gets(num);p1->de_jintie=atof(num);

      printf(“

      請輸入生活補貼:”);gets(num);p1->de_shenghuobutie=atof(num);

      printf(“

      請輸入電話費:”);gets(num);p1->cost_phone=atof(num);

      printf(“

      請輸入水電費:”);gets(num);p1->cost_water_elec=atof(num);

      printf(“

      請輸入房租:”);gets(num);p1->cost_rent=atof(num);

      printf(“

      請輸入個人所得稅:”);gets(num);p1->cost_tax=atof(num);

      printf(“

      請輸入衛(wèi)生費:”);gets(num);p1->cost_weisheng=atof(num);

      printf(“

      請輸入公積金:”);gets(num);p1->cost_gongjijin=atof(num);

      p1->yingfa_salary=p1->de_salary+p1->de_jintie+p1->de_shenghuobutie;

      p1->cost_all=p1->cost_phone+p1->cost_water_elec+p1->cost_rent+p1->cost_tax+p1->cost_weisheng+p1->cost_gongjijin;

      p1->shifa_salary=p1->yingfa_salary-p1->cost_all;

      fwrite(p1,LEN-4,1,fp);

      printf(“

      輸入下一個?(y或n)”);

      m=getchar();

      if(m!='y'&&m!='Y')

      {printf(“

      數(shù)據(jù)保存成功!按下任意鍵返回主菜單...”);getch();}

      getchar();

      }while(m=='y'||m=='Y');} fclose(fp);}

      /***********************************修改函數(shù)*****************************************/ void modify(){ struct teacher *head,*p1,*p2;int i;FILE *fp;char m='n',n='n',num2[30];p1=head=(struct teacher *)malloc(LEN);if((head=load())!=NULL){

      do

      {

      int num=0;

      char name[20];

      p1=head;

      system(“cls”);

      printf(“nnn

      >>>>>>>>>>> 修改教師信息 <<<<<<<<<<

      printf(“

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

      printf(“

      *

      1.輸入教師號

      *n”);

      printf(“

      *

      2.輸入姓名

      *n”);

      printf(“

      *

      3.返回上級菜單

      *n”);

      printf(“

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

      printf(“

      請選擇修改方式:”);

      scanf(“%d”,&i);getchar();

      while(i<1||i>3)

      {

      printf(“

      輸入有誤!請重新輸入:”);

      scanf(“%d”,&i);getchar();

      }

      switch(i)

      {

      case 1:printf(“

      請輸入要修改的教師號:”);

      scanf(“%d”,&num);getchar();

      while(p1->num!=num)

      {

      if(p1->next!=NULL)

      p1=p1->next;

      else

      {

      printf(“

      查找不到相關(guān)數(shù)據(jù)!n”);

      break;

      }

      }

      if(p1->num==num)

      {

      system(“cls”);

      printf(“nnn

      >>>>>歡迎使用教師工資管理系統(tǒng)Beta1.2<<<<

      printf(“---原信息如下:--n”);

      printf(“教工號

      姓名

      性別

      單位名稱

      家庭住址

      聯(lián)系電話n”);

      printf(“ %-4d %-13s %s

      %-19s %-19s%-14ldn”,p1->num,p1->name,p1->sex,p1->workplace,p1->address,p1->phone);

      printf(“電話費

      水電費

      房租

      個人所得稅

      衛(wèi)生費

      公積金

      合計扣款n”);

      printf(“ %-10.1lf %-10.1lf %-10.1lf %-10.1lf

      %-10.1lf %-10.1lf %-10.1lfn”,p1->cost_phone,p1->cost_water_elec,p1->cost_rent,p1->cost_tax,p1->cost_weisheng,p1->cost_gongjijin,p1->cost_all);

      printf(“基本工資

      津貼

      生活補貼

      應(yīng)發(fā)工資

      實發(fā)工資n”);

      printf(“ %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn”,p1->de_salary,p1->de_jintie,p1->de_shenghuobutie,p1->yingfa_salary,p1->shifa_salary);

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

      printf(“

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

      printf(“

      *

      1.教師號

      2.姓名

      *n”);

      printf(“

      *

      3.性別

      4.單位名稱

      *n”);

      printf(“

      *

      5.家庭住址

      6.聯(lián)系電話

      *n”);

      printf(“

      *

      7.基本工資

      8.津貼

      *n”);

      printf(“

      *

      9.生活補貼

      10.電話費

      *n”);

      printf(“

      *

      11.水電費

      12.房租

      *n”);

      printf(“

      *

      13.所得稅

      14.衛(wèi)生費

      *n”);

      printf(“

      *

      15.公積金

      *n”);

      printf(“

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

      do

      {

      printf(“

      請選擇要修改的數(shù)據(jù):”);

      scanf(“%d”,&i);getchar();

      while(i>15||i<1)

      {

      printf(“

      輸入有誤!請重新輸入:”);

      scanf(“%d”,&i);getchar();

      }

      switch(i)

      {

      case 1:printf(“

      請輸入新教師號:”);gets(num2);p1->num=atoi(num2);break;

      case 2:printf(“

      請輸入新姓名:”);gets(p1->name);break;

      case 3:printf(“

      請輸入新性別:”);gets(p1->sex);break;

      case 4:printf(“

      請輸入新單位名稱:”);gets(p1->workplace);break;

      case 5:printf(“

      請輸入新家庭住址:”);gets(p1->address);break;

      case 6:printf(“

      請輸入新聯(lián)系電話:”);gets(num2);p1->phone=atoi(num2);break;

      case 7:printf(“

      請輸入新基本工資:”);gets(num2);p1->de_salary=atof(num2);break;

      case 8:printf(“

      請輸入新津貼:”);gets(num2);p1->de_jintie=atof(num2);break;

      case 9:printf(“

      請輸入新生活補貼:”);gets(num2);p1->de_shenghuobutie=atof(num2);break;

      case 10:printf(“

      請輸入新電話費:”);gets(num2);p1->cost_phone=atof(num2);break;

      case 11:printf(“

      請輸入新水電費:”);gets(num2);p1->cost_water_elec=atof(num2);break;

      case 12:printf(“

      請輸入新房租:”);gets(num2);p1->cost_rent=atof(num2);break;

      case 13:printf(“

      請輸入新所得稅:”);gets(num2);p1->cost_tax=atof(num2);break;

      case 14:printf(“

      請輸入新衛(wèi)生費:”);gets(num2);p1->cost_weisheng=atof(num2);break;

      case 15:printf(“

      請輸入新公積金:”);gets(num2);p1->cost_gongjijin=atof(num2);break;

      default:break;

      }

      p1->yingfa_salary=p1->de_salary+p1->de_jintie+p1->de_shenghuobutie;

      p1->cost_all=p1->cost_phone+p1->cost_water_elec+p1->cost_rent+p1->cost_tax+p1->cost_weisheng+p1->cost_gongjijin;

      p1->shifa_salary=p1->yingfa_salary-p1->cost_all;

      printf(“

      繼續(xù)修改其他數(shù)據(jù)嗎?(y或n):”);

      scanf(“%c”,&m);getchar();

      }while(m=='y'||m=='Y');

      p2=head;

      if((fp=fopen(“save”,“wb”))==NULL)

      {

      printf(“

      文件不存在!按下任意鍵返回主菜單...”);getch();

      }

      else

      {

      fwrite(head,LEN-4,1,fp);

      do

      {

      p2=p2->next;

      fwrite(p2,LEN-4,1,fp);

      }while(p2->next!=NULL);

      printf(“------------------------------修改后數(shù)據(jù)如下:--n”);

      printf(“教工號

      姓名

      性別

      單位名稱

      家庭住址

      聯(lián)系電話n”);

      printf(“ %-4d %-13s %s

      %-19s %-19s%-14ldn”,p1->num,p1->name,p1->sex,p1->workplace,p1->address,p1->phone);

      printf(“電話費

      水電費

      房租

      個人所得稅

      衛(wèi)生費

      公積金

      合計扣款n”);

      printf(“ %-10.1lf %-10.1lf %-10.1lf %-10.1lf

      %-10.1lf %-10.1lf %-10.1lf n”,p1->cost_phone,p1->cost_water_elec,p1->cost_rent,p1->cost_tax,p1->cost_weisheng,p1->cost_gongjijin,p1->cost_all);

      printf(“基本工資

      津貼

      生活補貼

      應(yīng)發(fā)工資

      實發(fā)工資n”);

      printf(“ %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn”,p1->de_salary,p1->de_jintie,p1->de_shenghuobutie,p1->yingfa_salary,p1->shifa_salary);

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

      }

      fclose(fp);

      }

      break;

      case 2:printf(“

      請輸入要修改的教師姓名:”);

      gets(name);

      while(strcmp(p1->name,name)!=0)

      {

      if(p1->next!=NULL)

      p1=p1->next;

      else

      {

      printf(“

      查找不到相關(guān)數(shù)據(jù)!n”);

      break;

      }

      }

      if(strcmp(p1->name,name)==0)

      {

      system(“cls”);

      printf(“nnn

      >>>>>歡迎使用教師工資管理系統(tǒng)Beta1.2<<<<

      printf(“---原信息如下:--n”);

      printf(“教工號

      姓名

      性別

      單位名稱

      家庭住址

      聯(lián)系電話n”);

      printf(“ %-4d %-13s %s

      %-19s %-19s%-14ldn”,p1->num,p1->name,p1->sex,p1->workplace,p1->address,p1->phone);

      printf(“電話費

      水電費

      房租

      個人所得稅

      衛(wèi)生費

      公積金

      合計扣款n”);

      printf(“ %-10.1lf %-10.1lf %-10.1lf %-10.1lf

      %-10.1lf %-10.1lf %-10.1lf n”,p1->cost_phone,p1->cost_water_elec,p1->cost_rent,p1->cost_tax,p1->cost_weisheng,p1->cost_gongjijin,p1->cost_all);

      printf(“基本工資

      津貼

      生活補貼

      應(yīng)發(fā)工資

      實發(fā)工資n”);

      printf(“ %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn”,p1->de_salary,p1->de_jintie,p1->de_shenghuobutie,p1->yingfa_salary,p1->shifa_salary);

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

      printf(“

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

      printf(“

      *

      1.教師號

      2.姓名

      *n”);

      printf(“

      *

      3.性別

      4.單位名稱

      *n”);

      printf(“

      *

      5.家庭住址

      6.聯(lián)系電話

      *n”);

      printf(“

      *

      7.基本工資

      8.津貼

      *n”);

      printf(“

      *

      9.生活補貼

      10.電話費

      *n”);

      printf(“

      *

      11.水電費

      12.房租

      *n”);

      printf(“

      *

      13.所得稅

      14.衛(wèi)生費

      *n”);

      printf(“

      *

      15.公積金

      *n”);

      printf(“

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

      do

      {

      printf(“

      請選擇要修改的數(shù)據(jù):”);

      scanf(“%d”,&i);getchar();

      while(i>15||i<1)

      {

      printf(“

      輸入有誤!請重新輸入:”);

      scanf(“%d”,&i);getchar();

      }

      switch(i)

      {

      case 1:printf(“

      請輸入新教師號:”);gets(num2);p1->num=atoi(num2);break;

      case 2:printf(“

      請輸入新姓名:”);gets(p1->name);break;

      case 3:printf(“

      請輸入新性別:”);gets(p1->sex);break;

      case 4:printf(“

      請輸入新單位名稱:”);gets(p1->workplace);break;

      case 5:printf(“

      請輸入新家庭住址:”);gets(p1->address);break;

      case 6:printf(“

      請輸入新聯(lián)系電話:”);gets(num2);p1->phone=atoi(num2);break;

      case 7:printf(“

      請輸入新基本工資:”);gets(num2);p1->de_salary=atof(num2);break;

      case 8:printf(“

      請輸入新津貼:”);gets(num2);p1->de_jintie=atof(num2);break;

      case 9:printf(“

      請輸入新生活補貼:”);gets(num2);p1->de_shenghuobutie=atof(num2);break;

      case 10:printf(“

      請輸入新電話費:”);gets(num2);p1->cost_phone=atof(num2);break;

      case 11:printf(“

      請輸入新水電費:”);gets(num2);p1->cost_water_elec=atof(num2);break;

      case 12:printf(“

      請輸入新房租:”);gets(num2);p1->cost_rent=atof(num2);break;

      case 13:printf(“

      請輸入新所得稅:”);gets(num2);p1->cost_tax=atof(num2);break;

      case 14:printf(“

      請輸入新衛(wèi)生費:”);gets(num2);p1->cost_weisheng=atof(num2);break;

      case 15:printf(“

      請輸入新公積金:”);gets(num2);p1->cost_gongjijin=atof(num2);break;

      default:break;

      }

      p1->yingfa_salary=p1->de_salary+p1->de_jintie+p1->de_shenghuobutie;

      p1->cost_all=p1->cost_phone+p1->cost_water_elec+p1->cost_rent+p1->cost_tax+p1->cost_weisheng+p1->cost_gongjijin;

      p1->shifa_salary=p1->yingfa_salary-p1->cost_all;

      printf(“

      繼續(xù)修改其他數(shù)據(jù)嗎?(y或n):”);

      scanf(“%c”,&m);getchar();

      }while(m=='y'||m=='Y');

      p2=head;

      if((fp=fopen(“save”,“wb”))==NULL)

      {

      printf(“

      文件不存在!按下任意鍵返回主菜單...”);getch();

      }

      else

      {

      fwrite(head,LEN-4,1,fp);

      do

      {

      p2=p2->next;

      fwrite(p2,LEN-4,1,fp);

      }while(p2->next!=NULL);

      printf(“------------------------------修改后數(shù)據(jù)如下:--n”);

      printf(“教工號

      姓名

      性別

      單位名稱

      家庭住址

      聯(lián)系電話n”);

      printf(“ %-4d %-13s %s

      %-19s %-19s%-14ldn”,p1->num,p1->name,p1->sex,p1->workplace,p1->address,p1->phone);

      printf(“電話費

      水電費

      房租

      個人所得稅

      衛(wèi)生費

      公積金

      合計扣款n”);

      printf(“ %-10.1lf %-10.1lf %-10.1lf %-10.1lf

      %-10.1lf %-10.1lf %-10.1lf n”,p1->cost_phone,p1->cost_water_elec,p1->cost_rent,p1->cost_tax,p1->cost_weisheng,p1->cost_gongjijin,p1->cost_all);

      printf(“基本工資

      津貼

      生活補貼

      應(yīng)發(fā)工資

      實發(fā)工資n”);

      printf(“ %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn”,p1->de_salary,p1->de_jintie,p1->de_shenghuobutie,p1->yingfa_salary,p1->shifa_salary);

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

      }

      fclose(fp);

      }

      break;

      case 3:break;

      default :break;

      }

      if(i!=3)

      {

      printf(“n

      繼續(xù)修改其他教師的信息嗎?(y或n)”);

      scanf(“%c”,&n);

      }

      }while((n=='y'||n=='Y')&&i!=3);} }

      /***********************************刪除函數(shù)*****************************************/ void deletes(){ struct teacher *head,*p1,*p2,*p3;int i;char k;FILE *fp;char n='n';p1=p2=p3=(struct teacher *)malloc(LEN);if((head=load())!=NULL){

      do

      {

      int num;

      char name[20];

      p1=head;

      system(“cls”);

      printf(“nnn

      >>>>>>>>>>> 刪除教師信息 <<<<<<<<<<

      printf(“

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

      printf(“

      *

      1.輸入教師號

      *n”);

      printf(“

      *

      2.輸入姓名

      *n”);

      printf(“

      *

      3.返回上級菜單

      *n”);

      printf(“

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

      printf(“

      請選擇刪除方式:”);

      scanf(“%d”,&i);getchar();

      while(i<1||i>3)

      {

      printf(“

      輸入有誤!請重新輸入:”);

      scanf(“%d”,&i);getchar();

      }

      switch(i)

      {

      case 1:printf(“

      請輸入要刪除的信息的教師號:”);

      scanf(“%d”,&num);getchar();

      while(p1->num!=num)

      {

      if(p1->next!=NULL)

      p1=p1->next;

      else

      {

      printf(“

      查找不到相關(guān)數(shù)據(jù)!n”);

      break;

      }

      }

      if(p1->num==num)

      {

      printf(“-----------------------------要刪除的信息如下:-n”);

      printf(“教工號

      姓名

      性別

      單位名稱

      家庭住址

      聯(lián)系電話n”);

      printf(“ %-4d %-13s %s

      %-19s %-19s%-14ldn”,p1->num,p1->name,p1->sex,p1->workplace,p1->address,p1->phone);

      printf(“電話費

      水電費

      房租

      個人所得稅

      衛(wèi)生費

      公積金

      合計扣款n”);

      printf(“ %-10.1lf %-10.1lf %-10.1lf %-10.1lf

      %-10.1lf %-10.1lf %-10.1lfn”,p1->cost_phone,p1->cost_water_elec,p1->cost_rent,p1->cost_tax,p1->cost_weisheng,p1->cost_gongjijin,p1->cost_all);

      printf(“基本工資

      津貼

      生活補貼

      應(yīng)發(fā)工資

      實發(fā)工資n”);

      printf(“ %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn”,p1->de_salary,p1->de_jintie,p1->de_shenghuobutie,p1->yingfa_salary,p1->shifa_salary);

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

      printf(“

      確定刪除嗎?(y或n):”);scanf(“%c”,&k);getchar();} if(k=='y'||k=='Y'){ if(p1->num==num){ if(p1==head){

      p1=p1->next;

      p2=p1;} else if(p1->next==NULL)

      {

      p3=p1;p1=head;p2=head;

      while(p1->next!=p3)

      {p1=p1->next;}

      p1->next=NULL;

      }

      else{

      p2=head;p3=p1;p1=head;

      while(p1->next!=p3)

      {p1=p1->next;}

      p3=p3->next;

      p1->next=p3;

      }

      if((fp=fopen(“save”,“wb”))==NULL){

      printf(“

      文件不存在!按下任意鍵返回主菜單...”);getch();} else { do {

      fwrite(p2,LEN-4,1,fp);

      if(p2->next!=NULL)

      p2=p2->next;

      }while(p2->next!=NULL);if(p2!=head)

      fwrite(p2,LEN-4,1,fp);}fclose(fp);printf(“

      刪除成功!按下任意鍵繼續(xù)...”);getch();} }

      else {printf(“

      刪除已被取消!按下任意鍵繼續(xù)...”);getch();}

      break;

      case 2:printf(“

      請輸入要修改的教師姓名:”);

      gets(name);

      while(strcmp((p1->name),name)!=0)

      {

      if(p1->next!=NULL)

      p1=p1->next;

      else

      {

      printf(“

      查找不到相關(guān)數(shù)據(jù)!n”);

      break;

      }

      }

      if(strcmp((p1->name),name)==0)

      {

      printf(“-----------------------------要刪除的信息如下:-n”);

      printf(“教工號

      姓名

      性別

      單位名稱

      家庭住址

      聯(lián)系電話n”);

      printf(“ %-4d %-13s %s

      %-19s %-19s%-14ldn”,p1->num,p1->name,p1->sex,p1->workplace,p1->address,p1->phone);

      printf(“電話費

      水電費

      房租

      個人所得稅

      衛(wèi)生費

      公積金

      合計扣款n”);

      printf(“ %-10.1lf %-10.1lf %-10.1lf %-10.1lf

      %-10.1lf %-10.1lf %-10.1lf n”,p1->cost_phone,p1->cost_water_elec,p1->cost_rent,p1->cost_tax,p1->cost_weisheng,p1->cost_gongjijin,p1->cost_all);

      printf(“基本工資

      津貼

      生活補貼

      應(yīng)發(fā)工資

      實發(fā)工資n”);

      printf(“ %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn”,p1->de_salary,p1->de_jintie,p1->de_shenghuobutie,p1->yingfa_salary,p1->shifa_salary);

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

      printf(“

      確定刪除嗎?(y或n):”);

      scanf(“%c”,&k);getchar();

      }

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

      {

      if(strcmp((p1->name),name)==0)

      {

      if(p1==head)

      {

      p1=p1->next;

      p2=p1;

      }

      }

      else if(p1->next==NULL)

      {

      p3=p1;p1=head;p2=head;

      while(p1->next!=p3)

      {p1=p1->next;}

      p1->next=NULL;

      }

      else{

      p2=head;p3=p1;p1=head;

      while(p1->next!=p3)

      {p1=p1->next;}

      p3=p3->next;

      p1->next=p3;

      }

      if((fp=fopen(“save”,“wb”))==NULL)

      {

      printf(“

      文件不存在!按下任意鍵返回主菜單...”);getch();

      }

      else

      {

      do

      {

      fwrite(p2,LEN-4,1,fp);

      if(p2->next!=NULL)

      p2=p2->next;

      }while(p2->next!=NULL);

      if(p2!=head)

      fwrite(p2,LEN-4,1,fp);

      }fclose(fp);

      printf(“

      刪除成功!按下任意鍵繼續(xù)...”);getch();

      }

      }

      else {printf(“

      刪除已被取消!按下任意鍵繼續(xù)...”);getch();}

      break;case 3:break;default :break;} if(i!=3){ printf(“n

      繼續(xù)刪除其他教師的信息嗎?(y或n)”);scanf(“%c”,&n);} }while((n=='y'||n=='Y')&&i!=3);}

      /***********************************瀏覽函數(shù)*****************************************/ void scan(){ struct teacher *head,*p1;int i;char m='n';p1=head=(struct teacher *)malloc(LEN);if((head=load())!=NULL){

      system(“cls”);

      printf(“nnn

      >>>>>>>>>>> 瀏覽教師信息 <<<<<<<<<<

      printf(“

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

      printf(“

      *

      1.全部瀏覽

      *n”);

      printf(“

      *

      2.單個瀏覽

      *n”);

      printf(“

      *

      3.返回上級菜單

      *n”);

      printf(“

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

      printf(“

      請輸入你想要的操作:”);

      scanf(“%d”,&i);getchar();

      while(i<1||i>3)

      {

      printf(“

      輸入有誤!請重新輸入:”);

      scanf(“%d”,&i);getchar();

      }

      switch(i)

      {

      case 1:p1=head;

      printf(“----------------------------所有保存的信息如下:n”);

      printf(“教工號

      姓名

      性別

      單位名稱

      家庭住址

      聯(lián)系電話n”);

      do

      {

      printf(“ %-4d %-13s %s

      %-19s %-19s%-14ld”,p1->num,p1->name,p1->sex,p1->workplace,p1->address,p1->phone);

      if(p1->next!=NULL)

      {p1=p1->next;}

      else break;

      }while(1);

      p1=head;

      printf(“電話費

      水電費

      房租

      個人所得稅

      衛(wèi)生費

      公積金

      合計扣款n”);

      do

      {

      printf(“ %-10.1lf %-10.1lf %-10.1lf %-10.1lf

      %-10.1lf %-10.1lf %-10.1lf ”,p1->cost_phone,p1->cost_water_elec,p1->cost_rent,p1->cost_tax,p1->cost_weisheng,p1->cost_gongjijin,p1->cost_all);

      if(p1->next!=NULL)

      {p1=p1->next;}

      else break;

      }while(1);

      p1=head;

      printf(“基本工資

      津貼

      生活補貼

      應(yīng)發(fā)工資

      實發(fā)工資n”);

      do

      {

      printf(“ %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lf n”,p1->de_salary,p1->de_jintie,p1->de_shenghuobutie,p1->yingfa_salary,p1->shifa_salary);

      if(p1->next!=NULL)

      {p1=p1->next;}

      else break;

      }while(1);

      p1=head;

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

      printf(“

      按下任意鍵返回主菜單...”);

      getch();

      break;

      case 2:

      do

      {

      int num=0;

      char name[20];

      p1=head;

      system(“cls”);

      printf(“nnn

      >>>>>>>>>>> 瀏覽教師信息 <<<<<<<<<<

      printf(“

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

      printf(“

      *

      1.輸入教師號

      *n”);

      printf(“

      *

      2.輸入姓名

      *n”);

      printf(“

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

      printf(“

      請輸入你想要的操作:”);

      scanf(“%d”,&i);getchar();

      while(i<1||i>2)

      {

      printf(“

      輸入有誤!請重新輸入:”);

      scanf(“%d”,&i);getchar();

      }

      switch(i)

      {

      case 1:printf(“

      請輸入要查詢的教師號:”);

      scanf(“%d”,&num);getchar();

      while(p1->num!=num)

      {

      if(p1->next!=NULL)

      p1=p1->next;

      else

      {

      printf(“

      查找不到相關(guān)數(shù)據(jù)!n”);

      break;

      }

      }

      if(p1->num==num)

      {

      printf(“所查信息如下:---n”);

      printf(“教工號

      姓名

      性別

      單位名稱

      家庭住址

      聯(lián)系電話n”);

      printf(“ %-4d %-13s %s

      %-19s %-19s%-14ldn”,p1->num,p1->name,p1->sex,p1->workplace,p1->address,p1->phone);

      printf(“電話費

      水電費

      房租

      個人所得稅

      衛(wèi)生費

      公積金

      合計扣款n”);

      printf(“ %-10.1lf %-10.1lf %-10.1lf %-10.1lf

      %-10.1lf %-10.1lf %-10.1lf n”,p1->cost_phone,p1->cost_water_elec,p1->cost_rent,p1->cost_tax,p1->cost_weisheng,p1->cost_gongjijin,p1->cost_all);

      printf(“基本工資

      津貼

      生活補貼

      應(yīng)發(fā)工資

      實發(fā)工資n”);

      printf(“ %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn”,p1->de_salary,p1->de_jintie,p1->de_shenghuobutie,p1->yingfa_salary,p1->shifa_salary);

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

      }

      break;

      case 2:printf(“

      請輸入要查詢的教師姓名:”);

      gets(name);

      while(strcmp(p1->name,name)!=0)

      {

      if(p1->next!=NULL)

      p1=p1->next;

      else

      {

      printf(“

      查找不到相關(guān)數(shù)據(jù)!n”);

      break;

      }

      }

      if(strcmp(p1->name,name)==0)

      {

      printf(“所查信息如下:---n”);

      printf(“教工號

      姓名

      性別

      單位名稱

      家庭住址

      聯(lián)系電話n”);

      printf(“ %-4d %-13s %s

      %-19s %-19s%-14ldn”,p1->num,p1->name,p1->sex,p1->workplace,p1->address,p1->phone);

      printf(“電話費

      水電費

      房租

      個人所得稅

      衛(wèi)生費

      公積金

      合計扣款n”);

      printf(“ %-10.1lf %-10.1lf %-10.1lf %-10.1lf

      %-10.1lf %-10.1lf %-10.1lf n”,p1->cost_phone,p1->cost_water_elec,p1->cost_rent,p1->cost_tax,p1->cost_weisheng,p1->cost_gongjijin,p1->cost_all);

      printf(“基本工資

      津貼

      生活補貼

      應(yīng)發(fā)工資

      實發(fā)工資n”);

      printf(“ %-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lfn”,p1->de_salary,p1->de_jintie,p1->de_shenghuobutie,p1->yingfa_salary,p1->shifa_salary);

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

      }

      break;

      default :break;

      }

      printf(“

      繼續(xù)瀏覽嗎?(y或n)”);

      scanf(“%c”,&m);

      }while(m=='y'||m=='Y');

      case 3:break;

      } } }

      /***********************************主函數(shù)*****************************************/ void main(){ int a=1;welcome();while(1){

      system(“cls”);

      a=menu();switch(a){ case 1:insert();break;

      } case 2:input();break;case 3:modify();break;case 4:deletes();break;case 5:scan();break;case 6:list();break;case 7:printf(“

      歡迎下次使用!”);getch();exit(0);break;default :printf(“

      輸入有誤,請重新輸入!”);getch();break;} } getch();

      第四篇:vb課程設(shè)計 職工工資管理系統(tǒng)代碼

      Form1: Dim errorCount As Integer Private Sub Command1_Click()If Text1.Text = “system” And Text2.Text = “1234” Then

      Load Form2

      Form2.Show

      Me.Hide

      MsgBox “登陸成功,歡迎您進入職工工資管理系統(tǒng)”, vbInformation, “登陸成功”

      Else

      errorCount = errorCount + 1

      If errorCount < 3 Then

      MsgBox “用戶名或密碼錯誤(第” & errorCount & “次)!”, vbOKOnly + vbExclamation, “登陸失敗”

      Text1.SetFocus

      End If

      If errorCount >= 3 Then

      Text1.Enabled = False

      Text2.Enabled = False

      Command1.Enabled = False

      MsgBox “三次輸入用戶名或密碼錯誤,程序?qū)⒆詣油顺觯 ? vbOKOnly + vbExclamation, “登陸失敗”

      End

      End If End If

      End Sub

      Private Sub Command2_Click()Unload Me End Sub

      Private Sub Form_Load()errorCount = 0 End Sub

      Private Sub Form_Unload(Cancel As Integer)If MsgBox(“是否要退出程序?”, vbYesNo, “退出提示”)= vbNo Then

      Cancel = 1 End If End Sub

      For i = 1 To jlNum

      ygList(i).shifagongzi =(CSng(ygList(i).jibengz)+ ygList(i).gerensui

      CSng(ygList(i).jingtie)

      ygList(y).shifagongzi = ygList(zuishao).shifagongzi ygList(zuishao).shifagongzi = linShi.shifagongzi End If Next loadData End Sub

      Private Sub Command5_Click()Dim linShi As YuanGong

      linShi.ygnamg = InputBox(“請輸入要添加的姓名”, “添加員工-姓名錄入”)If Len(Trim(linShi.ygnamg))> 0 Then

      linShi.jibengz = InputBox(“請輸入添加員工的基本工資”, “添加員工-基本工資錄入”)

      If Len(Trim(linShi.jibengz))> 0 Then

      linShi.jingtie = InputBox(“請輸入添加員工的津貼”, “添加員工-津貼錄入”)

      If Len(Trim(linShi.jingtie))> 0 Then

      linShi.gerensui = InputBox(“請輸入添加員工的個人所得稅”, “添加員工-個稅錄入”)

      If Len(Trim(linShi.gerensui))> 0 Then

      linShi.suidianfei = InputBox(“請輸入添加員工的水電費”, “添加員工-水電費錄入”)

      If Len(Trim(linShi.suidianfei))> 0 Then

      Open filedir For Append As #1

      Write #1, linShi.ygnamg;linShi.jibengz;linShi.jingtie;linShi.gerensui;linShi.suidianfei

      Close #1

      MsgBox “添加員工成功!”, vbOKOnly + vbInformation, “成功”

      jlNum = 0 If Len(Trim(filedir))> 0 Then

      Open filedir For Input As #1

      Do While Not EOF(1)

      Line Input #1, a

      If Len(Trim(a))> 0 Then

      jlNum = jlNum + 1

      End If

      Loop

      Close #1

      ReDim Preserve ygList(jlNum)As YuanGong

      jlNum = 0

      Open filedir For Input As #1

      Do While Not EOF(1)

      jlNum = jlNum + 1

      Input #1, ygList(jlNum).ygnamg

      Input #1, ygList(jlNum).jibengz

      Input #1, ygList(jlNum).jingtie

      Next

      Close #1

      MsgBox “刪除員工成功!”, vbOKOnly + vbInformation, “成功”

      jlNum = 0 If Len(Trim(filedir))> 0 Then

      Open filedir For Input As #1

      Do While Not EOF(1)

      Line Input #1, a

      If Len(Trim(a))> 0 Then

      jlNum = jlNum + 1

      End If

      Loop

      Close #1

      ReDim ygList(jlNum)As YuanGong

      jlNum = 0

      Open filedir For Input As #1

      Do While Not EOF(1)

      jlNum = jlNum + 1

      Input #1, ygList(jlNum).ygnamg

      Input #1, ygList(jlNum).jibengz

      Input #1, ygList(jlNum).jingtie

      Input #1, ygList(jlNum).gerensui

      Input #1, ygList(jlNum).suidianfei

      Loop

      Close #1

      loadData

      Command2.Enabled = True

      Command3.Enabled = False

      Command4.Enabled = False

      Command5.Enabled = True

      Command6.Enabled = True End If

      Text1.Text = “姓名” & vbTab & “工資” & vbTab & “津貼” & vbTab & “所得稅” & vbTab & “水電費” & vbCrLf

      For i = 1 To jlNum

      Text1.Text = Text1.Text & ygList(i).ygnamg & vbTab & ygList(i).jibengz & vbTab & ygList(i).jingtie & vbTab & ygList(i).gerensui & vbTab & ygList(i).suidianfei & vbCrLf

      Next Else

      MsgBox “刪除員工失??!”, vbOKOnly + vbExclamation, “失敗” End If End Sub

      Private Sub Command7_Click()

      第五篇:C語言程序設(shè)計考試系統(tǒng)

      《C語言程序設(shè)計》考試系統(tǒng)

      C language progamme design examination system

      馬國富

      劉波

      (安陽工學院 計算機工程系,河南 安陽455000)

      Ma GuoFu,liu bo

      (Department of Computer Engineering,Anyang Institute of Technology,Anyang 455000)

      一:摘要

      這一考試系統(tǒng)是一種計算機輔助教學軟件,它包括教學模式,練習模式,考試模式。采用調(diào)用數(shù)據(jù)庫的方式打開,可以實現(xiàn)隨機選題和指定選題,而不是固定的試題。解決了由于教材更新和題庫更新導(dǎo)致教學軟件過時。大大提高了軟件的利用價值,打破了教學軟件內(nèi)容的固化,其次三種工作模式極大地拓寬了軟件的使用范圍,不再是單一的教師教學軟件或?qū)W生考試軟件??筛鶕?jù)教學需要靈活地選擇不同模式,同時少作修改即可用于其它課程。

      系統(tǒng)解決了在多媒體教學中出現(xiàn)的模式僵化,內(nèi)容固化的問題。更新教學內(nèi)容只需建立一個新的數(shù)據(jù)源實現(xiàn)連接即可。

      Abstract

      The test system of the principle is a Computer extended education software, and this course is also the compulsory course in High etc.school.This system include Teaching mode.Practice mode Examination mode.You can use database open the examination database That is to say the content is up to you or at random.It is the revolution of test system This is the main reason we develop it.二:關(guān)鍵詞

      考試系統(tǒng)、多媒體技術(shù)、數(shù)據(jù)源、連接數(shù)據(jù)庫

      keyword examination system、multimedia technology、data soure、connection of database 三:課題研究的意義和目的

      安陽工學院計科系畢業(yè)論文 2 3.1研究意義

      現(xiàn)在,多媒體技術(shù)日趨成熟,多媒體系統(tǒng)以其能輸出精彩的圖形和圖像、美妙的聲音、動感的畫面贏得了用戶和社會各界廣泛的關(guān)注和應(yīng)用。如果把按傳統(tǒng)考試方式同現(xiàn)代化的多媒體技術(shù)相結(jié)合,并且用多媒體著作工具及其它多媒體技術(shù),編制一套符合高??荚囆枨蟮南到y(tǒng)及其配套的多媒體教學軟件,利用多媒體技術(shù)生動、直觀、形象展示信息的特點,輔助教師授課和學生進行考試,尤其對部分有限制性的實驗環(huán)節(jié),可利用活動視頻技術(shù)進行展示,這將會解決一系列目前存在的問題。總之,該課題是在計算機輔助教學及考試上進行的一次積極有意義的嘗試,為其他實踐性較強的課程進行多媒體輔助教學開辟一條新的路子,具有一定的理論和現(xiàn)實意義。

      3.2目 的

      傳統(tǒng)的考試手段主要依靠有紙試卷,幾乎沒有可重用性。本課題將實現(xiàn):用計算機輔助考試系統(tǒng),把多媒體生動、直觀的顯示出來,使學生不再將考試視為一種枯燥無味的東西,提高了考試效果,使學生在一種愉悅的心情中進行考試,把枯燥的重復(fù)變?yōu)槌錆M樂趣、具有啟發(fā)性的考試過程,使學生能比較全面的學習知識,掌握技能,達到素質(zhì)教育的要求。

      四:系統(tǒng)流程圖設(shè)計

      4.1 初始化流程設(shè)計

      在使用Authorware創(chuàng)建任何多媒體項目的時候,都應(yīng)該先設(shè)置當前項目文件的窗口大小,將其設(shè)置為“800×600”,然后選擇“演示居中屏幕”,同時取消對“顯示標題欄”和“顯示菜單欄”復(fù)選框的選擇。

      4.2 主界面的設(shè)計

      本界面采用了Photoshop7.0圖形圖像處理軟件來繪制。為了避免界面的單調(diào)和呆板,用蒙版和濾鏡技術(shù)加以美化。該界面把Photoshop中的圖層技術(shù)、圖層蒙版技術(shù)、文字效果及濾鏡等功能完美的結(jié)合了起來。并且在底部設(shè)置了一個Flash動畫,增加視覺效果。

      4.3背景音樂的交互控制

      該多媒體教學以MIDI作為背景音樂,背景音樂的交互控制包括背景音樂的隨機選曲播放、停止等功能,另外當該教學程序處于活動狀態(tài)時,能夠隨時調(diào)整背景音樂和講解聲音的大小及比例,讓使用者在一種輕松悅耳的環(huán)境中考試(調(diào)出WINDOWS的音量控制實現(xiàn)),還能夠暫停背景音樂,當再次進入活動狀態(tài)時則能重新播放背景音樂。

      為了充分考慮用戶計算機的不同配置情況,首先利用BUDAPI.U32的BASOUNDCARD函數(shù)判斷用戶機器是否已經(jīng)安裝了聲卡,如果已經(jīng)安裝則執(zhí)行背景音樂播放,否則不允許播放任何背景音樂操作.安陽工學院計科系畢業(yè)論文 3 程序如下:

      IF BASOUNDCARD()THEN MIDI:=1 TEST(MIDI,MIDILOOP(FILELOCATION^”MUSICMUSIC-”^RANDOM(1,5,1)^”.MID”),STOPMIDI())END IF 軟件中的背景音樂交互控制是通過交互響應(yīng)來實現(xiàn)的。在程序執(zhí)行過程中,用戶始終可以通過按鈕控制背景音樂的播放與暫停。在計算圖標“播放音樂”后添加一交互圖標并命名為“音樂控制”,并在交互圖標右邊添加三個計算分支。設(shè)置“STOP/PLAY”分支為按鈕響應(yīng)交互,其功能是實現(xiàn)對背景音樂的控制。由于在整個程序執(zhí)行過程中它都是有效的,因此須設(shè)置其為永久按鈕,即選擇“PERPETUAL”屬性選項,同時設(shè)置“ACTIVE IF”條件為:BASOUNDCARD(),即檢測到用戶沒有安裝聲卡的情況下該按鈕及響應(yīng)分支無效。

      4.4內(nèi)容的導(dǎo)航設(shè)計

      該多媒體教學涉及內(nèi)容繁多,不僅包括文本、圖片、聲音和動畫,而且還有其它多媒體工具與Authorware 配合,同時,還把視頻文件導(dǎo)入,以增加實用性。為使用戶操作簡單方便,設(shè)計了合理的教學內(nèi)容導(dǎo)航。主文件與各章節(jié)之間的導(dǎo)航設(shè)計根據(jù)結(jié)構(gòu)規(guī)劃中的該章節(jié)內(nèi)容的欄目劃分,在流程設(shè)計中為這些欄目設(shè)計了導(dǎo)航,如圖1為主程序內(nèi)容導(dǎo)航的設(shè)計流程圖。

      圖1 主程序內(nèi)容導(dǎo)航

      這樣的流程設(shè)計使整個主程序結(jié)構(gòu)清晰,可讀性強。由于該文件結(jié)構(gòu)是主-分結(jié)構(gòu),即主文件調(diào)用各章節(jié)模塊文件的方式,因此在主文件的章節(jié)內(nèi)容中實際存放的是一個起鏈接橋梁作用的調(diào)用腳

      安陽工學院計科系畢業(yè)論文 4 本,而具體的考試試題題型內(nèi)容則放在各章節(jié)的模塊文件內(nèi)。

      4.5各模塊的內(nèi)容流程設(shè)計

      圖中的考試模式、練習模式、教學模式及退出系統(tǒng)這四部分主要程序流程圖如下圖

      2、圖

      3、圖

      4、圖5所示。

      圖2

      安陽工學院計科系畢業(yè)論文 5

      圖3

      圖4

      圖5

      安陽工學院計科系畢業(yè)論文 6 看每題的回答情況.最后回到選題主界面,并把學生所做的答案成績保存到數(shù)據(jù)庫中。

      當用戶在主界面中,選擇了“考試模式”后,系統(tǒng)就會進入到登錄界面系統(tǒng)會提示輸入用戶名和密碼,當輸入后,點擊“確定”后,系統(tǒng)將會進入到題型選擇界面。在提示框中輸入用戶名和密碼,我們點擊“確定”后,就會進入到正式的單選題型界面中,選擇“單選題”單擊。

      C語言程序設(shè)計考試系統(tǒng)的選擇題從數(shù)據(jù)庫中取出選擇題,在一個界面上顯示。利用三個熱區(qū)域交互按鈕“上一題”“下一題,”“完成”,按鈕和四個熱區(qū)域設(shè)置計算圖標用來記錄學生所選擇的答案。在學生選擇“完成”后,彈出學生做題的情況界面,然后回到選題主界面,并把學生所做的答案成績保存到數(shù)據(jù)庫中。

      5.1“未命名”用來擦除以前的圖像

      5.1.1 打開“未命名”的屬性,進入“未命名”的屬性窗口。

      5.1.2在“屬性窗口”中單擊擦除標簽在設(shè)置過渡效果進行設(shè)置 5.1.3單擊“確定”按鈕

      5.2 設(shè)置“單選界面”插入一個圖像

      5.2.1雙擊“單選界面”圖標進入顯示圖標窗口

      5.2.2單擊 繪圖工具箱 圖標進行繪制一個和窗口矩形一樣大的矩形

      5.2.3設(shè)置矩形的顏色為“綠色”

      5.2.4單擊顯示圖標窗口的關(guān)閉按鈕,關(guān)閉保存對“單選界面”的設(shè)置 5.3 設(shè)置交互“進入”

      5.3.1在交互圖標的右邊拖放一個群組“單選” 5.3.2設(shè)置單選的熱區(qū)為“按鈕“ 5.3.3單擊確定后,雙擊“選擇”。

      5.3.3.1“未命名”用來擦除上次運行的圖形 5.3.3.2在“打開數(shù)據(jù)庫”的輸入如下源程序:

      安陽工學院計科系畢業(yè)論文 7 hint0:=“您的數(shù)據(jù)庫沒有連接上......”--顯示連接數(shù)據(jù)庫的信息 title:=“數(shù)據(jù)庫連接....” ODBChandle:=ODBCOpen(WindowHandle,“",”database“,”“,”“)--得到數(shù)據(jù)源

      getrecord:=”select count(sequence)from erigister“--得到記錄的個數(shù) record:=ODBCExecute(ODBChandle,getrecord)if ODBChandle=0 then--測試連接數(shù)據(jù)庫是否連接成功 MessageBox(WindowHandle,hint0,title,17)end if ODBCClose(ODBChandle)ODBChandle:=ODBCOpen(WindowHandle,”“,”database“,”“,”“)if ODBChandle=0 then MessageBox(WindowHandle,hint0,title,17)end if sqlstring1:=”select ssdb from erigister where sequence=“^record^”“-從表中選擇單選庫表題 ssdatabase:=ODBCExecute(ODBChandle,sqlstring1)getrecord:=”select count(sequence)from “^ssdatabase^”“ record:=ODBCExecute(ODBChandle,getrecord)--ssdb數(shù)據(jù)庫的記錄個數(shù),以便產(chǎn)生隨機數(shù) sssum:=0 number1:=1 sui:=[] sui[1]:=Random(1,record,1)--下面程序用來產(chǎn)生一個隨機數(shù)不能出現(xiàn)相同的題目 i:=2 repeat while i<=record flag:=0 repeat while flag=0 sui[i]:=Random(1,record,1)flag1:=0 repeat with p:=1 to i-1 if sui[i]=sui[p] then flag1:=1 end repeat if flag1=0 then flag:=1 end repeat i:=i+1 end repeat

      5.3.3.3 在“做選擇的背景”顯示圖標中設(shè)計單選題的界面如上圖5.4 5.3.3.4 在“數(shù)據(jù)庫的操作”中輸入如下代碼:在這里,我們就要實現(xiàn)對數(shù)據(jù)庫的隨機讀取和跟蹤答案的長短來選擇界面

      x:=0 ran:=sui[number1] result:=”“ record1:=Number(record)

      安陽工學院計科系畢業(yè)論文 8 record:=record1--得到記錄的個數(shù)

      sqlstring1:=”select topic from “^ssdatabase^” where sequence=“^ran^”“分別得到選擇題各項 sqlstring2:=”select a from “^ssdatabase^” where sequence=“^ran^”“ sqlstring3:=”select b from “^ssdatabase^” where sequence=“^ran^”“ sqlstring4:=”select c from “^ssdatabase^” where sequence=“^ran^”“ sqlstring5:=”select d from “^ssdatabase^” where sequence=“^ran^”“ sqlstring6:=”select result from “^ssdatabase^” where sequence=“^ran^”“ get1:=ODBCExecute(ODBChandle,sqlstring1)--get1得到選擇題目內(nèi)容 get2:=ODBCExecute(ODBChandle,sqlstring2)--get2得到選擇項A內(nèi)容 get3:=ODBCExecute(ODBChandle,sqlstring3)--get3得到選擇項B內(nèi)容 get4:=ODBCExecute(ODBChandle,sqlstring4)--get4得到選擇項C內(nèi)容 get5:=ODBCExecute(ODBChandle,sqlstring5)--get5得到選擇項D內(nèi)容 get6:=ODBCExecute(ODBChandle,sqlstring6)--get6得到選擇題的答案 inputa:=1--用來設(shè)置熱區(qū)域的激活條件

      5.3.3.5 空“操作”用來設(shè)置跳轉(zhuǎn)標志

      5.3.3.6

      在交互圖標右邊拖入四個熱區(qū)域

      在計算圖標中從左到右的四個計算圖標中輸入: result:=”A“ result:=”b“ result:=”c“ result:=”d"在交互屬性中設(shè)置激活條件為inputa=1: ,鼠標指針設(shè)置為標準鼠標指針,其它的為默認設(shè)置.其中result變量用來記錄用戶所選的答案.5.3.3.7拖一個交互圖標“未命名”在它的右邊拖兩個計算圖標為“上一題”和“下一題”,再拖一個群組“完成”放在“下一題”右邊,設(shè)置熱區(qū)為按鈕。在“上一題”的激活條件中輸入number1>1,鼠標指針設(shè)置為:標準的鼠標指針。在“下一題”的激活條件中輸入:number1

      六 結(jié)束語

      根據(jù)對教師上課時課堂練習的分析,開發(fā)出該考試系統(tǒng),主要是能夠方便課堂練習,同時還可用于期中期末測試,該系統(tǒng)主要是針對《C語言程序設(shè)計》課程來設(shè)計的。對該系統(tǒng)做簡單修改,即可用于其它課程。

      參考文獻

      專著:王嘉寧 朱雋著 《Photoshop7.0中文版新概念百例》[M] 中國水利水電出版社 2004年4月 專著:龔祥國主編 《Photoshop圖像處理實用教程》[M] 科學出版社 2002年 2月

      專著: 王龍 金海主編 《Flash MX實戰(zhàn)入門新概念》[M] 中國水利水電出版社 2005年5月 專著: 李恒著《Authorware 6.0多媒體實例大制作》[M] 冶金工業(yè)出版社 2002 年4月 專著: 袁海東著《Authorware 7.0教程 》[M] 電子工業(yè)出版社 2004年9月 專著: 郝蕾蕾著 《Authorware課件制作》[M] 中國水利水電出版社 2001年7月

      下載C語言職工工資管理系統(tǒng)程序設(shè)計報告[合集]word格式文檔
      下載C語言職工工資管理系統(tǒng)程序設(shè)計報告[合集].doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        工資管理系統(tǒng)需求分析報告

        工資管理系統(tǒng)需求分析報告 引言 1. 編寫目的 編寫該文檔是為了分析人工管理企業(yè)工資的流程,把人工模式抽象為可在計算機上處理的自動模式,對企業(yè)工資的科學管理進行分析與總......

        工資管理系統(tǒng)實驗報告

        信 息 系 統(tǒng) 設(shè) 計 與 開 發(fā) 系統(tǒng)名稱:工資管理系統(tǒng) 開發(fā)人員:薛靖峰 學號:1009034122 專業(yè):信息管理與信息系統(tǒng) (1)編寫目的隨著社會的發(fā)展,中國的中小型企業(yè)越來越多,而對企業(yè)......

        C語言程序設(shè)計報告(精選)

        C語言程序設(shè)計報告(二) 第一章:使用數(shù)組和指針統(tǒng)計成績 1.設(shè)計題目:假設(shè)給定班級各科考試平均成績的原始資料如下 數(shù)學:75 物理:80 外語:83 政治:85 體育:86 人數(shù):30 要求統(tǒng)計出全......

        C語言程序設(shè)計——飛機訂票系統(tǒng)

        C語言程序設(shè)計——飛機訂票系統(tǒng) 代碼如下:” #include"stdio.h" #include"stdlib.h" #include"string.h" #defineLENsizeof (structplane) #defineMAX 10; structplane { ch......

        C語言程序設(shè)計圖書管理系統(tǒng)

        C語言程序設(shè)計實驗報告 題 目: 圖書管理管理系統(tǒng) 院 系: 信息科技學院 專 業(yè): 姓 名: 學 號: 指導(dǎo)教師: 楊呈勇 日 期: 09-09-18 1 問題定義 ……………………………………………......

        職工工資管理系統(tǒng)的設(shè)計與開發(fā)論文開題報告

        一、工資管理系統(tǒng)的目的和意義在中原大化儀表公司是一家省屬大型企業(yè)分支單位,隨著社會主義市場經(jīng)濟的快速發(fā)展,該公司下在發(fā)生著日益的變化,職工流動速度在加快,工資增減幅......

        基于VFP職工工資管理系統(tǒng) 王忠概要(5篇)

        山西大學繼續(xù)教育學院 畢 業(yè) 論 文 類 別 專 科 年 級 2006 級 專 業(yè) 計算機與信息管理 姓 名 王 忠 學 號 06418538038 論文題目 基于vfp 的職工 工資管理系統(tǒng) 論 文 評 語......

        高校工資管理系統(tǒng)需求分析報告

        高校工資管理系統(tǒng)需求分析報告一 引言1. 編寫目的編寫該文檔是為了分析人工管理高校工資的流程,把人工模式抽象為可在計算機上處理的自動模式,對高校工資的科學管理進行分析與......