版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p> 一.課程設(shè)計(jì)的內(nèi)容**************************************************3</p><p> 二.需求分析**********************************************************3</p><p
2、> 三.概要設(shè)計(jì)**********************************************************3</p><p> 3.1軟件運(yùn)行開發(fā)平臺(tái)*******************************************************3</p><p> 3.2 數(shù)據(jù)結(jié)構(gòu)****************************
3、**********************************4</p><p> 3.3系統(tǒng)結(jié)構(gòu)圖*************************************************************5</p><p> 四.詳細(xì)設(shè)計(jì)***********************************************************5<
4、;/p><p> 4.1頭文件,變量定義,函數(shù)**************************************************5</p><p> 4.2 管理員登錄,新用戶注冊(cè)模塊**********************************************6</p><p> 4.3菜單模塊設(shè)計(jì)****************
5、********************************************9</p><p> 4.4輸入模塊設(shè)計(jì)************************************************************9</p><p> 4.5瀏覽模塊設(shè)計(jì)**************************************************
6、*********10</p><p> 4.6查詢模塊設(shè)計(jì)***********************************************************11</p><p> 4.7刪除模塊設(shè)計(jì)***********************************************************12</p><p>
7、4.8修改模塊設(shè)計(jì)***********************************************************13</p><p> 五.測(cè)試,結(jié)果分析**************************************************15</p><p> 5.1數(shù)據(jù)分析************************************
8、***************************15</p><p> 5.2測(cè)試截圖***************************************************************16</p><p> 六.總結(jié)****************************************************************22<
9、;/p><p> 七.參考文獻(xiàn)***********************************************************22</p><p> 八.附源程序***********************************************************22</p><p><b> 課程設(shè)計(jì)的內(nèi)容<
10、/b></p><p> 圖書信息包括:登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格等。試設(shè)計(jì)一圖書信息管理系統(tǒng),使之能提供以下功能: 系統(tǒng)以菜單方式工作 圖書信息錄入功能(圖書信息用文件保存) 圖書信息瀏覽功能 圖書信息查詢功能(按書名查詢,按作者名查詢,按登錄號(hào)查詢) 圖書信息的刪除與修改(可選項(xiàng))</p><p> 擴(kuò)展功能
11、(管理員登錄,新用戶注冊(cè),并且每個(gè)用戶都有獨(dú)立的文件來保存他的信息,用戶之間通過密碼識(shí)別,互不影響)</p><p><b> 需求分析</b></p><p> 根據(jù)題目要求,應(yīng)把圖書信息用結(jié)構(gòu)體形式輸入,再存放入文件中儲(chǔ)存。所以應(yīng)該提供一個(gè)結(jié)構(gòu)體和文件的輸入輸出操作。在程序中需要實(shí)現(xiàn)圖書信息錄入,瀏覽,查詢,刪除和修改等功能的操作,所以需要建立相應(yīng)的模塊來實(shí)現(xiàn)
12、;另外還需提供鍵盤式選擇菜單實(shí)現(xiàn)功能,在運(yùn)行時(shí)達(dá)到所要目的。還有,應(yīng)該有管理員登錄用戶密碼識(shí)別的模塊和新用戶注冊(cè)的模塊,以實(shí)現(xiàn)多用戶同時(shí)使用該系統(tǒng)的目的,而通過用戶名來保存相應(yīng)的信息,用戶之間互不干擾。</p><p><b> 概要設(shè)計(jì)</b></p><p> 3.1 軟件運(yùn)行與開發(fā)平臺(tái)</p><p> Visual C++ 簡介&
13、lt;/p><p> 這個(gè)系統(tǒng)前臺(tái)所用的開發(fā)工具是Visual C++ 6.0,它是Microsoft 公司開發(fā)的基于C/C++的集成開發(fā)工具,是Visual Studio中功能最為強(qiáng)大,代碼效率最高的開發(fā)工具.</p><p> Visual C++ 6.0跟以前的版本相比,它的編譯器,調(diào)試器,連接器,編輯器,資源編輯器都有所加強(qiáng),在編輯器中還提供了自動(dòng)語句生成功能,編輯器會(huì)像Visua
14、l Basic那樣自動(dòng)提示函數(shù)的參數(shù),對(duì)象成員.另外, Visual C++ 6.0還提供了許多的向?qū)?在MFC中新增了一些類,提供了更加強(qiáng)大的數(shù)據(jù)訪問功能.</p><p> 程序員可以利用Visual C++ 6.0以基于Windows API的C編程方式或基于MFC的C++編程方式,也可混合編程,使工作效率相對(duì)提高,開發(fā)工作量減少,源代碼效率高.從面使Visual C++ 6.0成為目前開發(fā)Windows
15、應(yīng)用程序最好、最高效的開發(fā)工具之一。同時(shí)在數(shù)據(jù)庫系統(tǒng)開發(fā)方面也有很大的優(yōu)勢(shì).</p><p><b> 3.2 數(shù)據(jù)結(jié)構(gòu)</b></p><p> 本系統(tǒng)定義了兩個(gè)結(jié)構(gòu)體變量,分別用來儲(chǔ)存管理員信息與圖書信息。各模塊的數(shù)據(jù)結(jié)構(gòu)如下:</p><p> 3.2.1 菜單選擇模塊:(</p><p><b&g
16、t; 給出信息提示;</b></p><p> 繪制菜單(包含輸入、顯示、查詢、修改、刪除、退出、排序);</p><p> 提示菜單選擇并讀入到變量;</p><p> 根據(jù)讀入變量的值調(diào)用不同的模塊函數(shù);)</p><p> 3.2.2 信息輸入模塊:(</p>&l
17、t;p><b> 打開職工信息文件;</b></p><p><b> 發(fā)出輸入提示信息;</b></p><p><b> 輸入職工信息;</b></p><p><b> 提示是否繼續(xù)輸入;</b></p><p><b>
18、讀入到變量;</b></p><p> 根據(jù)讀入變量的值進(jìn)入菜單或輸入函數(shù)模塊;)</p><p> 3.2.3 信息輸出模塊:(</p><p> 輸出所有圖書的所有信息。)</p><p> 3.2.4 信息查詢模塊:(</p><p> 調(diào)用s
19、witch函數(shù);</p><p><b> 給出信息提示;</b></p><p> 提示菜單選擇并讀入到變量;</p><p> 根據(jù)讀入變量的值進(jìn)入不同的case;</p><p> Case 1 給出信息提示;</p><p> 提示菜單選擇并讀入到變量;</p>
20、<p> Strcmp函數(shù)將保存的信息與變量比較,如有相同,就輸出該圖書的所有信息;否則,提示出錯(cuò)。</p><p> Case 2 給出信息提示;</p><p> 提示菜單選擇并讀入到變量;</p><p> Strcmp函數(shù)將保存的信息與變量比較,如有相同,就輸出該圖書的所有信息;否則,提示出錯(cuò)。)</p><p>
21、; 3.2.5 信息修改模塊:(</p><p><b> 給出信息提示;</b></p><p> 提示菜單選擇并讀入到變量;</p><p> Strcmp函數(shù)將保存的信息與變量比較,如有相同,就輸出該圖書的所有信息,并提示輸入新的圖書信息;否則,提示出錯(cuò)。)</p><p> 3.2.6信息刪除模塊:(&
22、lt;/p><p><b> 給出信息提示;</b></p><p> 提示菜單選擇并讀入到變量;</p><p> Strcmp函數(shù)將保存的信息與變量比較,如有相同,就輸出該圖書的所有信息,并刪除該圖書的圖書信息;否則,提示出錯(cuò)。)</p><p> 3.2.7 文件保存模塊(</p><p&g
23、t; 看文件能不能讀;否則提示出錯(cuò)。</p><p> 看文件的長度符不符合要求;否則提示出錯(cuò)。</p><p><b> 保存文件)</b></p><p><b> 3.3 系統(tǒng)結(jié)構(gòu)圖</b></p><p><b> 如圖3-3</b></p>&
24、lt;p><b> 圖3-3</b></p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p> 4.1 頭文件,變量定義,函數(shù)</p><p> #include <stdio.h></p><p> #include <string.h></p&g
25、t;<p> #include <stdlib.h></p><p> #define N 10</p><p> char administrator[20]; /********管理員名字**********/</p><p> struct manage </p><p> {char m
26、anage_name[20];</p><p> char password[20];</p><p><b> };</b></p><p> struct library</p><p><b> {</b></p><p> int num;
27、 /********登錄號(hào)**********/</p><p> char book_name[30]; /********書名************/</p><p> char writer[30]; /********作者************/</p><p> char sort_num[6];
28、 /********分類號(hào)**********/</p><p> char pub_company[30]; /********出版單位********/</p><p> char pub_time[30]; /********出版時(shí)間********/</p><p> float price; /*****
29、***價(jià)格************/</p><p><b> };</b></p><p> typedef struct library LIB;</p><p> LIB lib[N];</p><p> FILE *fp; </p&
30、gt;<p> int all=0;</p><p> void menu();/*菜單函數(shù)*/ </p><p> void enter(); /*輸入模塊*/ </p><p> void browse();/*瀏覽函數(shù)*/</p><p> void search();/*查詢
31、函數(shù)*/</p><p> void del(int y);/*刪除函數(shù)*/</p><p> void modify(int x);/*修改函數(shù)*/</p><p> void printf_back(); /*一個(gè)任務(wù)結(jié)束時(shí)選擇瀏覽還是返回函數(shù)***/</p><p> void wr_search(); /*****
32、***按圖書作者查詢函數(shù)************/</p><p> void bn_search(); /********按圖書名查詢函數(shù)**************/</p><p> void id_search(); /********按圖書登錄號(hào)查詢函數(shù)**********/</p><p> void index(); /
33、********顯示登錄界面函數(shù)**************/</p><p> void login(); /********管理員進(jìn)入函數(shù)****************/</p><p> void byebye(); /********離開界面函數(shù)******************/</p><p> void adm_vi
34、ew(); /********輸入登錄帳號(hào)密碼界面函數(shù)******/</p><p> void new_adm_view(); /********新用戶注冊(cè)界面函數(shù)************/</p><p> 4.2管理員登錄,新用戶注冊(cè)模塊的算法設(shè)計(jì)</p><p> 4.2.1用戶來到圖書信息管理系統(tǒng)頁面</p><p>
35、 /*************************登錄離開模塊*******************************/</p><p> void index() </p><p><b> { </b></p><p> char input;</p><p> printf("\n\
36、n\t\t\t*****************************\n");</p><p> printf("\t\t\t 圖書信息管理系統(tǒng)\n");</p><p> printf("\t\t\t*****************************\n\n\n");</p><p> pr
37、intf(" --------------------------------------------------------------------------\n");</p><p> printf("\t<按任意鍵進(jìn)入>\n\t");</p><p> input=getchar(); </p><p
38、><b> }</b></p><p> void login()</p><p><b> {</b></p><p> int input;</p><p> char input_1; </p><p><b> do </b>
39、;</p><p> { printf("\t1.管理員進(jìn)入\n"); </p><p> printf("\t2.新用戶注冊(cè)\n");</p><p> printf("\t3.退出本系統(tǒng)\n\n\n");</p><p> printf("\t請(qǐng)選擇服務(wù)類別:&
40、quot;);</p><p> scanf("%d",&input);</p><p> switch(input)</p><p><b> {</b></p><p><b> case 1:{</b></p><p> adm_v
41、iew();break; /********管理員進(jìn)入界面函數(shù)************/</p><p><b> }</b></p><p><b> case 2:{</b></p><p> new_adm_view();break;/********新用戶注冊(cè)界面函數(shù)************/</p&g
42、t;<p><b> }</b></p><p><b> case 3:{</b></p><p> byebye(); break;/********離開界面函數(shù)************/</p><p><b> } </b></p><p>&l
43、t;b> default: </b></p><p><b> {</b></p><p> printf("\n\t輸入出錯(cuò)!請(qǐng)重新選擇~\n");</p><p> printf("\n\t按任意鍵返回選擇頁面~\n\t");</p><p> in
44、put_1=getchar();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> while(input!=1&&input!=2&&input!=3);
45、</p><p><b> }</b></p><p> void byebye() </p><p><b> {</b></p><p> printf("\n\n\n\t\t*感謝您的使用*\n\n\t\t");</p><p> pr
46、intf("按任意鍵退出本系統(tǒng)\n\t\t");</p><p> getchar();</p><p> exit(0); </p><p><b> }</b></p><p> 4.2.2管理員進(jìn)入</p><p><b> 圖4-2-2</b
47、></p><p> 4.2.3 新用戶注冊(cè)</p><p><b> 圖4-2-3</b></p><p> 4.3菜單模塊的算法設(shè)計(jì)</p><p><b> 開始</b></p><p><b> 圖4-3</b></p>
48、;<p> 首先,運(yùn)行程序,進(jìn)入菜單,然后選擇操作(運(yùn)用swith語句),調(diào)用各子函數(shù)。在返回操作中運(yùn)用while語句進(jìn)行控制返回菜單。</p><p> 4.4輸入模塊算法設(shè)計(jì)</p><p><b> 圖4-4</b></p><p> 4.5瀏覽模塊算法設(shè)計(jì)</p><p><b>
49、 圖4-5</b></p><p> void browse () 首先,輸出所有圖書的信息,并輸出圖書記錄數(shù),然后調(diào)用輔助函數(shù)進(jìn)行菜單選擇,操作完成后返回主菜單。</p><p> 4.6查詢模塊算法設(shè)計(jì)</p><p><b> 圖4-6</b></p><p> void search()選擇
50、查詢方式 ,1按圖書登錄號(hào)查詢,2按作者查詢,3 按圖書名查詢 然后定位,再調(diào)用輸出函數(shù);</p><p> 4.7刪除模塊算法設(shè)計(jì)</p><p> /*******************刪除模塊**************************/</p><p> void del(int y)</p><p><b&g
51、t; { </b></p><p> char input,ad1[20],ad2[20],ad3[20],ad4[20];</p><p><b> FILE *fp;</b></p><p> int inp,i=0,j;</p><p> LIB book_taxis[20];</p
52、><p> strcpy(ad1,administrator);</p><p> strcpy(ad2,administrator);</p><p> strcpy(ad3,administrator);</p><p> strcpy(ad4,administrator);</p><p> if(y==N
53、+1)</p><p><b> search();</b></p><p><b> else</b></p><p><b> {</b></p><p><b> do{</b></p><p> printf(&q
54、uot;\n\n\n\t注意:您確定要?jiǎng)h除該記錄嗎?\n");</p><p> printf("\n\t1).是\t2).否\n");</p><p> printf("\n\t請(qǐng)輸入:");</p><p> scanf("%d",&inp);</p><p&
55、gt; if(inp!=1&&inp!=2)</p><p><b> {</b></p><p> printf("\n\t對(duì)不起,沒有該項(xiàng)服務(wù)~");</p><p> printf("\t按任意鍵重新選擇\n\t");</p><p> input=
56、getchar();</p><p><b> }</b></p><p><b> }</b></p><p> while (inp!=1&&inp!=2);</p><p> if (inp==2)</p><p><b> sear
57、ch();</b></p><p> if (inp==1)</p><p><b> {</b></p><p> if ((fp=fopen(strcat(ad1,".c"),"r"))!=NULL)</p><p><b> {</b>
58、;</p><p><b> do</b></p><p><b> {</b></p><p> fread(&book_taxis[i],sizeof(struct library),1,fp);</p><p><b> i=i+1;</b></p&
59、gt;<p><b> }</b></p><p> while(!feof(fp));</p><p> fclose(fp);</p><p><b> }</b></p><p> if (i>2) </p><p><b>
60、 {</b></p><p> fp=fopen(strcat(ad2,".c"),"w"); </p><p> for (j=0;j<y;j++)</p><p> fwrite(&book_taxis[j],sizeof(struct library),1,fp);</p>
61、<p> fclose(fp);</p><p> fp=fopen(strcat(ad3,".c"),"a");</p><p> for (j=y+1;j<i-1;j++)</p><p> fwrite(&book_taxis[j],sizeof(struct library),1,f
62、p);</p><p> fclose(fp);</p><p><b> } </b></p><p><b> else </b></p><p><b> { </b></p><p> remove(strcat(ad3,&qu
63、ot;.c"));</p><p><b> }</b></p><p> printf("\n\n\t記錄已刪除!\n\n\t按任意鍵返回\n\t");</p><p> input=getchar();</p><p> printf_back(); </p>
64、<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 4.8修改模塊算法設(shè)計(jì)</p><p> /**************************修改模塊**************
65、********/</p><p> void modify(int x)</p><p><b> {</b></p><p> int inp,i=0,j;</p><p> FILE *fp,*fp1;</p><p> char input,ad1[20],ad2[20];<
66、;/p><p> LIB books,book_taxis[20];</p><p> strcpy(ad1,administrator);</p><p> strcpy(ad2,administrator);</p><p> if(x==N+1)</p><p><b> search();<
67、;/b></p><p><b> else</b></p><p><b> {</b></p><p><b> do</b></p><p><b> {</b></p><p> printf("\
68、n\n\n\t注意:您確定要修改該記錄嗎?\n");</p><p> printf("\n\t1.是\t2.否\n");</p><p> printf("\n\t請(qǐng)輸入:");</p><p> scanf("%d",&inp);</p><p> if
69、 (inp!=1&&inp!=2)</p><p><b> {</b></p><p> printf("\n\t對(duì)不起~沒有這項(xiàng)服務(wù)~\n");</p><p> printf("\t按任意鍵重新選擇\n\t");</p><p> input=getc
70、har();</p><p><b> }</b></p><p><b> }</b></p><p> while(inp!=1&&inp!=2);</p><p><b> if(i==2)</b></p><p><
71、b> search();</b></p><p> if (inp==1)</p><p><b> {</b></p><p> printf("\n\n\n\t---請(qǐng)輸入圖書信息---\n\n");</p><p> printf("\t登錄號(hào):"
72、);</p><p> scanf("%d",&books.num);</p><p> printf("\n\t書名:");</p><p> scanf("%s",books.book_name);</p><p> printf("\n\t作者名:&q
73、uot;);</p><p> scanf("%s",books.writer);</p><p> printf("\n\t分類號(hào):");</p><p> scanf("%s",books.sort_num);</p><p> printf("\n\t出版單位
74、:");</p><p> scanf("%s",books.pub_company);</p><p> printf("\n\t出版時(shí)間:");</p><p> scanf("%s",books.pub_time);</p><p> printf("
75、;\n\t價(jià)格:");</p><p> scanf("%f",&books.price);</p><p> if ((fp1=fopen(strcat(ad1,".c"),"r"))!=NULL) </p><p><b> { </b></p&
76、gt;<p><b> do</b></p><p><b> {</b></p><p> fread(&book_taxis[i],sizeof(struct library),1,fp1); </p><p><b> i=i+1;</b></p>
77、<p><b> } </b></p><p> while(!feof(fp1));</p><p> fclose(fp1);</p><p> for (j=0;j<x;j++)</p><p> if (books.num==book_taxis[j].num) </p>
78、<p><b> {</b></p><p> printf("\n\n\n\t對(duì)不起,這個(gè)編號(hào)已經(jīng)使用過了~\n");</p><p> printf("\t按任意鍵返回管理菜單~");</p><p> printf("0");</p><p&
79、gt; input=getchar();</p><p> printf_back(); </p><p><b> break;</b></p><p><b> }</b></p><p> for (j=x+1;j<i-2;j++) </p><p
80、> if (books.num==book_taxis[j].num)</p><p><b> {</b></p><p> printf("\n\n\n\t對(duì)不起,這個(gè)編號(hào)已經(jīng)使用過了~\n");</p><p> printf("1");</p><p> p
81、rintf("\t按任意鍵返回管理菜單~");</p><p> input=getchar();</p><p> printf_back(); </p><p><b> break;</b></p><p><b> }</b></p><p&
82、gt;<b> }</b></p><p> book_taxis[x]=books; </p><p> fp=fopen(strcat(ad2,".c"),"w");</p><p> for (j=0;j<i-1;j++) </p><p>
83、fwrite(&book_taxis[j],sizeof(struct library),1,fp);</p><p> fclose(fp);</p><p> printf("\n\n\t信息修改完成!按任意鍵返回");</p><p> input=getchar();</p><p> printf
84、_back(); </p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 五、測(cè)試、結(jié)果進(jìn)行分析</p><p><b> 5.1.?dāng)?shù)據(jù)分析</b
85、></p><p> 5.1.1 實(shí)現(xiàn)程序:首先進(jìn)入如下界面:</p><p><b> 1.圖書信息錄入</b></p><p><b> 2.瀏覽全部</b></p><p><b> 3.查詢</b></p><p><b>
86、; 4.刪除數(shù)據(jù)</b></p><p><b> 5.修改數(shù)據(jù)</b></p><p><b> 6.退出</b></p><p> 5.1.2輸入“1”,后按“num登陸號(hào)”, book_name書名,writer作者名,sort_num分類號(hào),出版社pub_conpany,出版時(shí)間pub_time
87、,價(jià)錢price順序輸入兩組數(shù)據(jù):</p><p> “1,we,er,1,as,1234,34”</p><p> “2,ew,re,2,sa,4321,43”</p><p> 5.1.3.輸入“2”輸出數(shù)據(jù):</p><p> “1,we,er,1,as,1234,34”</p><p> “2,ew,
88、re,2,sa,4321,43”</p><p> 5.1.4.輸入“3”查找,“請(qǐng)選擇按書名或作者名或登錄號(hào)查詢:</p><p><b> 1:登錄號(hào)</b></p><p><b> 2.作者名</b></p><p><b> 3.書名 </b></p&g
89、t;<p> 輸入“1“或“2”或“3”分別查詢。</p><p> 輸入“3“和“we“,輸出“1,we,er,1,as,1234,34”;輸入2和“re“,輸出“2,ew,re,2,sa,4321,43”,輸入“1”和“1”,輸出“1,we,er,1,as,1234,34”; 符合要求</p><p> 5.1.5 輸入”4”或“5“進(jìn)行修改或刪除。</p&
90、gt;<p> 輸入修改的書名“we”顯示“1,we,er,1,as,1234,34”及“please input xiugai's the informations”,后輸入新信息。</p><p> 5.1.6輸入6退出。</p><p><b> 5.2.測(cè)試截圖</b></p><p><b>
91、登錄界面</b></p><p><b> 圖5-1</b></p><p><b> 菜單界面</b></p><p><b> 圖5-2</b></p><p><b> 輸入信息界面</b></p><p>
92、;<b> 圖5-3</b></p><p><b> 瀏覽界面</b></p><p><b> 圖5-4</b></p><p><b> 查詢界面</b></p><p><b> 圖5-5</b></p>
93、<p><b> 查詢結(jié)果界面</b></p><p><b> 圖5-6</b></p><p><b> 刪除界面</b></p><p><b> 圖5-7</b></p><p><b> 刪除成功界面</b
94、></p><p><b> 圖5-8</b></p><p><b> 修改界面</b></p><p><b> 圖5-9</b></p><p><b> 退出界面</b></p><p><b>
95、圖5-10</b></p><p><b> 總結(jié)</b></p><p> 這次課程設(shè)計(jì)讓我掌握了許多的有用知識(shí)。首先通過不斷地學(xué)習(xí)和鍛煉更加熟練地掌握應(yīng)用軟件Microsoft Visual C++ 6.0 了。設(shè)計(jì)正確及合適的程序?qū)τ谖覀兂鯇W(xué)者來說是很大的難題,出現(xiàn)一丁點(diǎn)兒錯(cuò)誤就得非很大的努力去修改,正式者一步步一點(diǎn)點(diǎn)的努力讓我對(duì)C語言游樂更深的
96、認(rèn)識(shí)。同時(shí)我掌握了解決問題的方法,這無論是對(duì)以后的學(xué)習(xí)、生活都有無比重要的價(jià)值。</p><p> 在設(shè)計(jì)中,每個(gè)同學(xué)都會(huì)遇到一些困難,或多或少,這些困難常常讓我心情煩躁,比如不能清晰的建立設(shè)計(jì)模塊,不會(huì)修改出現(xiàn)的錯(cuò)誤等等,然后我向同學(xué)尋求幫助,向他們學(xué)習(xí),最終通過自己努力建立了模塊。不可避免地程序中肯定依然存在者某些問題,我希望在以后的學(xué)習(xí)和應(yīng)用中不斷提高自己的能力,攻克遇到的困難。</p>&
97、lt;p> 通過本次課程設(shè)計(jì),自己C語言編程的能力有了提高,特別是在文件、指針、數(shù)組、函數(shù)和結(jié)構(gòu)體方面有了很大提高,另外還學(xué)習(xí)了課本沒有講到的知識(shí),學(xué)會(huì)了使用模塊化編程的簡單方法,另外在對(duì)話框的編程要求美觀、方面也有了體會(huì)。</p><p> 循環(huán)是C語言的重要方法,也是本程序的靈魂,它在本程序中既有“穿針引線”的作用,也起到了對(duì)數(shù)據(jù)進(jìn)行分析、存貯、讀取等重要的作用,本程序在使用循環(huán)過程中對(duì)循環(huán)進(jìn)行了多
98、方法的應(yīng)用也是一個(gè)“亮點(diǎn)”,它使程序變得結(jié)構(gòu)合理,通俗易懂,也降低了程序的難度。以后要對(duì)這種方法進(jìn)行深刻的體會(huì)。</p><p> 數(shù)組在程序中有著很重要的作用,對(duì)數(shù)據(jù)的貯存、輸入、讀取起著很重要的作用,本程序幾乎所有數(shù)據(jù)都以數(shù)組進(jìn)行輸入、貯存、讀取方便了對(duì)數(shù)據(jù)的處理和輸入,數(shù)組的的使用在本程序中有很大的好處。</p><p> 函數(shù)是實(shí)現(xiàn)模塊化編程的基礎(chǔ),它使程序變得方面易懂,對(duì)修改
99、起了很大作用,降低了編程的難度,一個(gè)函數(shù)就是一個(gè)功能,它使各個(gè)功能之間有了一定的獨(dú)立性,但也有了一定的聯(lián)系性,一個(gè)函數(shù)的錯(cuò)誤,不會(huì)導(dǎo)致整個(gè)程序的失敗(主函數(shù)除外),對(duì)函數(shù)的良好應(yīng)用時(shí)在本程序中又以深刻的體會(huì),有了很大提高。</p><p> 結(jié)構(gòu)體的使用,為本程序提供了很大方便,也提高了程序的可讀性,結(jié)構(gòu)數(shù)組方便了對(duì)數(shù)據(jù)的管理。</p><p> 文件的讀取與存貯使數(shù)據(jù)可以保存下來,這
100、也是在C語言的學(xué)習(xí)過程中沒有進(jìn)行教學(xué)的內(nèi)容,在開始時(shí)遇到了不小的困難,但前期的準(zhǔn)備工作做的還好,最終克服了。</p><p> 另外、感覺到在做C語言作業(yè)時(shí)編的程序是 那樣的簡短(都不足1k)、兒現(xiàn)在自己編寫的程序變大了,需要在編程方面進(jìn)一步提高,同時(shí)提高了自己對(duì)編程的興趣,使自己對(duì)編程有了更深的理解,體會(huì)到編程的樂趣。</p><p> 最后,出于興趣,自己給這個(gè)程序加了多用戶登錄功
101、能,每個(gè)用戶獨(dú)立擁有一個(gè)文件夾保存各自的信息,通過帳號(hào)密碼登錄,互不干擾,雖然期間遇到了不少困難,但最終還是把它做了出來,還是挺高興的。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] ,譚浩強(qiáng),C程序設(shè)計(jì),清華大學(xué)出版社,2007</p><p> [1] ,張冬梅等,C語言課程設(shè)計(jì)與學(xué)習(xí)指導(dǎo),中國鐵道出版社,20
102、08</p><p><b> 附源程序</b></p><p> #include <stdio.h></p><p> #include <string.h></p><p> #include <stdlib.h></p><p> #defin
103、e N 10</p><p> char administrator[20]; /********管理員名字**********/</p><p> struct manage </p><p> {char manage_name[20];</p><p> char password[20];</p>&
104、lt;p><b> };</b></p><p> struct library</p><p><b> {</b></p><p> int num; /********登錄號(hào)**********/</p><p> char book_name[
105、30]; /********書名************/</p><p> char writer[30]; /********作者************/</p><p> char sort_num[6]; /********分類號(hào)**********/</p><p> char pub_company[30]
106、; /********出版單位********/</p><p> char pub_time[30]; /********出版時(shí)間********/</p><p> float price; /********價(jià)格************/</p><p><b> };</b></p&
107、gt;<p> typedef struct library LIB;</p><p> LIB lib[N];</p><p> FILE *fp; </p><p> int all=0;</p><p> void menu();/*菜單函數(shù)
108、*/ </p><p> void enter(); /*輸入模塊*/ </p><p> void browse();/*瀏覽函數(shù)*/</p><p> void search();/*查詢函數(shù)*/</p><p> void del(int y);/*刪除函數(shù)*/</p><p
109、> void modify(int x);/*修改函數(shù)*/</p><p> void printf_back(); /*一個(gè)任務(wù)結(jié)束時(shí)選擇瀏覽還是返回函數(shù)***/</p><p> void wr_search(); /********按圖書作者查詢函數(shù)************/</p><p> void bn_search();
110、/********按圖書名查詢函數(shù)**************/</p><p> void id_search(); /********按圖書登錄號(hào)查詢函數(shù)**********/</p><p> void index(); /********顯示登錄界面函數(shù)**************/</p><p> void login();
111、 /********管理員進(jìn)入函數(shù)****************/</p><p> void byebye(); /********離開界面函數(shù)******************/</p><p> void adm_view(); /********輸入登錄帳號(hào)密碼界面函數(shù)******/</p><p> void new
112、_adm_view(); /********新用戶注冊(cè)界面函數(shù)************/</p><p> /************************************登錄離開模塊**************************************/</p><p> void index() </p><p><b> {
113、</b></p><p> char input;</p><p> printf("\n\n\t\t\t*****************************\n");</p><p> printf("\t\t\t 圖書信息管理系統(tǒng)\n");</p><p> prin
114、tf("\t\t\t*****************************\n\n\n");</p><p> printf(" ------------------------------------------------------------------------------\n");</p><p> printf("\
115、t<按任意鍵進(jìn)入>\n\t");</p><p> input=getchar(); </p><p><b> }</b></p><p> void login()</p><p><b> {</b></p><p> int in
116、put;</p><p> char input_1; </p><p><b> do </b></p><p> { printf("\t1.管理員進(jìn)入\n"); </p><p> printf("\t2.新用戶注冊(cè)\n");</p><p&g
117、t; printf("\t3.退出本系統(tǒng)\n\n\n");</p><p> printf("\t請(qǐng)選擇服務(wù)類別:");</p><p> scanf("%d",&input);</p><p> switch(input)</p><p><b> {&
118、lt;/b></p><p><b> case 1:{</b></p><p> adm_view();break; /********管理員進(jìn)入界面函數(shù)************/</p><p><b> }</b></p><p><b> case 2:{</b
119、></p><p> new_adm_view();break;/********新用戶注冊(cè)界面函數(shù)************/</p><p><b> }</b></p><p><b> case 3:{</b></p><p> byebye(); break;/*******
120、*離開界面函數(shù)************/</p><p><b> } </b></p><p><b> default: </b></p><p><b> {</b></p><p> printf("\n\t輸入出錯(cuò)!請(qǐng)重新選擇~\n");&
121、lt;/p><p> printf("\n\t按任意鍵返回選擇頁面~\n\t");</p><p> input_1=getchar();</p><p><b> }</b></p><p><b> }</b></p><p><b>
122、 }</b></p><p> while(input!=1&&input!=2&&input!=3);</p><p><b> }</b></p><p> void byebye() </p><p><b> {</b></p&g
123、t;<p> printf("\n\n\n\t\t*感謝您的使用*\n\n\t\t");</p><p> printf("按任意鍵退出本系統(tǒng)\n\t\t");</p><p> getchar();</p><p> exit(0); </p><p><b> }
124、</b></p><p> void adm_view() /***********管理員進(jìn)入***********/</p><p><b> {</b></p><p> char password[20];char ad[20];</p><p> int k,w,i;</p>
125、<p><b> FILE *fp;</b></p><p> struct manage pswd;</p><p><b> do </b></p><p><b> {</b></p><p> printf("\n\n\t請(qǐng)輸入管理員帳號(hào):
126、");</p><p> scanf("%s",administrator);</p><p> strcpy(ad,administrator);</p><p> fp=fopen(strcat(ad,".txt"),"r");</p><p> printf(
127、"\n\n\t請(qǐng)輸入管理員密碼:");</p><p> /************密碼輸入,回顯星號(hào)的程序*******************/</p><p> for (i=0; i<30; i++)</p><p><b> {</b></p><p> password[i]
128、 = getch(); /*逐次賦值,但不回顯*/</p><p> printf("*"); /*以星號(hào)代替字符個(gè)數(shù)*/</p><p> if (password[i] == '\x0d') /*回車則終止循環(huán)*/</p><p><b> {</b><
129、;/p><p> password[i] ='\0';</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> /************密碼輸入
130、,回顯星號(hào)的程序*******************/ </p><p> fread(&pswd,sizeof(struct manage),1,fp);</p><p> fclose(fp);</p><p> w=strcmp(pswd.manage_name,administrator); </p><p> k=
131、strcmp(pswd.password,password);</p><p><b> }</b></p><p> while (w!=0||k!=0);</p><p> menu(); </p><p><b> }</b></p><p> voi
132、d new_adm_view() /*******新用戶注冊(cè)********/ </p><p><b> { </b></p><p> char password[20];char ad[20];</p><p> int k,w,i;</p><p><b> FILE *fp;</b
133、></p><p> struct manage Manage;</p><p> printf("\n\n\t請(qǐng)輸入管理員帳號(hào):");</p><p> scanf("%s",administrator);</p><p> strcpy(ad,administrator);</p
134、><p> fp=fopen(strcat(ad,".txt"),"wb");</p><p> printf("\n\n\t請(qǐng)輸入管理員密碼:");</p><p> /************密碼輸入,回顯星號(hào)的程序*******************/</p><p>
135、for (i=0; i<30; i++)</p><p><b> {</b></p><p> password[i] = getch(); /*逐次賦值,但不回顯*/</p><p> printf("*"); /*以星號(hào)代替字符個(gè)數(shù)*/</p><p>
136、 if (password[i] == '\x0d') /*回車則終止循環(huán)*/</p><p><b> {</b></p><p> password[i] ='\0';</p><p><b> break;</b></p><p><b>
137、 }</b></p><p><b> }</b></p><p> /************密碼輸入,回顯星號(hào)的程序*******************/</p><p> strcpy(Manage.manage_name,administrator);/*將帳號(hào)密碼暫存入結(jié)構(gòu)體變量Manage中*/</p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告--圖書信息管理系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)--圖書信息管理系統(tǒng)
- 圖書信息管理系統(tǒng)課程設(shè)計(jì)
- 圖書信息管理系統(tǒng) 課程設(shè)計(jì)
- 程序課程設(shè)計(jì)報(bào)告 圖書信息管理系統(tǒng)
- java圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)---圖書信息管理系統(tǒng)
- 課程設(shè)計(jì)---圖書信息管理系統(tǒng)
- 課程設(shè)計(jì)--- 圖書信息管理系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)---圖書信息管理系統(tǒng)設(shè)計(jì)
- 圖書信息管理系統(tǒng)——c語言課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告---圖書信息管理系統(tǒng)
- c語言圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語言課程設(shè)計(jì)報(bào)告—圖書信息管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告—圖書信息管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告—圖書信息管理系統(tǒng)
- 圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告書
- c++課程設(shè)計(jì)報(bào)告---圖書信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論