


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、通信與信息工程學(xué)院高級語言課程設(shè)計班級:電子信息工程1503姓名:周陽劉錦谷靜霆學(xué)號:150705031415070503211507050334指導(dǎo)教師:劉曉佩李遠(yuǎn)征王靜倪云峰設(shè)計時間:2016-07-042016-07-24成績:評語:通信與信息工程學(xué)院二0一七年一、課程設(shè)計要求設(shè)計教師工作管理系統(tǒng),并擁有如下功能。1.計算并顯示每個老師在一個學(xué)期中所教課程的總工作量。2.輸入教師姓名可以查詢教師信息。3.可以瀏覽并刪改教師信息。4.完成教師信息二、程序的功能設(shè)計添加一個教師的信息VoidAddTeaMsg(TEACHERTeacher);刪除一個教師的信息VoidDeleTeacher(
2、PTEACHpNode);查找一個教師信息PTEACHSearchTeach(char*Name);顯示所有教師信息保存voidShowAllTeacher(void);三、程序的數(shù)據(jù)結(jié)構(gòu)C語言使用結(jié)構(gòu)體來擴(kuò)展自定義的數(shù)據(jù)類型,數(shù)據(jù)結(jié)構(gòu)如下:#pragmapack(4)/設(shè)置結(jié)構(gòu)體的對其方式typedefstructTEACH/數(shù)據(jù)域charArrTeachNum10;/教工號charArrTeachName10;/姓名charArrTeachSex4;/性別charArrTitle10;/職稱charArrSubject20;/所教課程charArrClass36;/所教班級unsigned
3、intClassNum;/班級數(shù)目unsignedintTheoryClaHour;/理論課時/實(shí)踐課時/總課時unsignedintpracticerClaHour;unsignedintAllClaHour;/指針域structTEACH*pNext;/指向下一個節(jié)點(diǎn)1四、程序的函數(shù)設(shè)計函數(shù)的功能描述main函數(shù)功能:調(diào)用菜單函數(shù)所示的函數(shù);Menu()函數(shù)功能:顯示給用戶所有的功能AddTeaMsg()函數(shù)功能:增一個教師信息SearchTeach()函數(shù)功能:查找一個教師信息DeleTeacher()函數(shù)功能:刪除一個教師信息ShowAllTeacher()函數(shù)功能:顯示所有老師信息函
4、數(shù)的調(diào)用關(guān)系main函數(shù)調(diào)用所有的子函數(shù)來完成相應(yīng)操作;查找,刪除,修改信息函數(shù)都必須調(diào)用查找函數(shù)。五、源程序代碼頭文件:#ifndefteach#defineteach/所需的頭文件#include<stdio.h>#include<stdlib.h>#include<string.h>#pragmapack(4)/設(shè)置結(jié)構(gòu)體的對其方式typedefstructTEACH/數(shù)據(jù)域/教工號姓名/性別/職稱charArrTeachNum10;charArrTeachName10;charArrTeachSex4;charArrTitle10;/所教課程/所教班
5、級/班級數(shù)目/理論課時/實(shí)踐課時/總課時charArrSubject20;charArrClass36;unsignedintClassNum;unsignedintTheoryClaHour;unsignedintpracticerClaHour;doubleAllClaHour;/指針域structTEACH*pNext;/指向下一個節(jié)點(diǎn)TEACHER;typedefTEACHER*PTEACH;/函數(shù)聲明/添加一個教師的信息voidAddTeaMsg(TEACHERTeacher);/刪除一個教師信息voidDeleTeacher(PTEACHpNode);/查找一個教師信息PTEACH
6、SearchTeach(char*Name);/顯示所有教師信息voidShowAllTeacher(void);/保存信息進(jìn)文件voidSaveTeachToFile(void);/菜單函數(shù)voidMenu(void);#endif/!teach源文件:#include"teacher.h"/聲明鏈表的頭和尾TEACHER*pHead=NULL;/OTEACHER*pEnd=NULL;intmain(void)(/初始化變量intflag=1;PTEACHpTemp=NULL;intnOrder=-1;TEACHERTeacher;charName10=('0
7、39;Menu();while(flag)(printf("請輸入指令:n");scanf("%d",&nOrder);switch(nOrder)(case1:/OK(printf(-請輸入教工號:");scanf("%s",Teacher.ArrTeachNum);printf(-請輸入教師姓名:");|scanf("%s",Teacher.ArrTeachName);printf(-請輸入性別:");scanf("%s",Teacher.ArrTeac
8、hSex);printf(-請輸入職稱:");scanf("%s",Teacher.ArrTitle);printf("請輸入所授課程:");scanf("%s",Teacher.ArrSubject);printf("請輸入授課班級:");scanf("%s",Teacher.ArrClass);printf("請輸入授課班級數(shù)目:");scanf("%u",&Teacher.ClassNum);printf("請輸入理論課時
9、時長:");scanf("%u",&Teacher.TheoryClaHour);printf("請輸入實(shí)踐課時時長:");scanf("%u",&Teacher.practicerClaHour);AddTeaMsg(Teacher);break;case2:/OK(printf(-請輸入指定教師的姓名:");scanf("%s",Name);pTemp=SearchTeach(Name);if(NULL=pTemp)(printf(-該教師信息不存在n");else
10、(printf("姓名:s"號:%snJ性別:s仰稱:sn所教課程:sn所教班級:sn班級數(shù)目:%dn®論課時:dn實(shí)踐課時:dn總課時:%3.2fn",pTemp->ArrTeachName,pTemp->ArrTeachNum,pTemp->ArrTeachSex,pTemp->ArrTitle,pTemp->ArrSubject,pTemp->ArrClass,pTemp->ClassNum,pTemp->TheoryClaHour,pTemp->practicerClaHour,pTemp-&
11、gt;AllClaHour);break;case3:/OKprintf(-請輸入指定教師的姓名:");scanf("%s",Name);pTemp=SearchTeach(Name);if(NULL!=pTemp)printf(-請輸入教工號:");scanf("%s",pTemp->ArrTeachNum);printf(-請輸入性別:");scanf("%s",pTemp->ArrTeachSex);printf(-請輸入職稱:");scanf("%s",p
12、Temp->ArrTitle);printf("請輸入所授課程:");scanf("%s",pTemp->ArrSubject);printf("請輸入授課班級:");scanf("%s",pTemp->ArrClass);printf("請輸入授課班級數(shù)目:");scanf("%u",&(pTemp->ClassNum);printf("請輸入理論課時時長:");scanf("%u",&(pTe
13、mp->TheoryClaHour);printf("請輸入實(shí)踐課時時長:");scanf("%u",&(pTemp->practicerClaHour);break;case4:SaveTeachToFile();break;case5:/OKprintf(-請輸入指定教師的姓名:");scanf("%s",Name);pTemp=SearchTeach(Name);/刪除這個節(jié)點(diǎn)if(NULL!=pTemp)(DeleTeacher(pTemp);break;case6:/OK(ShowAllTeac
14、her();break;case0:/OK(exit(1);default:printf("輸入的指令不對!n");system("pause");return0;/指令菜單voidMenu(void)printf("*n");printf("T*n");printf("*1教師信息管理系統(tǒng)本系統(tǒng)操作指令如下增加一個教師彳息(鏈表尾部添加)*n");printf("*2、查找指定教師的信息(姓名/工號)*n");printf("*3、修改指定教師的信息*n"
15、;);printf("*4、保存教師的信息到文件中*n");printf("*5、刪除指定教師的信息*n");printf("*6、顯示所有教師的信息*n");printf("*0、退出系統(tǒng)*n");n");增加一個教師信息voidAddTeaMsg(TEACHERTeacher)(/創(chuàng)建一個節(jié)點(diǎn)TEACHER*pTemp=(PTEACH)malloc(sizeof(TEACHER);/由丁參數(shù)過多,本次設(shè)計在此處不檢驗(yàn)參數(shù)的合法性/數(shù)值部分賦值pTemp->ClassNum=Teacher.Cla
16、ssNum;pTemp->practicerClaHour=Teacher.practicerClaHour;pTemp->TheoryClaHour=Teacher.TheoryClaHour;if(2=pTemp->ClassNum)(pTemp->AllClaHour=1.3*(pTemp->TheoryClaHour+pTemp->practicerClaHour);if(3=pTemp->ClassNum)(pTemp->AllClaHour=1.7*(pTemp->TheoryClaHour+pTemp->practice
17、rClaHour);if(pTemp->ClassNum>=4)(pTemp->AllClaHour=2.0*(pTemp->TheoryClaHour+pTemp->practicerClaHour);/數(shù)組部分賦值strcpy(pTemp->ArrClass,Teacher.ArrClass);strcpy(pTemp->ArrSubject,Teacher.ArrSubject);strcpy(pTemp->ArrTeachName,Teacher.ArrTeachName);strcpy(pTemp->ArrTeachNum,Tea
18、cher.ArrTeachNum);strcpy(pTemp->ArrTitle,Teacher.ArrTitle);strcpy(pTemp->ArrTeachSex,Teacher.ArrTeachSex);if(NULL=pHead)pHead=pTemp;else(pEnd->pNext=pTemp;/鏈接pEnd=pTemp;pEnd->pNext=NULL;/查找一個教師信息PTEACHSearchTeach(char*Name)(PTEACHpTemp=pHead;/檢測參數(shù)的合法性if(NULL=Name)(printf("姓名輸入錯誤!n&q
19、uot;);returnNULL;/判斷鏈表是否為空if(NULL=pHead|NULL=pEnd)(printf("鏈表為空!n");returnNULL;/遍歷鏈表while(pTemp!=NULL)(if(0=strcmp(pTemp->ArrTeachName,Name)(returnpTemp;pTemp=pTemp->pNext;printf("無此教師信息!n");returnNULL;/刪除一個教師信息voidDeleTeacher(PTEACHpNode)IPTEACHpTemp=pHead;/判斷if(pHead=pNod
20、e)/刪除頭結(jié)點(diǎn)的情況/pTemp=pHead;pHead=pHead->pNext;free(pTemp);pTemp=NULL;結(jié)束return;while(pTemp)if(pTemp->pNext=pNode)/刪除if(pNode=pEnd)/刪除尾節(jié)點(diǎn)的情況free(pNode);pNode=NULL;pEnd=pTemp;pEnd->pNext=NULL;/記住要刪除的節(jié)點(diǎn)PTEACHp=pTemp->pNext;/鏈接pTemp->pNext=pTemp->pNext->pNext;/釋放節(jié)點(diǎn)free(p);p=NULL;return;
21、pTemp=pTemp->pNext;/顯示所有教師信息voidShowAllTeacher(void)PTEACHpTemp=pHead;while(pTemp!=NULL)printf("姓名:sn工號:sn性別:sn職稱:sn所教課程:sn所教班級:s冊級數(shù)目:%dn®論課時:dn實(shí)踐課時:dn總課時:3.2fn”,pTemp->ArrTeachName,pTemp->ArrTeachNum,pTemp->ArrTeachSex,pTemp->ArrTitle,pTemp->ArrSubject,pTemp->ArrClass
22、,pTemp->ClassNum,pTemp->TheoryClaHour,pTemp->practicerClaHour,pTemp->AllClaHour);pTemp=pTemp->pNext;/保存信息進(jìn)文件voidSaveTeachToFile(void)FILE*pFile=NULL;PTEACHpTemp=pHead;charstrBuf100='0'charstrNum5='0'if(NULL=pHead)printf("沒有教師信息n");return;pFile=fopen("教師信
23、息.txt”,"wb+");if(NULL=pFile)printf("文件打開失敗n");return;strcpy(strBuf,pTemp->ArrTeachNum);strcat(strBuf,".");strcat(strBuf,pTemp->ArrTeachName);strcat(strBuf,".");strcat(strBuf,pTemp->ArrClass);strcat(strBuf,".");strcat(strBuf,pTemp->ArrSubject);strcat(strBuf,".");strcat(strBuf,pTemp->ArrTeachSex);strcat(strBuf,".");/轉(zhuǎn)成asciistrcat(strBuf,pTemp->ArrTitle);itoa(pTemp->AllClaHour,strNum,5);strcat(strBuf,strNum);strcat(strBuf,".");itoa(pTemp->ClassNum,strNum,5);strcat(strBuf,strNum);strcat(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 老年精神病的護(hù)理
- 家裝工程協(xié)議模板
- 花店飲品蛋糕創(chuàng)業(yè)計劃
- 旅行社油漆翻新合同范本
- 綠色DIY蛋糕創(chuàng)業(yè)計劃書
- 政府采購合同范本指南
- 2024洛陽市第一職業(yè)中等專業(yè)學(xué)校工作人員招聘考試及答案
- 2024甘南縣職業(yè)教育中心學(xué)校工作人員招聘考試及答案
- 2024滄州渤海中等專業(yè)學(xué)校工作人員招聘考試及答案
- 公園綠化石材供應(yīng)合同
- 《公共營養(yǎng)師》課件
- 卡樂控制器說明書簡易
- 作文講解細(xì)節(jié)描寫公開課一等獎省優(yōu)質(zhì)課大賽獲獎?wù)n件
- 門診慢特病病種待遇認(rèn)定申請表
- 雷鋒叔叔你在哪里評課稿
- 中南大學(xué)湘雅醫(yī)院進(jìn)修匯報演示文稿
- 《藝術(shù)學(xué)概論考研》課件藝術(shù)本體論-模仿論
- 電廠防腐涂裝培訓(xùn)ppt課件
- 《汽車座椅制造工藝》PPT課件
- 履帶-輪式爬樓梯電動輪椅設(shè)計【帶圖紙】
- 畢業(yè)論文小型玉米脫粒機(jī)的設(shè)計
評論
0/150
提交評論