![C語言綜合實驗報告機(jī)房管理系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/22/bc1773f4-9a4e-4a30-9eb8-d33ae26ab5d3/bc1773f4-9a4e-4a30-9eb8-d33ae26ab5d31.gif)
![C語言綜合實驗報告機(jī)房管理系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/22/bc1773f4-9a4e-4a30-9eb8-d33ae26ab5d3/bc1773f4-9a4e-4a30-9eb8-d33ae26ab5d32.gif)
![C語言綜合實驗報告機(jī)房管理系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/22/bc1773f4-9a4e-4a30-9eb8-d33ae26ab5d3/bc1773f4-9a4e-4a30-9eb8-d33ae26ab5d33.gif)
![C語言綜合實驗報告機(jī)房管理系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/22/bc1773f4-9a4e-4a30-9eb8-d33ae26ab5d3/bc1773f4-9a4e-4a30-9eb8-d33ae26ab5d34.gif)
![C語言綜合實驗報告機(jī)房管理系統(tǒng)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/22/bc1773f4-9a4e-4a30-9eb8-d33ae26ab5d3/bc1773f4-9a4e-4a30-9eb8-d33ae26ab5d35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上機(jī)房管理系統(tǒng)(c語言)在vc+ 6.0 運(yùn)行學(xué)院:信息科學(xué)與工程專業(yè) 班級:電子信息工程2班姓名:張濤學(xué)號: 2012年12月10日 目錄總體設(shè)計詳細(xì)設(shè)計 輸入函數(shù) 輸出函數(shù)刪除函數(shù)查找函數(shù)結(jié)論與心得體會調(diào)試報告附錄基本要求輸入功能:輸入若干名學(xué)生的學(xué)號、班級、姓名、開始上機(jī)時間和結(jié)束上機(jī)時間。 計算功能:計算每個學(xué)生的上機(jī)費(fèi)用(計算公式:上機(jī)費(fèi)用=(結(jié)束上機(jī)時間-開始上機(jī)時間)*收費(fèi)標(biāo)準(zhǔn),(以分鐘為單位) 修改功能:修改學(xué)生上機(jī)的個人檔案(如:增添或刪除) 查詢功能:按條件(班級、學(xué)好、姓名)查詢學(xué)生上機(jī)信息,并能顯示查詢學(xué)生的相應(yīng)全部檔案。總體設(shè)計開始輸入刪除退出
2、輸出查找圖1主函數(shù)采用switch選擇結(jié)構(gòu)case 1:scan(p);break;/調(diào)用輸入函數(shù)case 2:print(st,p);break/;調(diào)用輸出函數(shù)case 3:del(p);break;/調(diào)用刪除函數(shù)case 4:search(p);brea/k;調(diào)用查找函數(shù)case 5:開始輸入數(shù)據(jù)打開文件重新寫入文件關(guān)閉文件開始打開文件讀取數(shù)據(jù)選擇輸出輸出數(shù)據(jù)關(guān)閉文件 圖2 圖3輸入函數(shù)與輸出函數(shù)都用到文件的讀寫并且我定義了兩個文件,一個存儲結(jié)構(gòu)體數(shù)組的內(nèi)容,另一個存儲數(shù)組的個數(shù)。在調(diào)用輸入函數(shù)時,每次只能輸入一個學(xué)生的信息,每次輸入之前,先打開文件,讀出數(shù)據(jù),然后重新讀入數(shù)據(jù),并關(guān)閉文件
3、。簡要流程圖如圖2所示。 void scan(int *p)int i;FILE *fp;FILE *fpp;for (i=*p;i<*p+1;i+)printf("請輸入信息!n"); printf("學(xué)號(6位以下): "); scanf("%s",sti.num);printf("姓名(四位以下):");。 圖4輸出時,通過for循環(huán)把數(shù)據(jù)讀出并輸出void print(struct stu st,int *q) int i; float j; FILE *fp;fp=fopen("c:stu
4、_list.txt","r");/打開文件printf("序號 學(xué)號 圖5 班級 姓名 上機(jī)時間(時 分) 下機(jī)時間(時 分) 費(fèi)用n");for(i=0;i<*q;i+)/開始循環(huán)輸出 fread(&sti,sizeof(struct stu),1,fp); printf("%2d %6s %4s %8s",i+1,sti.num ,sti.clas, );.printf("t %3d%3d ",sti.hour1,sti.min1 ); printf(" t%3
5、d%3d",sti.hour2 ,sti.min2); j=sti.hour2 -sti.hour1+(sti.min2 -sti.min1)/60.0) ; printf(" %4.2f 元n",j);. 圖6刪除函數(shù)采用覆蓋的方法來實現(xiàn)目的。輸入所要刪除的信息后,從文件中讀取數(shù)據(jù),并找到它,用后面的將其覆蓋,總數(shù)量減少一個,這樣以后讀取數(shù)據(jù)時,就沒有該數(shù)據(jù)了.。但實際上文件中任由原來個數(shù)個數(shù)據(jù),只是不讓它讀出來而已,如圖7。圖8為簡單流程圖, if(strcmp(a,)=0) for(j=i;j<*p-1;j+) strcpy(stj.n
6、um,stj+1.num);strcpy(stj.clas,stj+1.clas);stj.hour1=stj+1.hour1; stj.min1=stj+1.min1;。圖7查找函數(shù)也就簡單多了,輸入所要查找的信息后,從文件中讀取數(shù)據(jù),并找到它,然后將其輸出,簡單代碼如下 switch(a)/選擇查找方式 case 1: printf("學(xué)號:"); scanf("%s",b); for(i=0;i<*p;i+) if(strcmp(b,sti.num)=0) printf(" 學(xué)號 班級 姓名 上機(jī)時間(時 分) 下機(jī)時間(時 分)
7、費(fèi)用n"); printf(" %6s %4s %8s",sti.num ,sti.clas, ); printf("t %3d%3d ",sti.hour1,sti.min1 ); printf(" t%3d%3d",sti.hour2 ,sti.min2); j=sti.hour2 -sti.hour1+(sti.min2 -sti.min1)/60.0) ;. 圖9圖8開始打開文件讀取數(shù)據(jù)選擇刪除輸入要刪除的數(shù)據(jù)關(guān)閉文件查找要刪除數(shù)據(jù)刪除數(shù)據(jù)重新寫入文件開始打開文件讀取數(shù)據(jù)選擇查找輸入要查找的條件及內(nèi)容
8、關(guān)閉文件查找要找的數(shù)據(jù)輸出數(shù)據(jù) 圖10結(jié)論與心得體會 通過這次為數(shù)不多的幾天計算機(jī)實踐學(xué)習(xí),加上我們這個學(xué)期的c語言課程,我們了解了一些關(guān)于c語言的知識,理解鞏固了我們c語言的理論知識,著對我們將來到社會工作將會有莫大的幫助。同時它讓我知道,只要你努力,任何東西都不會太難。 學(xué)習(xí)c語言不能停留在學(xué)習(xí)它的語法規(guī)則,而是利用學(xué)到的知識編寫c語言程序,解決實際問題。即把c語言作為工具,描述解決實際問題的步驟,由計算機(jī)幫助我們解題。只有通過上機(jī)才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。通過上機(jī)實驗來驗證自己編制的程序是否正確,恐怕是大多數(shù)同學(xué)在完成老師作業(yè)時的心態(tài)。但是在程序設(shè)計領(lǐng)
9、域里這是一定要克服的傳統(tǒng)的、錯誤的想法。因為在這種思想支配下,可能你會想辦法去隱藏程序中的錯誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問題。自己編好程序上機(jī)調(diào)試運(yùn)行時,可能有很多你想不到的情況發(fā)生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發(fā)能力。 不過,很多時候,我們都是眼高手低,看著書以為c語言很簡單,把那些代碼記住就沒有問題了??墒鞘聦嵣希?dāng)計算機(jī)一次又一次地報錯時,我才知道我錯了。不親自上機(jī)是學(xué)不好c語言的。而且上機(jī)與看書時相互配合的。上機(jī)出現(xiàn)錯誤,在書上找答案。這樣經(jīng)過反反復(fù)復(fù)地學(xué)習(xí),c語言才會掌握。就拿簡單的輸出輸入的格式符講,總是以為它沒有用了,因為太簡單而不管,可到后面
10、時,忽然發(fā)現(xiàn)自己連對簡單的整型也不了解,更不用說進(jìn)行字符的輸入輸出了。比如說整型變量的字節(jié)數(shù),有效值。默認(rèn)的實型變量是什么,其字節(jié)數(shù),所以會有好多警告。雖然不影響運(yùn)行,但是知道存在問題,后來問老師才知道了,也算學(xué)到些東西。所以,在這次C語言實訓(xùn),不僅僅提高了我掌握和利用C語言進(jìn)行程設(shè)計的能力, 而且進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程設(shè)計的思想和方法。初步掌握了開發(fā)一個小型實用系統(tǒng)的基本方法。學(xué)會了調(diào)試一個較長程序的基本方法。學(xué)會了利用流程圖或N-S圖表示算法,不過不是很規(guī)范。掌握了書寫程設(shè)計開發(fā)文檔的能力.為以后的實訓(xùn)打下堅實的基礎(chǔ)。不過這也是在一次次報錯的調(diào)試中慢慢學(xué)的。 調(diào)試與編譯完成程序的編寫,決
11、不意味著萬事大吉。你認(rèn)為萬無一失的程序,實際上機(jī)運(yùn)行時可能不斷出現(xiàn)麻煩。如編譯程序檢測出一大堆錯誤。有時程序本身不存在語法錯誤,也能夠順利運(yùn)行,但是運(yùn)行結(jié)果顯然是錯誤的。開發(fā)環(huán)境所提供的編譯系統(tǒng)無法發(fā)現(xiàn)這種程序邏輯錯誤,只能靠自己的上機(jī)經(jīng)驗分析判斷錯誤所在。程序的調(diào)試是一個技巧性很強(qiáng)的工作,對于初學(xué)者來說,盡快掌握程序調(diào)試方法是非常重要的。有時候一個消耗你幾個小時時間的小小錯誤,調(diào)試高手一眼就看出錯誤所在。對于我來講,調(diào)試也蠻讓人頭疼的。尤其是現(xiàn)在所講的這個程序。經(jīng)過了反反復(fù)復(fù)地修改,程序終于可以運(yùn)行了,可是結(jié)果卻完全出乎意料。所以調(diào)試程序也是很關(guān)鍵的一項。一開始,程序中的錯誤編譯時都可以發(fā)現(xiàn)
12、,還能耐心的去看看到底哪里出錯。記得一次鏈接時出錯,弄了幾次一直錯,可是到同學(xué)電腦就正常了,便把vc卸載了重新安裝,結(jié)果好了,后來才知道,運(yùn)行窗口沒有關(guān)閉。再后來遇到很多編譯時不能檢測到的錯誤,一開始采用猜測并且注釋部分的方法來檢查出錯地方,但效果不佳,經(jīng)常中止。后來想到暫停語句 system(“pause”); ,是程序運(yùn)行到該位置暫停,從而判斷錯誤在該處之前你還是之后。并將該方法與同學(xué)分享。 附錄:源程序清單#include<stdio.h>#include<stdlib.h>#include<string.h>struct stu char num9;
13、char clas9;char name9;int hour1;int min1;int hour2;int min2;st99;/定義結(jié)構(gòu)體數(shù)組void print(struct stu st,int *q)/輸出函數(shù)int i;float j;FILE *fp;fp=fopen("c:stu_list.txt","r");/打開文件printf("序號 學(xué)號 班級 姓名 上機(jī)時間(時 分) 下機(jī)時間(時 分) 費(fèi)用n");for(i=0;i<*q;i+) fread(&sti,sizeof(struct stu),1
14、,fp);printf("%2d %6s %4s %8s",i+1,sti.num ,sti.clas, );printf("t %3d%3d ",sti.hour1,sti.min1 );printf(" t%3d%3d",sti.hour2 ,sti.min2);j=sti.hour2 -sti.hour1+(sti.min2 -sti.min1)/60.0) ;printf(" %4.2f 元n",j); void scan(int *p)/輸入函數(shù) int i;FILE *fp;FILE *
15、fpp;for (i=*p;i<*p+1;i+) printf("請輸入信息!n"); printf("學(xué)號(6位以下): "); scanf("%s",sti.num); printf("姓名(四位以下):"); scanf("%s",); printf("班級(四位以下):"); scanf("%s",sti.clas); printf("上機(jī)時間 小時 :"); scanf("%d",&a
16、mp;sti.hour1); printf("上機(jī)時間 分鐘 :"); scanf("%d",&sti.min1); printf("下機(jī)時間 小時 :"); scanf("%d",&sti.hour2); printf("下機(jī)時間 分鐘 :"); scanf("%d",&sti.min2);if(*p=0)if(fp=fopen("c:stu_list.txt","w")=NULL) printf("
17、cannot open file");elseelsefp=fopen("c:stu_list.txt","r+"); for(i=0;i<*p;i+) fread(&sti,sizeof(struct stu),1,fp);/寫入文件for(i=0;i<*p+1;i+)if(fwrite(&sti,sizeof(struct stu),1,fp)!=1)fclose(fp);*p=*p+1;if(fpp=fopen("c:stu_num.txt","w")=NULL)prin
18、tf("cannot open file");return;if(fwrite(p,4,1,fpp)!=1)printf("file write error");fclose(fpp); void list()/界面 printf("t*n");printf("t* 1:輸入數(shù)據(jù) *n");printf("t* 2:計算數(shù)據(jù) *n");printf("t* 3:刪除數(shù)據(jù) *n");printf("t* 4:查找數(shù)據(jù) *n");printf("t*
19、 5:結(jié)束 *n");printf("t*n");printf("t輸入相應(yīng)數(shù)字選擇功能以回車結(jié)束n"); void search(int *p)/查找函數(shù) int a,i,c=1; float j; char b9; FILE *fp; fp=fopen("c:stu_list.txt","r"); for(i=0;i<*p;i+) fread(&sti,sizeof(struct stu),1,fp); fclose(fp); printf("*n"); printf
20、("*請輸入相應(yīng)數(shù)字選擇查詢放條件*n"); printf("* 1:學(xué)號 *2:姓名 *3:班級 *n"); printf("*n"); scanf("%d",&a); switch(a)/選擇查找方式 case 1: printf("學(xué)號:"); scanf("%s",b); for(i=0;i<*p;i+) if(strcmp(b,sti.num)=0) printf(" 學(xué)號 班級 姓名 上機(jī)時間(時 分) 下機(jī)時間(時 分) 費(fèi)用n"
21、;); printf(" %6s %4s %8s",sti.num ,sti.clas, ); printf("t %3d%3d ",sti.hour1,sti.min1 ); printf(" t%3d%3d",sti.hour2 ,sti.min2); j=sti.hour2 -sti.hour1+(sti.min2 -sti.min1)/60.0) ; printf(" %4.2f 元n",j); c=0; if(c=1) printf("沒有相關(guān)信息"); ;break;
22、 case 2: printf("姓名:"); scanf("%s",b); for(i=0;i<*p;i+) if(strcmp(b,)=0) printf(" 學(xué)號 班級 姓名 上機(jī)時間(時 分) 下機(jī)時間(時 分) 費(fèi)用n"); printf(" %6s %4s %8s",sti.num ,sti.clas, ); printf("t %3d%3d ",sti.hour1,sti.min1 ); printf(" t%3d%3d",
23、sti.hour2 ,sti.min2); j=sti.hour2 -sti.hour1+(sti.min2 -sti.min1)/60.0) ; printf(" %4.2f 元n",j); c=0; if(c=1) printf("沒有相關(guān)信息"); ;break; case 3: printf("班級:"); scanf("%s",b); for(i=0;i<*p;i+) if(strcmp(b,sti.clas)=0) printf(" 學(xué)號 班級 姓名 上機(jī)時間(時 分) 下機(jī)時間(時 分
24、) 費(fèi)用n"); printf(" %6s %4s %8s",sti.num ,sti.clas, ); printf("t %3d%3d ",sti.hour1,sti.min1 ); printf(" t%3d%3d",sti.hour2 ,sti.min2); j=sti.hour2 -sti.hour1+(sti.min2 -sti.min1)/60.0) ; printf(" %4.2f 元n",j); c=0; if(c=1) printf("沒有相關(guān)信息"
25、); ;break; default :printf("沒有相關(guān)信息"); void del(int *p)/刪除函數(shù) int i,j; char a9; FILE *fp; FILE *fpp; fp=fopen("c:stu_list.txt","r+"); for(i=0;i<*p;i+) fread(&sti,sizeof(struct stu),1,fp); printf("輸入刪除的姓名:"); scanf("%s",a); for(i=0;i<*p;i+) if(strcmp(a,)=0) for(j=i;j<*p-1;j+); strcpy(stj.num,stj+1.num);strcpy(stj.clas,stj+1.clas);stj.hour1=stj+1.hour1; stj.min1=stj+1.min1; stj.hour2=stj+1.hour2; stj.min2=stj+1.min2; strcpy(,stj+1.name); *p=*p-1; for(i=0;i&l
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 16 太陽 教案 統(tǒng)編版五年級語文上冊
- 2024年九年級道德與法治下冊 第一單元 我們共同的世界 第一課 同住地球村 第2框 復(fù)雜多變的關(guān)系說課稿 新人教版
- 2 學(xué)會寬容 第一課時 說課稿-2023-2024學(xué)年道德與法治六年級下冊統(tǒng)編版
- 2025如何寫農(nóng)村土地承包合同范文
- 2025服裝代理商合同協(xié)議書范本
- 2《花的學(xué)?!氛f課稿-2024-2025學(xué)年統(tǒng)編版語文三年級上冊
- 隧道拆除專項施工方案
- 2024年五年級數(shù)學(xué)上冊 二 小數(shù)乘法 2小數(shù)的乘法第2課時 小數(shù)乘小數(shù)說課稿 冀教版
- 軍訓(xùn)訓(xùn)合同范例
- 黔江辦公室鋁扣板施工方案
- 做投標(biāo)文件培訓(xùn)
- 9.4+跨學(xué)科實踐:制作簡易活塞式抽水機(jī)課件+-2024-2025學(xué)年人教版物理八年級下冊
- 建筑工程工作計劃
- 2025年中國國際投資促進(jìn)中心限責(zé)任公司招聘管理單位筆試遴選500模擬題附帶答案詳解
- 瓶裝液化氣送氣工培訓(xùn)
- 外科護(hù)理課程思政課程標(biāo)準(zhǔn)
- 船舶航行安全
- 道德經(jīng)全文完整版本
- 9.2溶解度(第1課時飽和溶液不飽和溶液)+教學(xué)設(shè)計-2024-2025學(xué)年九年級化學(xué)人教版(2024)下冊
- 2024年審計局公務(wù)員招錄事業(yè)單位招聘考試招錄139人完整版附答案【研優(yōu)卷】
- 濰坊市人民醫(yī)院招聘真題
評論
0/150
提交評論