c語言課程設(shè)計報告_第1頁
已閱讀1頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  C語言課程設(shè)計報告</b></p><p>  學(xué)校:江蘇大學(xué)京江學(xué)院</p><p><b>  班級:通信工程二班</b></p><p><b>  姓名:封多多</b></p><p>  學(xué)號:4111109035</p>

2、<p>  2012年6月18日</p><p><b>  目的</b></p><p>  熟悉C語言相關(guān)概念和語法的使用</p><p>  學(xué)習(xí)Visual C或Microsoft Visual Studio 語言程序開發(fā)環(huán)境的運(yùn)用</p><p>  分析課程設(shè)計中出現(xiàn)的問題和相應(yīng)解決的方法</

3、p><p><b>  編寫課程設(shè)計報告</b></p><p><b>  2.要求的內(nèi)容</b></p><p>  使用支持C或C++語言的Visual C 或Microsoft Visual Studio 的開發(fā)軟件制作圖書信息管理應(yīng)用系統(tǒng),實現(xiàn)圖書信息的路入、刪除和修改的功能。</p><p>

4、;<b>  具體要求如下:</b></p><p>  一個圖書信息包括書號、書名、出版社、作者、價格和數(shù)量這些信息,其中書號為圖書的關(guān)鍵字。</p><p>  圖書管理界面(主界面)包括增加圖書、修改圖書、刪除圖書和退出四項。其中增加圖書、修改圖書、刪除圖書的操作均以圖書的書號為條件,操作完成前和完成后均輸出全部的圖書信息。</p><p&g

5、t;  該圖書信息管理應(yīng)用必須建立一個鏈表,每個節(jié)點(diǎn)包括每個圖書信息,上述操作均在鏈表上進(jìn)行。</p><p>  3、開發(fā)及運(yùn)行的軟件</p><p>  Visual C++ </p><p><b>  設(shè)計步驟</b></p><p><b>  圖書信息:</b></p>&

6、lt;p>  書名 bookname char類型字符串 20字節(jié)</p><p>  作者名 author char類型字符串 20字節(jié)</p><p>  出版單位 publisher char類型字符串 20字節(jié)</p><p>  出版數(shù)量 num long類型 8字節(jié)</

7、p><p>  價格 price float類型 4字節(jié)</p><p>  書號 classfly char字符串 10字節(jié)</p><p>  圖書信息結(jié)構(gòu)體 book_list 指針類型</p><p><b>  界面設(shè)計</b></p&

8、gt;<p>  圖書信息管理系統(tǒng) </p><p>  1 圖書信息錄入 </p><p>  2圖書信息瀏覽 </p><p>  3圖書信息查詢

9、 </p><p>  4圖書信息修改 </p><p>  5圖書信息刪除 </p><p><b>  6退出系統(tǒng) </b></p><

10、;p><b>  請選擇:");</b></p><p><b>  函數(shù)設(shè)計</b></p><p>  struct books_list * Create_Books_Doc()</p><p>  void InsertDoc(struct books_list * head)</p>

11、<p>  void DeleteDoc(struct books_list * head )</p><p>  void info_change(struct books_list * head)</p><p>  void save(struct books_list * head)</p><p><b>  流程圖</b>

12、;</p><p><b>  代碼實現(xiàn)</b></p><p>  輸入一本或幾本圖書的信息,形成一個鏈表存放在文件中。</p><p><b>  /*插入*/</b></p><p>  void InsertDoc(struct books_list *head)</p>&l

13、t;p><b>  {</b></p><p>  /*定義結(jié)構(gòu)體指針變量 s指向開辟的新結(jié)點(diǎn)首地址 p為中間變量*/</p><p>  struct books_list *s, *p;</p><p>  char flag='Y'; /*定義flag,方便用戶選擇重復(fù)輸入*/</p><p>

14、;<b>  p=head;</b></p><p>  /*遍歷到尾結(jié)點(diǎn),p指向尾結(jié)點(diǎn)*/</p><p>  while(p->next!= NULL)</p><p><b>  {</b></p><p>  p=p->next;</p><p><

15、b>  } </b></p><p>  /*開辟新空間,存入數(shù)據(jù),添加進(jìn)鏈表*/</p><p>  while(flag=='Y'||flag=='y')</p><p><b>  {</b></p><p>  s=(struct books_list *)m

16、alloc(sizeof(struct books_list));</p><p>  printf("\n 請輸入圖書書號:");</p><p>  fflush(stdin);</p><p>  scanf("%s",s->booknum);</p><p

17、>  printf("\n 請輸入圖書書名:");</p><p>  fflush(stdin);</p><p>  scanf("%s",s->bookname);</p><p>  printf("\n 請輸入圖書作者名

18、:");</p><p>  fflush(stdin);</p><p>  scanf("%s",s->author);</p><p>  printf("\n 請輸入圖書出版社:");</p><p>  fflush(stdin);<

19、/p><p>  scanf("%s",s->publisher);</p><p>  printf("\n 請輸入圖書數(shù)量:");</p><p>  fflush(stdin);</p><p>  scanf("%s",s->nu

20、m);</p><p>  printf("\n 請輸入圖書價格:");</p><p>  fflush(stdin);</p><p>  scanf("%f",&s->price);</p><p>  printf("\n"

21、);</p><p>  p->next=s; /*將新增加的節(jié)點(diǎn)添加進(jìn)鏈表*/</p><p>  p=s; /*p指向尾節(jié)點(diǎn),向后移*/</p><p>  s->next=NULL;</p><p>  printf(" ━━━━ 添加成功!━━━━");</

22、p><p>  printf("\n 繼續(xù)添加?(Y/N):");</p><p>  fflush(stdin);</p><p>  scanf("%c",&flag);</p><p>  printf("\n");<

23、;/p><p>  if(flag=='N'||flag=='n')break;</p><p>  else if(flag=='Y'||flag=='y')</p><p><b>  ;}</b></p><p>  save(head); /*保存數(shù)據(jù)

24、至文件*/</p><p><b>  return;</b></p><p><b>  }</b></p><p>  輸入圖書書號,查看圖書是否存在,若不存在“輸出該圖書不存在”,若存在,刪除該圖書。</p><p><b>  /*刪除操作*/</b></p>

25、;<p>  void DeleteDoc(struct books_list * head)</p><p><b>  {</b></p><p>  struct books_list *s,*p; /*s為中間變量,p為遍歷時使用的指針*/</p><p>  char temp[20];</p>&l

26、t;p>  int panduan; /*此變量用于判斷是否找到了書目*/</p><p>  panduan=0;</p><p><b>  p=s=head;</b></p><p>  printf(" [請輸入您要刪除的書號]:");</p><p&

27、gt;  scanf("%s",temp);</p><p>  /*遍歷到尾結(jié)點(diǎn)*/</p><p>  while(p!= NULL)</p><p><b>  {</b></p><p>  if(strcmp(p->booknum,temp)==0)</p><p&

28、gt;<b>  {</b></p><p>  panduan++;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  p=p->next;</p><p><b>  } &

29、lt;/b></p><p>  if(panduan==1)</p><p><b>  {</b></p><p>  for(;s->next!=p;) /*找到所需刪除卡號結(jié)點(diǎn)的上一個結(jié)點(diǎn)*/</p><p><b>  {</b></p><p>

30、  s=s->next;</p><p><b>  }</b></p><p>  s->next=p->next; /*將后一節(jié)點(diǎn)地址賦值給前一節(jié)點(diǎn)的指針域*/</p><p><b>  free(p);</b></p><p>  printf("\n

31、 ━━━━ 刪除成功! ━━━━\n");</p><p><b>  }</b></p><p>  else /*未找到相應(yīng)書目*/</p><p><b>  {</b></p><p>  printf("

32、 您輸入的書目不存在,請確認(rèn)后輸入!\n");</p><p><b>  }</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  輸入要修改的圖書書號,若此圖書不存在,輸出“此圖書不存在”,

33、否則修改除書號以外的圖書信息.</p><p><b>  /*修改操作*/</b></p><p>  void info_change(struct books_list * head)</p><p><b>  {</b></p><p>  struct books_list * p;&l

34、t;/p><p>  int panduan=0; /*此變量用于判斷是否找到書目*/</p><p>  char temp[20];</p><p><b>  p=head;</b></p><p>  printf("請輸入要修改的書號:");</p><p>  scan

35、f("%s",temp);</p><p>  while(p->next!= NULL)</p><p><b>  {</b></p><p>  p=p->next;</p><p>  if(strcmp(p->booknum,temp)==0)</p><

36、;p><b>  {</b></p><p>  printf("\n 請輸入圖書書名:");</p><p>  fflush(stdin);</p><p>  scanf("%s",p->bookname);</p><p>

37、  printf("\n 請輸入圖書作者名:");</p><p>  fflush(stdin);</p><p>  scanf("%s",p->author);</p><p>  printf("\n 請輸入圖書出版社:&quo

38、t;);</p><p>  fflush(stdin);</p><p>  scanf("%s",p->publisher);</p><p>  printf("\n 請輸入圖書數(shù)量:");</p><p>  fflush(stdin);</p&

39、gt;<p>  scanf("%s",p->num);</p><p>  printf("\n 請輸入圖書價格:");</p><p>  fflush(stdin);</p><p>  scanf("%f",&p->price)

40、;</p><p>  printf("\n");</p><p>  panduan=1;</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(panduan==0)</p><p

41、><b>  {</b></p><p>  printf("\n ━━━━ 沒有圖書記錄! ━━━━\n\n");</p><p><b>  }</b></p><p><b>  return;</b></p>

42、<p><b>  }</b></p><p><b>  運(yùn)行結(jié)果截圖</b></p><p><b>  輸入圖書信息</b></p><p><b>  修改圖書信息</b></p><p><b>  刪除圖書信息</b

43、></p><p><b>  退出</b></p><p>  分析問題及相應(yīng)解決方案</p><p><b>  變量未定義就使用。</b></p><p>  運(yùn)行過程中出現(xiàn)中斷,解決方法:程序中的函數(shù)定義出錯。</p><p>  程序子程序忘記在頭文件中聲明,

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論