




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
CreatedonDATE\@"M/d/yyyyh:mm:ssam/pm"6/19/20125:05:54PMC語言課程設(shè)計報告題目:圖書信息管理系統(tǒng)系部名稱:計算機(jī)與信息技術(shù)學(xué)院專業(yè)名稱:班級:學(xué)號:學(xué)生姓名:指導(dǎo)教師:時間:2010年7月10日2010年一、課程設(shè)計目的1)對C各部分知識的綜合應(yīng)用能力2)提高程序設(shè)計的能力3)提升對于較大程序的抽象分析設(shè)計能力4)學(xué)習(xí)調(diào)試和測試的技巧二、課程設(shè)計內(nèi)容1)熟悉C實(shí)驗(yàn)環(huán)境,按給定的上機(jī)步驟練習(xí)完成;2)熟悉C程序的編輯,編譯,鏈接和運(yùn)行的過程。3)編譯一個應(yīng)用系統(tǒng)程序,形成一個軟件系統(tǒng)。三、需求分析隨著當(dāng)今社會發(fā)展,信息化水平逐步提高,對圖書管理有了新的要求,因此,編寫一個信息管理系統(tǒng)是十分有必要的。該軟件主要是實(shí)現(xiàn)對圖書信息進(jìn)行系統(tǒng)化的管理,首先可以對學(xué)生基本信息進(jìn)行輸入和讀取,其次查找并顯示特定圖書的相關(guān)信息,然后可以插入圖書的相關(guān)信息,以求達(dá)到簡易操作的目的。四、概要設(shè)計(或總體設(shè)計)1.系統(tǒng)結(jié)構(gòu)圖(功能模塊圖)和數(shù)據(jù)變量說明主菜單主菜單輸入列表查找刪除退出修改2.功能模塊說明1.輸入模塊2.列表模塊-1-1-1-1開始輸入輸入數(shù)據(jù)i=-1i=-1返回主程序返回主程序返回主程序開始開始輸出列表返回主程序3.查找模塊開始開始讀文件數(shù)據(jù)輸入choosestrcmp(ans,stu[i].author)==0?輸出數(shù)據(jù)返回主函數(shù)返回主函數(shù)YNchoose==1?strcmp(ans,stu[i].name)==0?Y輸出數(shù)據(jù)返回主函數(shù)NN Y N開始讀文件數(shù)據(jù)列出數(shù)據(jù)輸入sstu[i].num==s?N開始讀文件數(shù)據(jù)列出數(shù)據(jù)輸入sstu[i].num==s?刪除數(shù)據(jù)Y返回主函數(shù)返回主函數(shù)輸出數(shù)據(jù)開始讀文件數(shù)據(jù)輸入numstu[i].num==num?輸出數(shù)據(jù)返回主函數(shù)YN顯示數(shù)據(jù)修改數(shù)據(jù)返回主函數(shù)五、運(yùn)行情況主菜單錄入數(shù)據(jù)3.輸出數(shù)據(jù)3.查找數(shù)據(jù)5.刪除數(shù)據(jù)6.修改數(shù)據(jù)7.退出系統(tǒng)六、設(shè)計體會和反思通過兩周的上機(jī)實(shí)習(xí),我對C語言又有了嶄新的認(rèn)識。C語言的學(xué)習(xí)是一個系統(tǒng)的過程,需要長期的知識積累和儲備并輔以大量的上級實(shí)際操作練習(xí),自己也應(yīng)該有所體會,在實(shí)踐中成長,在實(shí)踐中求知。這次我設(shè)計的課題是圖書信息管理系統(tǒng)。課題要求對圖書信息實(shí)現(xiàn)一系列基本操作。我選擇通過結(jié)構(gòu)體數(shù)組來實(shí)現(xiàn)這個設(shè)計。通過fread和fwrite兩個函數(shù)實(shí)現(xiàn)對文件的讀寫,過程比較簡潔(這里也有參考《C程序設(shè)計》中某例題的思想)。通過大量的符號和printf語句,使得操作界面更加和諧友善,這些都是我通過這次實(shí)習(xí)積累的經(jīng)驗(yàn)。同時,設(shè)計完成后我也發(fā)現(xiàn)了代碼中的一些不足,例如在錄入數(shù)據(jù)時要求輸入序號的值,這個我認(rèn)為操作比較復(fù)雜,但由于時間緊迫,未能提出完美的解決方案,但此問題并不影響程序的運(yùn)行和要求的實(shí)現(xiàn)。另外,在查詢信息時,只會輸出一條符合要求的圖書信息,且輸出多次。經(jīng)過實(shí)際檢驗(yàn),只要按照程序要求輸入,就能夠?qū)崿F(xiàn)。總之,通過這次實(shí)習(xí),我也認(rèn)識到了我自己在程序設(shè)計這門課程上的不足,在以后的學(xué)習(xí)實(shí)踐中,要更加的嚴(yán)謹(jǐn)踏實(shí),對知識的把握要更加的細(xì)致入微,要活學(xué)活用,爭取在這個學(xué)科上取得更大的進(jìn)步。七、參考文獻(xiàn)譚浩強(qiáng)著.C程序設(shè)計(第三版).北京:清華大學(xué)出版社,2005CreatedonDATE\@"M/d/yyyyh:mm:ssam/pm"6/19/20125:05:54PM八、程序源代碼#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>#defineMAX100structStudent{ intnum;/*登錄號*/ charname[100];/*書名*/ charauthor[100];/*作者名*/ charfn[100];/*分類號*/ charplace[100];/*出版單位*/ charday[100];/*出版時間*/ floatmoney;/*價格*/}stu[MAX];main()/*主函數(shù)*/{ voidInput();/*輸入*/ voidDisplay();/*輸出*/ voidFind();/*查找*/ voidModify();/*刪除*/ voidChange();/*修改*/ intn;for(;;) { printf("\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf("※※\n");printf("※歡迎來到圖書信息管理系統(tǒng)※\n");printf("※※\n");printf("※※\n"); printf("※主菜單※\n"); printf("※※\n");printf("※▲1.圖書信息錄入▲※\n"); printf("※※\n"); printf("※▲2.圖書信息瀏覽▲※\n");printf("※※\n"); printf("※▲3.圖書信息查詢▲※\n"); printf("※※\n"); printf("※▲4.圖書信息刪除▲※\n"); printf("※※\n"); printf("※▲5.圖書信息修改▲※\n");printf("※※\n"); printf("※▲6.退出系統(tǒng)▲※\n");printf("※※\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n");printf("請輸入選擇項(xiàng)(1-6):");scanf("%d",&n);printf("\n\n\n\n");if(n>0&&n<7) { switch(n) { case1:Input();break;case2:Display();break;case3:Find();break;case4:Modify();break; case5:Change();break;case6:printf("※※※※※※※※※※※※※※※※※※※※※※※※\n");printf("※※\n");printf("※謝謝使用!※\n");printf("※再見!※\n");printf("※※\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※\n");exit(0); } }else { printf("※※※※※※※※※※※※※※※※※※※※※※※※\n");printf("※※\n");printf("※輸入錯誤!※\n");printf("※請退出!※\n");printf("※※\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※\n"); break; } }}voidFind()/*查找*/{ FILE*fp; inti; intchoose,t; charans[100]; do { printf("1.按書名查找\n"); printf("2.按作者名查找\n"); printf("返回主菜單(其他數(shù)字)\n"); scanf("%d",&choose); if(choose==1) { printf("輸入所查書名:\n"); scanf("%s",ans); t=-1; if(choose==1) { for(i=0;i<MAX;i++)if(strcmp(ans,stu[i].name)==0) { t=i;fp=fopen("student","rb"); for(i=0;fread(&stu[i],sizeof(structStudent),1,fp)==1;i++) printf("%d%s%s%s%s%s%f\n",stu[t].num,stu[t].name,stu[t].author,stu[t].fn,stu[t].place,stu[t].day,stu[t].money); } } if(t==-1)printf("不存在該信息\n"); } elseif(choose==2) { printf("輸入所查作者名:\n"); scanf("%s",ans); t=-1; if(choose==2) { for(i=0;i<MAX;i++) if(strcmp(ans,stu[i].author)==0) {t=i;fp=fopen("student","rb"); for(i=0;fread(&stu[i],sizeof(structStudent),1,fp)==1;i++) printf("%d%s%s%s%s%s%f\n",stu[t].num,stu[t].name,stu[t].author,stu[t].fn,stu[t].place,stu[t].day,stu[t].money); } } if(t==-1)printf("不存在該信息\n"); } elsereturn; }while(1);}voidDisplay()/*輸出*/{ FILE*fp;inti;fp=fopen("student","rb");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf("圖書列表\n");printf("-----------------------------------------------------------\n");printf("登錄號書名作者名分類號出版單位出版時間價格\n");printf("-----------------------------------------------------------\n");for(i=0;fread(&stu[i],sizeof(structStudent),1,fp)==1;i++) { printf("%6d%8s%8s%8s%8s%8s%8.2f\n",stu[i].num,stu[i].name,stu[i].author,stu[i].fn,stu[i].place,stu[i].day,stu[i].money); } fclose(fp);}voidInput()/*輸入*/{ FILE*fp; intn; fp=fopen("student","wb"); for(n=0;n<MAX;n++) { printf("n=%d輸入序號n(當(dāng)輸入n=-1時,返回),n=",n++);scanf("%d",&n); if(n==-1) { fclose(fp); return; } else { printf("請輸入登錄號書名作者名分類號出版單位出版時間價格\n"); scanf("%d%s%s%s%s%s%f",&stu[n].num,stu[n].name,stu[n].author,stu[n].fn,stu[n].place,stu[n].day,&stu[n].money); fwrite(&stu[n],sizeof(structStudent),1,fp); } } fclose(fp);}voidModify()/*刪除*/{ FILE*fp; inti,flag,n,s,j;fp=fopen("student","rb+");rewind(fp);printf("圖書列表\n");printf("-----------------------------------------------------------\n");printf("登錄號書名作者名分類號出版單位出版時間價格\n");printf("-----------------------------------------------------------\n");for(i=0;fread(&stu[i],sizeof(structStudent),1,fp)==1;i++) {printf("%6d%8s%8s%8s%8s%8s%8.2f\n",stu[i].num,stu[i].name,stu[i].author,stu[i].fn,stu[i].place,stu[i].day,stu[i].money);printf("\n"); } n=i; printf("輸入待刪除圖書號:\n"); scanf("%d",&s); for(i=0,flag=1;flag&&i<n;i++) { if(s==stu[i].num) { for(j=i;j<n-1;j++) { stu[j].num=stu[j+1].num; strcpy(stu[j].name,stu[j+1].name);strcpy(stu[j].author,stu[j+1].author); strcpy(stu[j].fn,stu[j+1].fn); strcpy(stu[j].place,stu[j+1].place); strcpy(stu[j].day,stu[j+1].day); stu[j].money=stu[j+1].money; } flag=0; } } if(!flag) n=n-1; else printf("沒有此號\n"); fp=fopen("student","wb"); for(i=0;i<n;i++) fwrite(&stu[i],sizeof(structStudent),1,fp);fclose(fp); fp=fopen("student","r");printf("圖書列表\n");printf("-----------------------------------------------------------\n");printf("登錄號書名作者名分類號出版單位出版時間價格\n");printf("-----------------------------------------------------------\n");for(i=0;i<n;i++) {fread(&stu[i],sizeof(structStudent),1,fp);printf("%6d%8s%8s%8s%8s%8s%8.2f\n",stu[i].num,stu[i].name,stu[i].author,stu[i].fn,stu[i].place,stu[i].day,stu[i].money);printf("\n"); }fclose(fp);} voidChange()/*修改*/{ FILE*fp;inti,num,n;intflag=0;printf("請輸入要修改的圖書號:");scanf("%d",&num);for(i=0;i<=MAX;i++)if(stu[i].num==num) {printf("圖書列表\n");printf("-----------------------------------------------------------\n");printf("登錄號書名作者名分類號出版單位出版時間價格\n");printf("-----------------------------------------------------------\n");printf("%6d%8s%8s%8s%8s%8s%8.2f\n",stu[i].num,stu[i].name,stu[i].author,stu[i].fn,stu[i].place,stu[i].day,stu[i].money);printf("-----------------------------------------------------------\n\n");n=i;flag=1;break; }if(flag==0) { printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康促進(jìn)工作培訓(xùn)課件
- T/ZHCA 106-2023人參提取物稀有人參皂苷Rh2
- 垂花柱設(shè)計思路解析
- 中華優(yōu)傳統(tǒng)文化 課件 第六章 中國傳統(tǒng)史學(xué)
- 2025遼寧廣告職業(yè)學(xué)院輔導(dǎo)員考試試題及答案
- 2025貴州航天職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試試題及答案
- 2025紅河衛(wèi)生職業(yè)學(xué)院輔導(dǎo)員考試試題及答案
- 《鋼鐵是怎樣練成的》讀后感字
- 體育與衛(wèi)生健康融合知識
- 秦漢時期的藝術(shù)設(shè)計
- 無菌藥品(附檢查指南)
- 眾辰變頻器說明書3400
- 山東大學(xué)《概率論與數(shù)理統(tǒng)計》期末試題及答案
- GB∕T 33917-2017 精油 手性毛細(xì)管柱氣相色譜分析 通用法
- 高壓氧治療操作規(guī)程以及護(hù)理常規(guī)
- 新能源汽車的研究論文
- 材料科學(xué)基礎(chǔ)基礎(chǔ)知識點(diǎn)總結(jié)
- 數(shù)控銑工圖紙(60份)(共60頁)
- 惠州市出租車駕駛員從業(yè)資格區(qū)域科目考試題庫(含答案)
- 加工設(shè)備工時單價表
- 高脂血癥藥物治療ppt課件
評論
0/150
提交評論