![C語言實(shí)訓(xùn)報(bào)告完整版_第1頁](http://file4.renrendoc.com/view/bc00a19fc720a36d5cbd8de482f5e477/bc00a19fc720a36d5cbd8de482f5e4771.gif)
![C語言實(shí)訓(xùn)報(bào)告完整版_第2頁](http://file4.renrendoc.com/view/bc00a19fc720a36d5cbd8de482f5e477/bc00a19fc720a36d5cbd8de482f5e4772.gif)
![C語言實(shí)訓(xùn)報(bào)告完整版_第3頁](http://file4.renrendoc.com/view/bc00a19fc720a36d5cbd8de482f5e477/bc00a19fc720a36d5cbd8de482f5e4773.gif)
![C語言實(shí)訓(xùn)報(bào)告完整版_第4頁](http://file4.renrendoc.com/view/bc00a19fc720a36d5cbd8de482f5e477/bc00a19fc720a36d5cbd8de482f5e4774.gif)
![C語言實(shí)訓(xùn)報(bào)告完整版_第5頁](http://file4.renrendoc.com/view/bc00a19fc720a36d5cbd8de482f5e477/bc00a19fc720a36d5cbd8de482f5e4775.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
高級程序語言綜合實(shí)訓(xùn)報(bào)告題目:教師管理信息系統(tǒng)學(xué)院:計(jì)算機(jī)科學(xué)與信息學(xué)院專業(yè):通信工程年級:通信111班學(xué)號:_____________學(xué)生姓名:________指導(dǎo)教師:_________2012目錄摘要……………1實(shí)訓(xùn)目的…………………1需求分析…………………1系統(tǒng)設(shè)計(jì)…………………2運(yùn)行環(huán)境………………2系統(tǒng)結(jié)構(gòu)………………3系統(tǒng)模塊設(shè)計(jì)…………3系統(tǒng)界面設(shè)計(jì)…………8系統(tǒng)實(shí)現(xiàn)…………………11使用的語言……………11模塊代碼實(shí)現(xiàn)…………12單元測試………………19集成測試………………19五、總結(jié)………20摘要教師信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。對教師業(yè)務(wù)檔案信息系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)進(jìn)行了初步研究,描述了整個(gè)系統(tǒng)的各個(gè)功能模塊以及相互之間的邏輯關(guān)系,并重點(diǎn)對師資隊(duì)伍統(tǒng)計(jì)管理模塊、教師信息管理模塊進(jìn)行了詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)。教師管理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面.對于前者要求建立數(shù)據(jù)一致性和完整性強(qiáng),數(shù)據(jù)安全性好的數(shù)據(jù)庫.而對于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。通過本系統(tǒng),能將教師的信息最大限度的利用的起來,除了能實(shí)現(xiàn)傳統(tǒng)的教師信息檔案存檔之外,還提供了教師及相關(guān)信息的查詢,信息的實(shí)時(shí)更新,以保證數(shù)據(jù)的準(zhǔn)確性。本系統(tǒng)分為:教師信息錄入,教師信息修改,教師信息查詢,教師信息打印以及教師賬號管理幾個(gè)功能模塊。總的來說能夠滿足學(xué)校對于教師基本信息的管理。實(shí)訓(xùn)目的綜合應(yīng)用所學(xué)知識的能力模塊化程序設(shè)計(jì)的能力項(xiàng)目組協(xié)作開發(fā)能力項(xiàng)目文檔開發(fā)能力項(xiàng)目管理能力項(xiàng)目調(diào)試、測試能力二、需求分析(1)可以存儲歷屆的教師檔案,管理更為安全、高效;(2)只需一到二名信息管理員即可操作系統(tǒng),節(jié)省大量人力;(3)可以迅速查詢及修改所需信息;1(4)友好的界面操作,能保證系統(tǒng)的易用性和方便性;(5)對系統(tǒng)的安全性管理,包括用戶的添加以及密碼的修改;(6)界面設(shè)計(jì)函數(shù)實(shí)現(xiàn)程序運(yùn)行時(shí)的界面效果;(7)鼠標(biāo)操作控制函數(shù)實(shí)現(xiàn)鼠標(biāo)對程序的操作;(8)創(chuàng)建教師信息循環(huán)雙鏈表主要實(shí)現(xiàn)程序最初運(yùn)行時(shí)教師數(shù)據(jù)的輸入以及其后的運(yùn)行中教師數(shù)據(jù)的插入功能;(9)顯示函數(shù)實(shí)現(xiàn)的是顯示目前所有的有效教師的記錄信息;(10)教師信息查詢函數(shù)允許按照教師工資或教師學(xué)歷對教師的各項(xiàng);每一位教師的記錄都包含姓名,以及性別、學(xué)歷、工資和所任班級、工作量、所任學(xué)科,在程序當(dāng)中,將教師記錄類型定義為結(jié)構(gòu)體類型,可以對教師數(shù)據(jù)進(jìn)行永久保存,保證每次運(yùn)行程序都可以采用原來的數(shù)據(jù)。三、系統(tǒng)設(shè)計(jì)1、系統(tǒng)的運(yùn)行環(huán)境軟件環(huán)境:windows7、TurboC2.0集成環(huán)境、UCDOS漢字系統(tǒng)硬件環(huán)境:CPU80386、500GB硬盤、2GB內(nèi)存2系統(tǒng)模塊設(shè)計(jì)2.系統(tǒng)結(jié)構(gòu)教師信息教師信息管理系統(tǒng)輸入刪除插入添加保存格式化菜單管理信息瀏覽應(yīng)用查詢管理查詢管理每個(gè)模塊的功能:主界面Teacher&lessonF:用來顯示教師的信息的面板信息輸入模塊:教師信息的輸入保存模塊:教師信息的保存插入/添加模塊:教師信息的插入輸出模塊:格式化輸出教師信息3流程圖結(jié)束開始定義變量unit,flag,temp結(jié)束開始定義變量unit,flag,temp定義指針infoinit()flag=1否輸入教師信息并對其進(jìn)行處理是 輸入教師信息并對其進(jìn)行處理是(1)顯示第一條記錄這一功能的N-S結(jié)構(gòu)圖First==LastFirst==LastTFreturnclearP=First->nextPrint(p)(2)顯示前一條記錄這一功能的N-S結(jié)構(gòu)圖First==LastFirst==LastTFreturnclearP=LastPrint(p)(3)顯示第一條記錄這一功能的N-S結(jié)構(gòu)圖First==LastTFirst==LastTFreturnclearP=First->nextPrint(p)p=Last5(4)顯示下一條記錄這一功能的N-S結(jié)構(gòu)圖First==LastFirst==LastTFreturnclearP=First->nextPrint(p)p=p->next從文件讀取數(shù)據(jù)保存數(shù)據(jù)到磁盤文件刪除記錄輸出記錄清楚界面顯示信息Sort排序函數(shù)教師信息的輸入、刪除、插入或添加、保存、格式化輸出、教師信息的瀏覽、菜單管理6開始開始輸入文件名輸出cannotopenfile否是打開文件文件是否空輸出outofmemory讀取數(shù)據(jù)是否輸出loadsuccess結(jié)束文件名是否存在4、系統(tǒng)界面設(shè)計(jì)本系統(tǒng)的教師信息界面如下圖所示:開始界面提示輸入教師基本信息輸入信息8主界面及示例910四、系統(tǒng)實(shí)現(xiàn)使用的語言C語言。它可以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言11硬件環(huán)境處理器:IntelPentiumIV2.0硬件空間:建議采用120G以上硬盤空間軟件環(huán)境操作系統(tǒng):Windows2000Server數(shù)據(jù)庫:MicrosoftACCESS2003界面設(shè)計(jì)軟件:DreamweaverMXphotoshopcs等2、模塊代碼實(shí)現(xiàn)(1)模塊名:輸入模塊輸入:教師的編號,姓名,性別,學(xué)歷,工作量,教學(xué)班級,工資備注:依次信息輸入完成(2)每個(gè)模塊代碼實(shí)現(xiàn)voidinit(){ First=(TEACHER*)malloc(sizeof(TEACHER)); Last=First; First->prior=Last; Last->next=First; p=First;}模塊一:初始化雙鏈表為頭結(jié)點(diǎn)申請空間將一個(gè)指針指向另一個(gè)指針voidcreat(){ intunit,flag=0; floattemp; TEACHER*info;12init(); for(;;) { if(flag==1)break; clrscr(); printf("Pleaseenterteacherinfomation\n"); printf("input@endenter\n"); info=(TEACHER*)malloc(sizeof(TEACHER)); if(!info) { printf("\noutofmemory"); exit(0); } printf("No:"); scanf("%s",info->no); if(info->no[0]=='@') { flag=1;break;} printf("Name:"); scanf("%s",info->name); printf("Sex:"); scanf("%s",info->sex); printf("profess:"); scanf("%s",info->profess);printf("Dept:"); scanf("%s",info->dept); printf("Class:"); scanf("%s",info->class); printf("Workload:"); scanf("%f",&temp); info->workload=temp; if(strcmp(info->profess,"prof"))unit=25;if(strcmp(info->profess,"aprof"))unit=20; if(strcmp(info->profess,"lect"))unit=15; if(strcmp(info->profess,"ass"))unit=10;info->lessonf=unit*info->workload; info->next=Last->next; info->prior=Last; Last->next=info; Last=info; First->prior=Last; } return;13}模塊二:創(chuàng)建教師信息循環(huán)雙鏈表輸出:提示輸入教師信息,輸“@”結(jié)束輸入:NoNameSexprofessDeptClassWorkload備注:根據(jù)職稱計(jì)算代課費(fèi)if(strcmp(info->profess,"prof"))unit=25;if(strcmp(info->profess,"aprof"))unit=20; if(strcmp(info->profess,"lect"))unit=15; if(strcmp(info->profess,"ass"))unit=10;voidfirstr(){ if(First==Last)return; clear(); p=First->next; print(p);}voidlastr(){ if(First==Last)return; clear(); p=Last; print(p);}voidpriorr(){ if(First==Last) return; if(p->prior!=First) p=p->prior; else p=Last; clear(); print(p);}voidnextr(){14if(First==Last) return; if(p==Last) p=First->next; else p=p->next; clear(); print(p);}模塊三:顯示第一條、最后一條、前一條、下一條記錄備注:if(First==Last)return; clear(); p=First->next; print(p);voidload(){ TEACHER*p1; FILE*fp; if((fp=fopen("data.txt","rb"))==NULL) { printf("cannotopenfile\n"); return; } while(First->next!=First) { p1=First->next; First->next=p1->next; free(p1); } free(First); First=(TEACHER*)malloc(sizeof(TEACHER)); if(!First) { printf("outofmemory!\n");return; } Last=First; First->prior=Last; Last->next=First;p=First;15while(!feof(fp)) { p1=(TEACHER*)malloc(sizeof(TEACHER)); if(!p1) { printf("outofmemory!\n"); return; } if(1!=fread(p1,sizeof(TEACHER),1,fp)) break; p1->next=Last->next; p1->prior=Last; Last->next=p1; Last=Last->next; First->prior=Last; } fclose(fp);}模塊四:從文件讀數(shù)據(jù)while(First->next!=First)如果當(dāng)前表不空,刪除當(dāng)前表First=(TEACHER*)malloc(sizeof(TEACHER));創(chuàng)建頭結(jié)點(diǎn)while(!feof(fp))當(dāng)文件不為空時(shí)讀數(shù)據(jù)p1->next=Last->next;將新讀出的數(shù)據(jù)鏈在當(dāng)前表尾fclose(fp);關(guān)閉文件voidsave(){ FILE*fp; TEACHER*p1; if((fp=fopen("data.txt","wb"))==NULL) { printf("cannotopenfile\n"); return; } p1=First; while(p1->next!=First){fwrite(p1->next,sizeof(TEACHER),1,fp);p1=p1->next;}fclose(fp);}模塊五:保存數(shù)據(jù)到磁盤文件16定義指針if((fp=fopen("data.txt","wb"))==NULL)為輸出打開一個(gè)文本文件,如果沒有則建立如果不能打開文件,顯示提示信息,結(jié)束程序,返回否則移動(dòng)指針,當(dāng)寫入下一條記錄,指針后移,處理下一條記錄關(guān)閉文件。voiddelete(){ TEACHER*p1; if(First==Last) return; if(p==First) p=First->next; if(p==Last) Last=p->prior; p1=p; p=p->next; p1->prior->next=p1->next; p1->next->prior=p1->prior; free(p1);}模塊六:刪除記錄voidprint(TEACHER*p){ intx1=70,y1=100; charstr[20]; outtextxy(x1+110,y1+75,p->no); outtextxy(x1+360,y1+75,p->name); outtextxy(x1+110,y1+105,p->sex); outtextxy(x1+360,y1+105,p->profess); outtextxy(x1+110,y1+135,p->dept); outtextxy(x1+360,y1+135,p->class); sprintf(str,"%f",p->workload); outtextxy(x1+110,y1+165,str); sprintf(str,"%f",p->lessonf);17outtextxy(x1+360,y1+165,str);}模塊七:輸出記錄voidclear(){ intx1=70,y1=100,m,n; for(m=0;m<4;m++) for(n=0;n<2;n++) { setfillstyle(1,WHITE); bar(x1+n*250+100,y1+50+m*30+20,x1+n*250+200,y1+50+m*30+40); }}模塊八:清楚界面顯示信息voidsort(){ TEACHER*p0,*p00,*p1,*p11,*templast; if(First->next==First||First->next->next==First)return; p00=First; p0=First->next; p1=p0->next; First->prior=p0; p0->next=First; templast=p0; while(p1!=First) { p11=p1; p1=p1->next; p00=First; p0=p00->next; while(p0!=First&&p11->workload>p0->workload) { p00=p0; p0=p0->next; } if(p0==First) { p11->next=p00->next;18p11->prior=p00; p00->next=p11; p0->prior=p11; templast=p1; } else { p11->next=p0; p11->prior=p00;模塊九:排序函數(shù)3、單元測試案例教師信息案例一案例二案例三案例四案例五用例編號12345輸入數(shù)據(jù)1zhangsannanJiaoshoujisuanji112lisinanFujiaoshouJisuanji223wangwunanJiangshiJisuanji334longzhengjunvJiaoshouJisuanji445meiyuanzhenNvjiaoshouJisuanji55預(yù)期結(jié)果輸出教師基本信息輸出教師基本信息輸出教師基本信息輸出教師基本信息輸出教師基本信息查測試方法黑盒測試黑盒測試黑盒測試黑盒測試黑盒測試測試結(jié)果1zhangsannanJiaoshoujisuanji112lisinanFujiaoshouJisuanji223wangwunanJiangshiJisuanji334longzhengjunvJiaoshouJisuanji445meiyuanzhenNvjiaoshouJisuanji55備注測試結(jié)果與預(yù)期結(jié)果一致測試結(jié)果與預(yù)期結(jié)果一致測試結(jié)果與預(yù)期結(jié)果一致測試結(jié)果與預(yù)期結(jié)果一致測試結(jié)果與預(yù)期結(jié)果一致4、集成測試集成測試序號操作說明效果結(jié)果1啟動(dòng)系統(tǒng)TC運(yùn)行程序
系統(tǒng)生成成功2提示界面是否需要輸入新教師信息輸入y輸入信息否則進(jìn)主界面成功3輸入界面輸入no、name、profess、sex、dept、class、workload信息,并根據(jù)workload及profess計(jì)算lessonf。完成教師信息輸入成功4完成輸入@+ENTER結(jié)束輸入轉(zhuǎn)入主界面成功5繪制主界面win()和button()函數(shù)繪制主界面及各按鈕主界面繪制完成成功6firstr顯示第一條記錄各文本框顯示第一條信息成功7lastr顯示最后一條記錄各文本框顯示最后一條信息成功8priorr顯示前一條記錄各文本框顯示前一條信息成功9nextr顯示下一條記錄各文本框顯示下一條信息成功10save保存數(shù)據(jù)到文件生成data.txt文件成功11load讀取數(shù)據(jù)從data.txt讀取數(shù)據(jù)成功12sort為信息排序各條信息排序成功13clear清除當(dāng)前屏幕各文本框變成空白成功14print將所需信息顯示到屏幕上各文本框顯示當(dāng)前條目信息成功15exit退出主界面整個(gè)程序退出成功五、總結(jié)在實(shí)訓(xùn)的這兩周中,我學(xué)到了很多東西,也體會(huì)到,真正用心去完成一件事,是要花時(shí)間、耗精力去思考這件事該怎么做,怎樣做才能更完美。通過這次實(shí)訓(xùn),讓我了解到本軟件的開發(fā)有助于教師信息管理實(shí)現(xiàn)自動(dòng)化,為學(xué)校教師的管理奠定良好基礎(chǔ)。該設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能20力的重要環(huán)節(jié),是對我們學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.通過數(shù)據(jù)庫課程設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新型城鎮(zhèn)化建設(shè)項(xiàng)目委托代建協(xié)議規(guī)范文本
- 2025年中國不沾油鍋刷行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- 2025年度健康醫(yī)療服務(wù)合同擔(dān)保責(zé)任書
- 2025年度掛靠車輛租賃合同車輛租賃合同糾紛解決機(jī)制合同
- 2025年度國有企業(yè)股權(quán)轉(zhuǎn)讓協(xié)議書(專業(yè)版)
- 2025年工業(yè)臭氧洗衣機(jī)行業(yè)深度研究分析報(bào)告
- 2025年度云計(jì)算平臺搭建與運(yùn)維服務(wù)協(xié)議
- 2025年中國風(fēng)煤鉆行業(yè)市場全景監(jiān)測及投資戰(zhàn)略咨詢報(bào)告
- 2025年度網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評估與防護(hù)服務(wù)合同范本-@-1
- 2025年度建筑抗震加固技術(shù)服務(wù)合同
- 人員穩(wěn)定性保障措施技術(shù)投標(biāo)方案
- 2010企業(yè)會(huì)計(jì)準(zhǔn)則講解word版
- 中國古代舞蹈史
- GB/T 7701.1-2008煤質(zhì)顆粒活性炭氣相用煤質(zhì)顆?;钚蕴?/a>
- CB/T 467-1995法蘭青銅閘閥
- 2022年湖南財(cái)信金融控股集團(tuán)有限公司招聘筆試試題及答案解析
- 中醫(yī)診斷學(xué)八綱辨證課件
- 中國石油天然氣集團(tuán)公司建設(shè)項(xiàng)目其他費(fèi)用和相關(guān)費(fèi)用的規(guī)定
- 江蘇省城市規(guī)劃管理技術(shù)規(guī)定——蘇州市實(shí)施細(xì)則之二2021年版
- 大潔王槍水MSDS
評論
0/150
提交評論