c語言課程設計書店存貨清單(含源代碼運行截圖)_第1頁
c語言課程設計書店存貨清單(含源代碼運行截圖)_第2頁
c語言課程設計書店存貨清單(含源代碼運行截圖)_第3頁
c語言課程設計書店存貨清單(含源代碼運行截圖)_第4頁
c語言課程設計書店存貨清單(含源代碼運行截圖)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

《C語言課程設計》實驗課題:書店存貨清單學院:專業(yè)班級:學號姓名:

一.使用的子函數(shù)voidwelcome();//歡迎界面voidfunction();//主功能主界面voidsubfunction(int);//次功能提示界面voidread();//讀取文件到內(nèi)存voidadd();//創(chuàng)建以及添加voidbuy();//查詢購買功能的實現(xiàn)voidsave();//文件的存儲voidlogin();//登陸二、編寫思路1.定義結構體structinformation//書店存貨結構體{chartitle[100];//書名charauthor[100];//作者charpress[100];//出版社floatdate;//出版日期doubleprice;//價格intcount;//當前圖書數(shù)量 intposition;//在清單中的位置}lists[N];2.歡迎函數(shù)voidwelcome()//歡迎界面{printf("********************************************************************************\n");printf("★---您好,歡迎使用書店存貨清單系統(tǒng)!---★\n\n");printf("books.txt正在導入中...請您稍等...\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);}程序運行1、開始運行程序首先在桌面新建一個命名為books的txt文件。運行程序彈出登錄頁面。2、登錄進入系統(tǒng)輸入用戶名“sdchqd”,密碼“666666”。登陸成功進入系統(tǒng)頁面3、錄入書籍“1”選擇錄入功能導入名為txt的書本信息4、購買書籍“2”選擇購買書籍功能購買兩本txt。5、存儲書籍“4”存儲文件功能(此時多了一個返回上級功能,否則存儲功能為“3”)不使用存儲功能則桌面內(nèi)books中無書籍信息6、退出程序使用完系統(tǒng)功能“0”退出程序。四、說明1.程序運行前須在桌面創(chuàng)建名為“books.txt”的文本文件。2.如果存儲書籍,運行時須清空文本文件中的內(nèi)容。

《課程設計報告》[問題定義]題目內(nèi)容:書店通常使用個人電腦設置一個清單來管理書籍的存貨情況,該清單記錄每本書籍的書名,作者,出版社,在清單中的位置等信息。當顧客想要買某本書時,只要輸入書籍的名稱和作者,系統(tǒng)就會顯示該書籍是否在清單中,如果書籍在清單中,系統(tǒng)會顯示書籍的詳細信息以及庫存數(shù)量,如果不在清單中,也會顯示相應的提示信息。如果顧客想買的書籍數(shù)量在庫存的范圍內(nèi),系統(tǒng)會計算總價格并顯示出來,否則,會提示“所需數(shù)量不在庫存范圍內(nèi)”。軟件功能:1.記錄:記錄書籍的存貨情況2.查詢:輸入書籍名稱作者查詢書籍詳細信息3.判斷顧客需求:判斷顧客所需書籍數(shù)量是不是在庫存范圍內(nèi),如果顧客想買的書籍數(shù)量在庫存的范圍內(nèi),執(zhí)行4,否則,會提示“所需數(shù)量不在庫存范圍內(nèi)”4.計算書籍總價:顯示顧客所需數(shù)量的書籍總價[開發(fā)工具]VisualC++6.0[數(shù)據(jù)結構]typedefstructinformation{chartitle[100]charauthor[100]charpress[100]floatdatedoublepriceintcountintposition}liststypedef聲明新類型名lists代表結構體類型結構體名information成員表列title表示書名author表示作者press表示出版社position表示在清單中的位置date表示出版日期price表示單價count表示當前圖書數(shù)量[算法描述]定義結構體歡迎函數(shù)主功能函數(shù)次功能函數(shù)讀取函數(shù)添加函數(shù)查詢購買函數(shù)存儲函數(shù)登陸函數(shù)[程序調試情況]問題:有設計用戶名密碼的想法不知道如何設計解決方法:百度問題:不知道如何存儲數(shù)據(jù)到文本中解決方法:查看課本[心得及體會]通過這次c語言課程設計,我明白了很多,也知道了很多,更收獲了很多。故這次課程設計至今我感慨頗多,的確,自從拿到題目到完成整個編程,從理論到實踐,我們小組學到了很多東西。卻學到了很多在書本上所沒有學到過的知識。通過這次課成設計使我懂得了理論與實際相結合是很重要的。只有把所學的理論知識與實際相結合起來,從理論中得出結論,才能真正的有所成就。設計的過程中遇到的問題,同時在設計中發(fā)現(xiàn)自己的不足。對以前所學的知識理解不夠深刻,掌握不夠牢固。同時我們也明白了合作的重要性,小組內(nèi)積極討論,遇到難題迎難而上。課程設計是一個把需求分析程序,編寫程序調試,撰寫報告結合為一體的過程。這個過程中不僅僅鍛煉了我們縝密的思維和堅持不懈的毅力,更磨練了一個隊伍團結互助的精神。只有通過大家一起努力,才能將課程設計的所有環(huán)節(jié)都順利完成。相信在以后的學習生活中,我會有更多的實踐機會來提高自己的能力。培養(yǎng)自己的耐心,這是一次難忘的設計課程。感謝老師的指導幫助,感謝同組成員的互相幫助。[教師評語(評分)]源代碼:#include<stdio.h>#include<string.h>#include<stdlib.h>#defineN100//結構體的定義structinformation//書店存貨結構體{chartitle[100];//書名charauthor[100];//作者charpress[100];//出版社floatdate;//出版日期doubleprice;//價格intcount;//當前圖書數(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正在導入中...請您稍等...\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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論