瀋陽航空工業學院
課程設計
學號 200704021022
班級 7402101
姓名馬靜
指導教師吳傑巨集
2008 年 9月 8日
瀋陽航空工業學院
課程設計任務書
院系:電子資訊工程專業:電子資訊工程班級:7402101
學號:200704021022 題目:食堂就餐餐費管理系統(1)
一、課程設計時間
2008~09第1學期第2周,共計1周,20學時。
二、課程設計內容
用c語言編寫軟體完成以下任務:
1錄入學生資訊和食譜資訊;
2按照學號新增餐費;
3查詢某日食譜。
三、課程設計要求
1. 程式質量:
貫徹結構化的程式設計思想。
使用者介面友好,功能明確,操作方便。
使用者介面中的選單至少應包括「資訊錄入」、「新增餐費(按照學號)」、「某日食譜查詢」、「退出」4項。
**應適當縮排,並給出必要的注釋,以增強程式的可讀性。
2. 課程設計說明書:
課程結束後,上交課程設計說明書和源程式。課程設計說明書的格式和內容參見提供的模板。
四、指導教師和學生簽字
指導教師學生簽名:________
五、說明書成績
六、教師評語 目錄
一、需求分析 1
二、程式流程圖 2
三、核心技術的實現說明及相應程式段 2
四、課設總結 7
五、參考文獻 11
六、源程式 11
經過對程式設計題目的分析可知,整個程式的設計實現大致分為六個模組,其中每乙個模組對應乙個函式,他們的功能分別是:新增學生資訊函式(addstudent),新增食譜資訊函式(adddiet),按學號新增餐費函式(addcost),查詢某日食譜函式(query),顯示學生資訊函式(show)。在這些函式當中,前四個函式的實現嚴格按照題目的要求,而後面的乙個函式屬於附加功能。
1、新增學生資訊函式主要實現程式最初執行時學生資料的錄入以及其後的執行中學生資料的追加功能;
2、新增食譜資訊函式實現的功能是按照日期新增某日的早飯,午飯,晚飯的樣式和費用的資訊;
4、食譜查詢函式允許按照日期對某日的各時段食物進行查詢;
5、新增餐費函式可以實現對學生按照學號新增總的就餐餐費;
6、顯示函式實現的是顯示目前所有的有效學生記錄資訊。
除上面介紹的功能之外,程式還具有退出功能,可以在程式的一次執行當中迴圈執行所有的功能,並根據需要終止程式的執行。
每乙個學生記錄都包含學號、姓名,以及即時的餐費總費用,在程式當中,將學生記錄型別定義為結構體型別,新增以及追加的學生資訊直接寫入e盤的student.dat檔案中,其他函式每次對學生記錄的訪問,其資料**都是student.dat檔案,這樣做不但可以保證學生資料的一致性,而且可以對學生資料進行永久儲存,保證每次執行程式都可以採用原來的資料。
每乙個食譜記錄都包含日期,以及早,午,晚三餐的樣式和費用。在程式當中,將食譜記錄型別定義為結構體型別,新增以及追加的食譜資訊直接寫入e盤的diet.dat檔案中,其他函式每次對食譜記錄的訪問,其資料**都是diet.
dat檔案,這樣做不但可以保證食譜資料的一致性,而且可以對食譜資料進行永久儲存,保證每次執行程式都可以採用原來的資料。
1、程式總體結構圖
圖1程式總體結構圖
2、具體功能框圖
(1)新增學生資料函式add student
圖2 新增學生資料函式
(2)新增食譜資料函式adddiet()
圖3新增食譜資料函式
(3)讀取學生資料reads
圖4讀取學生資料
本程式主要由五個自定義函式和乙個主函式組成,其中主函式以選單的形式呼叫其他函式來實現要求的所有功能。在這些函式當中,新增學生資料函式、新增食譜資料函式和新增學生餐費函式是程式中較為核心的部分,下面分別進行說明。
1、新增資料函式
新增資料分為錄入學生資訊和錄入食譜資訊兩部分。
(1)錄入學生資訊,新增資料分為兩種情況,其一是在學生檔案(student.dat)不存在的情況下,首先由程式建立乙個新檔案,並將錄入的學生資訊寫入該檔案當中;其二是在學生檔案(student.dat)已經存在的情況下,此時檔案要以讀寫方式或追加的方式開啟,這樣才可以保證以前已經存在的資料不丟失。
具體的程式段如下:
void addstudent() //新增學生資訊
}else //檔案不存在時,新建乙個檔案,並將資料寫入該檔案
}}fclose(fp);
}(2)錄入食譜資訊,與錄入學生資訊方法類似,具體的程式段如下:
void adddiet() //新增食譜資訊
else //檔案不存在時,新建乙個檔案,並將資料寫入該檔案
}}fclose(fp2);
}2、按學號新增餐費函式函式
該函式的核心內容是首先呼叫reads函式將檔案中的學生資訊讀入陣列當中,並由使用者輸入待新增餐費學生的學號,而後按照該學號進行查詢,如果檔案中存在該學生的資料,則採用加法演算法增加,否則輸出學生資訊不存在的提示資訊。對學生資訊的具體加法演算法是在結構體陣列中實現的。在陣列中刪除學生資訊後,還要將更改後的資訊重新寫回檔案當中,以保證資料的一致性。
具體程式如下:
void addcost() //新增學生餐費
{struct student stu[n],temp;
int n,i;
float g;
file *fp;
printf("\n請輸入要增加餐費學生學號,按回車鍵確認:");
食堂就餐管理規定
中國鐵物廣東鋼材交易中心 為了各員工的身體健康,醞釀乙個良好的生活環境,體現公司人文關懷之目的,特制定以下規定,望各員工遵守執行。一 就餐前,勤洗手,洗碗。二 備餐時,按序排列等候。三 入座就完餐後,把剩餘飯菜倒在指定的桶裡,然後把菜盤放到指定的位置上,形成良好的用餐習慣。四 不准在飯堂大聲喧嘩 吵...
食堂就餐管理規定
為規範公司食堂管理,提倡節約,避免浪費,提高就餐質量,特制定本規定。一 員工就餐管理 1.用餐時間 午餐 12 00 12 40 2.非就餐時間非食堂工作人員不得隨意進入食堂。3.員工按時就餐,如有特殊原因需提前或延後就餐的應由本人提前通知食堂或辦公室主管負責人,否則用餐時間以外食堂不提供用餐服務。...
機關食堂就餐管理方案
為進一步加強機關食堂就餐管理,保證食堂就餐秩序,節約就餐補貼經費,特制定方案如下 一 供餐物件 機關全體工作人員,公司簽訂合同的正式員工,駐區辦事處工作人員,資訊中心工作人員,交警隊工作人員。原則上機關食堂不對外營業。二 供餐時間 早餐 07 30 08 30,中餐 12 00 13 00,晚餐 1...