




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《C語言課程設(shè)計》實驗課題:書店存貨清單學(xué)院:專業(yè)班級:學(xué)號姓名:
一.使用的子函數(shù)voidwelcome();//歡迎界面voidfunction();//主功能主界面voidsubfunction(int);//次功能提示界面voidread();//讀取文件到內(nèi)存voidadd();//創(chuàng)建以及添加voidbuy();//查詢購買功能的實現(xiàn)voidsave();//文件的存儲voidlogin();//登陸二、編寫思路1.定義結(jié)構(gòu)體structinformation//書店存貨結(jié)構(gòu)體{chartitle[100];//書名charauthor[100];//作者charpress[100];//出版社floatdate;//出版日期doubleprice;//價格intcount;//當(dāng)前圖書數(shù)量 intposition;//在清單中的位置}lists[N];2.歡迎函數(shù)voidwelcome()//歡迎界面{printf("********************************************************************************\n");printf("★---您好,歡迎使用書店存貨清單系統(tǒng)!---★\n\n");printf("books.txt正在導(dǎo)入中...請您稍等...\n\n");read();//讀取}3.主功能函數(shù)voidfunction()//主功能主界面{printf("********************************************************************************\n");printf("--------☆請選擇功能☆--------\n\n" "--------☆1.錄入書籍☆--------\n\n" "--------☆2.購買書籍☆--------\n\n" "--------☆3.存儲書籍☆--------\n\n" "--------☆0.退出程序☆--------\n\n");printf("********************************************************************************\n\n");intc;scanf("%d",&c);switch(c){case1:add();break;case2:buy();break;case3:save();break;case0:exit(0);break;default:printf("輸入錯誤!正在返回...\n");function();break;}}4.次功能函數(shù)voidsubfunction(intk)//次功能提示界面{printf("********************************************************************************\n");printf("--------☆請選擇功能☆--------\n\n" "--------☆1.返回上級☆--------\n\n" "--------☆2.錄入書籍☆--------\n\n" "--------☆3.購買書籍☆--------\n\n" "--------☆4.存儲書籍☆--------\n\n" "--------☆0.退出程序☆--------\n\n");printf("********************************************************************************\n\n");intc;scanf("%d",&c);switch(c)//次功能選擇的實現(xiàn){case1:function();break;case2:add();break;case3:buy();break;case4:save();break;case0:exit(0);break;default:printf("輸入錯誤!正在返回...\n");subfunction(k);break;}}5.讀取函數(shù)voidread()//讀取文件到內(nèi)存{FILE*fp;fp=fopen("books.txt","r");//文件是否正常打開if(fp==NULL){printf("對不起,文件不存在!\n\n");printf("********************************************************************************\n");exit(0);}//從文件讀取到內(nèi)存for(;i<N;i++){if(feof(fp))break;fscanf(fp,"%s",lists[i].title);fscanf(fp,"%s",lists[i].author);fscanf(fp,"%s",lists[i].press);fscanf(fp,"%f",lists[i].date);fscanf(fp,"%lf",lists[i].price);fscanf(fp,"%d",lists[i].count);fscanf(fp,"%d",lists[i].position);}i--;fclose(fp);}6.添加函數(shù)voidadd()//創(chuàng)建以及添加{printf("請輸入書名:\n");scanf("%s",lists[i].title);printf("請輸入作者:\n");scanf("%s",lists[i].author);printf("請輸入出版社:\n");scanf("%s",lists[i].press);printf("請輸入出版日期:\n");scanf("%f",&lists[i].date);printf("請輸入價格:\n");scanf("%lf",&lists[i].price);printf("請輸入數(shù)量:\n");scanf("%d",&lists[i].count);printf("請輸入序號:\n");scanf("%d",&lists[i].position);i++;//全局變量的自增function();}7.查詢購買函數(shù)voidbuy()//查詢購買功能的實現(xiàn){printf("請輸入書名:\n");//輸入書名搜索charstr[50],c;intn;scanf("%s",str);intk;for(k=0;k<=i;k++)if(!strcmp(lists[k].title,str)){printf("書名:");printf("%s",lists[k].title);printf("\n");printf("作者:");printf("%s",lists[k].author);printf("\n");printf("出版社:");printf("%s",lists[k].press);printf("\n");printf("出版日期:");printf("%.2f",lists[k].date);printf("\n");printf("價格:");printf("%.2lf",lists[k].price);printf("\n");printf("數(shù)量:");printf("%d",lists[k].count);printf("\n");printf("序號:");printf("%d",lists[k].position);printf("\n");printf("請輸入所需數(shù)量:");fflush(stdin);scanf("%d",&n);if(n<=lists[k].count){printf("總價為:%.2lf\n",n*lists[k].price);}elseprintf("所需數(shù)量不在庫存范圍內(nèi)\n");printf("是否還想買其他書籍?(Y/N)\n");fflush(stdin);scanf("%c",&c);if(c=='y'||c=='Y')buy();elsebreak;}if(lists[k].title[0]=='\0')printf("您查找的信息不存在或已刪除,請重新查找\n");subfunction(k);}8.存儲函數(shù)voidsave()//文件的存儲{FILE*fp;fp=fopen("books.txt","w+");intj;for(j=0;j<i;j++){fprintf(fp,"%s",lists[j].title);fprintf(fp,"\n");fprintf(fp,"%s",lists[j].author);fprintf(fp,"\n");fprintf(fp,"%s",lists[j].press);fprintf(fp,"\n");fprintf(fp,"%.2f",lists[j].date);fprintf(fp,"\n");fprintf(fp,"%.2lf",lists[j].price);fprintf(fp,"\n");fprintf(fp,"%d",lists[j].count);fprintf(fp,"\n");fprintf(fp,"%d",lists[j].position);fprintf(fp,"\n");}fclose(fp);printf("文件已存儲!\n");}9.登陸函數(shù)voidlogin()//登陸{charname[10];charcode[10];charname1[10]="sdchqd";charcode1[10]="666666";intj=0,d=0;charc;printf("********************************************************************************\n");printf("\t\t\t\t書店存貨清單系統(tǒng)\n");printf("\t\t\t\t請您登錄\n");while(j<3){printf("\t\t\t\t請輸入用戶名:\n\t\t\t\t");inta,b;for(a=0;(c=getchar())!='\n';a++)name[a]=c;name[a]='\0';printf("\t\t\t\t請輸入密碼:\n\t\t\t\t");for(b=0;(c=getchar())!='\n';b++)code[b]=c;code[b]='\0';if(!strcmp(name,name1)==0||!strcmp(code,code1)==0)printf("\t\t\t用戶名或密碼錯誤!\n\n");else{d=1;break;}j++;}if(d==1)welcome();elseif(d==0)exit(0);}程序運(yùn)行1、開始運(yùn)行程序首先在桌面新建一個命名為books的txt文件。運(yùn)行程序彈出登錄頁面。2、登錄進(jìn)入系統(tǒng)輸入用戶名“sdchqd”,密碼“666666”。登陸成功進(jìn)入系統(tǒng)頁面3、錄入書籍“1”選擇錄入功能導(dǎo)入名為txt的書本信息4、購買書籍“2”選擇購買書籍功能購買兩本txt。5、存儲書籍“4”存儲文件功能(此時多了一個返回上級功能,否則存儲功能為“3”)不使用存儲功能則桌面內(nèi)books中無書籍信息6、退出程序使用完系統(tǒng)功能“0”退出程序。四、說明1.程序運(yùn)行前須在桌面創(chuàng)建名為“books.txt”的文本文件。2.如果存儲書籍,運(yùn)行時須清空文本文件中的內(nèi)容。
《課程設(shè)計報告》[問題定義]題目內(nèi)容:書店通常使用個人電腦設(shè)置一個清單來管理書籍的存貨情況,該清單記錄每本書籍的書名,作者,出版社,在清單中的位置等信息。當(dāng)顧客想要買某本書時,只要輸入書籍的名稱和作者,系統(tǒng)就會顯示該書籍是否在清單中,如果書籍在清單中,系統(tǒng)會顯示書籍的詳細(xì)信息以及庫存數(shù)量,如果不在清單中,也會顯示相應(yīng)的提示信息。如果顧客想買的書籍?dāng)?shù)量在庫存的范圍內(nèi),系統(tǒng)會計算總價格并顯示出來,否則,會提示“所需數(shù)量不在庫存范圍內(nèi)”。軟件功能:1.記錄:記錄書籍的存貨情況2.查詢:輸入書籍名稱作者查詢書籍詳細(xì)信息3.判斷顧客需求:判斷顧客所需書籍?dāng)?shù)量是不是在庫存范圍內(nèi),如果顧客想買的書籍?dāng)?shù)量在庫存的范圍內(nèi),執(zhí)行4,否則,會提示“所需數(shù)量不在庫存范圍內(nèi)”4.計算書籍總價:顯示顧客所需數(shù)量的書籍總價[開發(fā)工具]VisualC++6.0[數(shù)據(jù)結(jié)構(gòu)]typedefstructinformation{chartitle[100]charauthor[100]charpress[100]floatdatedoublepriceintcountintposition}liststypedef聲明新類型名lists代表結(jié)構(gòu)體類型結(jié)構(gòu)體名information成員表列title表示書名author表示作者press表示出版社position表示在清單中的位置date表示出版日期price表示單價count表示當(dāng)前圖書數(shù)量[算法描述]定義結(jié)構(gòu)體歡迎函數(shù)主功能函數(shù)次功能函數(shù)讀取函數(shù)添加函數(shù)查詢購買函數(shù)存儲函數(shù)登陸函數(shù)[程序調(diào)試情況]問題:有設(shè)計用戶名密碼的想法不知道如何設(shè)計解決方法:百度問題:不知道如何存儲數(shù)據(jù)到文本中解決方法:查看課本[心得及體會]通過這次c語言課程設(shè)計,我明白了很多,也知道了很多,更收獲了很多。故這次課程設(shè)計至今我感慨頗多,的確,自從拿到題目到完成整個編程,從理論到實踐,我們小組學(xué)到了很多東西。卻學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課成設(shè)計使我懂得了理論與實際相結(jié)合是很重要的。只有把所學(xué)的理論知識與實際相結(jié)合起來,從理論中得出結(jié)論,才能真正的有所成就。設(shè)計的過程中遇到的問題,同時在設(shè)計中發(fā)現(xiàn)自己的不足。對以前所學(xué)的知識理解不夠深刻,掌握不夠牢固。同時我們也明白了合作的重要性,小組內(nèi)積極討論,遇到難題迎難而上。課程設(shè)計是一個把需求分析程序,編寫程序調(diào)試,撰寫報告結(jié)合為一體的過程。這個過程中不僅僅鍛煉了我們縝密的思維和堅持不懈的毅力,更磨練了一個隊伍團(tuán)結(jié)互助的精神。只有通過大家一起努力,才能將課程設(shè)計的所有環(huán)節(jié)都順利完成。相信在以后的學(xué)習(xí)生活中,我會有更多的實踐機(jī)會來提高自己的能力。培養(yǎng)自己的耐心,這是一次難忘的設(shè)計課程。感謝老師的指導(dǎo)幫助,感謝同組成員的互相幫助。[教師評語(評分)]源代碼:#include<stdio.h>#include<string.h>#include<stdlib.h>#defineN100//結(jié)構(gòu)體的定義structinformation//書店存貨結(jié)構(gòu)體{chartitle[100];//書名charauthor[100];//作者charpress[100];//出版社floatdate;//出版日期doubleprice;//價格intcount;//當(dāng)前圖書數(shù)量 intposition;//在清單中的位置}lists[N];//函數(shù)的聲明voidwelcome();voidfunction();voidsubfunction(int);voidread();voidadd();voidbuy();voidsave();voidlogin();inti=0;//定義全局變量intmain()//主函數(shù){login();function();return(0);}voidwelcome()//歡迎界面{printf("********************************************************************************\n");printf("★---您好,歡迎使用書店存貨清單系統(tǒng)!---★\n\n");printf("books.txt正在導(dǎo)入中...請您稍等...\n\n");read();//讀取}voidfunction()//主功能主界面{printf("********************************************************************************\n");printf("--------☆請選擇功能☆--------\n\n" "--------☆1.錄入書籍☆--------\n\n" "--------☆2.購買書籍☆--------\n\n" "--------☆3.存儲書籍☆--------\n\n" "--------☆0.退出程序☆--------\n\n");printf("********************************************************************************\n\n");intc;scanf("%d",&c);switch(c){case1:add();break;case2:buy();break;case3:save();break;case0:exit(0);break;default:printf("輸入錯誤!正在返回...\n");function();break;}}voidsubfunction(intk)//次功能提示界面{printf("********************************************************************************\n");printf("--------☆請選擇功能☆--------\n\n" "--------☆1.返回上級☆--------\n\n" "--------☆2.錄入書籍☆--------\n\n" "--------☆3.購買書籍☆--------\n\n" "--------☆4.存儲書籍☆--------\n\n" "--------☆0.退出程序☆--------\n\n");printf("********************************************************************************\n\n");intc;scanf("%d",&c);switch(c)//次功能選擇的實現(xiàn){case1:function();break;case2:add();break;case3:buy();break;case4:save();break;case0:exit(0);break;default:printf("輸入錯誤!正在返回...\n");subfunction(k);break;}}voidread()//讀取文件到內(nèi)存{FILE*fp;fp=fopen("books.txt","r");//文件是否正常打開if(fp==NULL){printf("對不起,文件不存在!\n\n");printf("********************************************************************************\n");exit(0);}//從文件讀取到內(nèi)存for(;i<N;i++){if(feof(fp))break;fscanf(fp,"%s",lists[i].title);fscanf(fp,"%s",lists[i].author);fscanf(fp,"%s",lists[i].press);fscanf(fp,"%f",lists[i].date);fscanf(fp,"%lf",lists[i].price);fscanf(fp,"%d",lists[i].count);fscanf(fp,"%d",lists[i].position);}i--;fclose(fp);}voidadd()//創(chuàng)建以及添加{printf("請輸入書名:\n");scanf("%s",lists[i].title);printf("請輸入作者:\n");scanf("%s",lists[i].author);printf("請輸入出版社:\n");scanf("%s",lists[i].press);printf("請輸入出版日期:\n");scanf("%f",&lists[i].date);printf("請輸入價格:\n");scanf("%lf",&lists[i].price);printf("請輸入數(shù)量:\n");scanf("%d",&lists[i].count);printf("請輸入序號:\n");scanf("%d",&lists[i].position);i++;//全局變量的自增function();}voidbuy()//查詢購買功能的實現(xiàn){printf("請輸入書名:\n");//輸入書名搜索charstr[50],c;intn;scanf("%s",str);intk;for(k=0;k<=i;k++)if(!strcmp(lists[k].title,str)){printf("書名:");printf("%s",lists[k].title);printf("\n");printf("作者:");printf("%s",lists[k].author);printf("\n");printf("出版社:");printf("%s",lists[k].press);printf("\n");printf("出版日期:");printf("%.2f",lists[k].date);printf("\n");printf("價格:");printf("%.2lf",lists[k].price);printf("\n");printf("數(shù)量:");printf("%d",lists[k].count);printf("\n");printf("序號:");printf("%d",lists[k].position);printf("\n");printf("請輸入所需數(shù)量:");fflush(stdin);scanf("%d",&n);if(n<=lists[k].count){printf("總價為:%.2lf\n",n*lists[k].price);}elseprintf("所需數(shù)量不在庫存范圍內(nèi)\n");printf("是否還想買其他書籍?(Y/N)\n");fflush(stdin);sca
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息處理技術(shù)員經(jīng)典考題及答案
- 軟件測試的重要性和方法試題及答案
- 計算機(jī)應(yīng)用案例分析試題及答案
- 材料疲勞壽命評估數(shù)據(jù)可視化重點(diǎn)基礎(chǔ)知識點(diǎn)
- 行政管理綜合素質(zhì)試題及答案分享
- 軍訓(xùn)火災(zāi)應(yīng)急預(yù)案范文(3篇)
- 選擇的里程碑2024年高考作文考試試題及答案
- 2025年戰(zhàn)略管理中的組織變革試題及答案
- 行政法學(xué)與其他學(xué)科融合試題及答案
- 設(shè)計模式在實際項目中的應(yīng)用案例試題及答案
- (高清版)DG∕TJ 08-7-2021 建筑工程交通設(shè)計及停車庫(場)設(shè)置標(biāo)準(zhǔn)
- 無房無車離婚協(xié)議書
- 2025年廣東省廣州市南沙區(qū)中考數(shù)學(xué)一模試卷
- DZ∕T 0450-2023 地質(zhì)災(zāi)害監(jiān)測數(shù)據(jù)通信技術(shù)要求(正式版)
- 2024年湖北省中考地理生物試卷(含答案)
- 人教版五年級數(shù)學(xué)下冊 7 折線統(tǒng)計圖 第1課時 單式折線統(tǒng)計圖(教學(xué)課件)
- 電梯產(chǎn)品數(shù)據(jù)表
- 工廠經(jīng)營管理考核方案.doc
- A4橫線稿紙模板(可直接打印)-a4線條紙
- 電氣裝置安裝工程接地裝置施工及驗收規(guī)范——50169-2006
- 列車牽規(guī)正文
評論
0/150
提交評論