C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告體育器材借還信息管理系統(tǒng)_第1頁
C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告體育器材借還信息管理系統(tǒng)_第2頁
C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告體育器材借還信息管理系統(tǒng)_第3頁
C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告體育器材借還信息管理系統(tǒng)_第4頁
C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告體育器材借還信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 c語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告題 目:體育器材借還信息管理系統(tǒng)專 業(yè):數(shù)學(xué)與應(yīng)用數(shù)學(xué)學(xué) 號(hào):100940109姓 名:指導(dǎo)教師: 成 績: 二零一一年六月十日課程設(shè)計(jì)報(bào)告體育器材借還信息管理系統(tǒng)1、研究背景及意義由于現(xiàn)今的大學(xué)里體育器材借還信息管理非常常見,管理人員付出很多的工作時(shí)間,得到的效率很低。因此為提高工作效率,為了減輕學(xué)校對(duì)體育器材借還信息進(jìn)行登記,查找,等繁雜的工作,進(jìn)而設(shè)計(jì)出一個(gè)功能完善、合理、先進(jìn)的體育器材借還信息管理系統(tǒng)來管理。開發(fā)此體育器材借還信息管理系統(tǒng)軟件,以供管理人員及操作者對(duì)學(xué)校公共體育器材進(jìn)行輕松的管理,方便操作者隨時(shí)添加、查詢、修改體育器材借還信息。2、問題描述和

2、功能要求問題描敘對(duì)體育器材借還信息進(jìn)行管理,主要包含的信息為:班級(jí)、器材名稱、數(shù)量、編號(hào)。此主要系統(tǒng)包含下列功能:對(duì)體育器材借還信息的插入、查詢、修改、刪除、顯示、退出。系統(tǒng)功能1)、每一條記錄包括一個(gè)班級(jí)、體育器材名稱、數(shù)量、編號(hào)。2)、插入功能:插入一個(gè)班級(jí)的信息。3)、查找功能:按班級(jí)號(hào)查找體育器材借還信息,并顯示。4)、修改功能:能將以前輸入并保存的數(shù)據(jù)進(jìn)行修改。5)、刪除功能:刪除體育器次借還的信息;6)、顯示功能:完成全部體育器材借還記錄的顯示。7)、退出功能:記錄完畢退出系統(tǒng)。8)、有一個(gè)清晰美觀界面來調(diào)用各個(gè)功能功能模塊分工:組長:何春輝何春輝負(fù)責(zé):插入功能、顯示功能、退出功能

3、、查找功能。王孟然負(fù)責(zé):刪除功能、修改功能、文件的讀寫功能與儲(chǔ)存功能。3、課程設(shè)計(jì)報(bào)告內(nèi)容3.1體育器材借還信息管理系統(tǒng)的理論依據(jù)1、建立一個(gè)結(jié)構(gòu)體數(shù)組對(duì)象class,用于存儲(chǔ)體育器材借還信息。2、建立相應(yīng)的系統(tǒng)操作函數(shù)如下:1)、插入班級(jí)體育器材借還的信息函數(shù):insert(class,s);2)、根據(jù)班級(jí)號(hào)查找體育器材借還信息的函數(shù):search(class,s);3)、修改體育器材借還的信息函數(shù):update(class,s);4)、刪除班級(jí)體育器材借還的信息函數(shù):delete(class,s);5)、顯示所有班級(jí)體育器材借還的信息函數(shù):show(classs,s);6)、從文件中讀入數(shù)

4、據(jù)函數(shù):read(class_info,s);7)、將所有記錄寫入文件函數(shù):save(class_info,s);8)、退出管理系統(tǒng)函數(shù):exit(0);9)、寫main()函數(shù),由用戶輸入一個(gè)參數(shù)i,根據(jù)i的值來選擇要進(jìn)行的操作。3.2算法流程圖流程圖已修改好。:體育器材借還信息管理系統(tǒng)的main()函數(shù) 顯示所有班級(jí)器材借還信息根據(jù)班級(jí)號(hào)查找信息插入班級(jí)體育器材借還的信息刪除班級(jí)器材借還的信息修改班級(jí)器材的信息從文件中讀入數(shù)據(jù)將所有記錄寫入文件系統(tǒng)運(yùn)行結(jié)束退出管理系統(tǒng)i!=0請輸入一個(gè)要操作的菜單項(xiàng)i并根據(jù)i值判斷執(zhí)行的操作輸出相應(yīng)的運(yùn)行結(jié)果i=0i!=03.3源程序代碼:#include

5、"stdlib.h"#include "string.h"#include "stdio.h"#define maxsize 50#include"malloc.h"typedef struct class_info int s ; /行政班級(jí) char name50; /器材名稱 int sum; /器材數(shù)量 double telephone; /聯(lián)系電話 int number; /編號(hào) struct class_info *next; classlink, *pointer;void insert(pointe

6、r *head);void search(pointer head);void update(pointer head);void delete(pointer *heaad);void show(pointer head);void file(pointer &head);void exit(pointer head);int main() pointer head=null; /定義表頭指針 int i; do /顯示一個(gè)簡易菜單 printf("n"); printf("1-插入(insert)n"); printf("2-查詢(

7、search)n"); printf("3-修改(update)n"); printf("4-刪除(delete)n"); printf("5-顯示(show)n"); printf("6-文件讀入(file)n");printf("0-退出(exit)n");scanf("%d",&i); /接收用戶的選擇switch(i) /調(diào)用對(duì)應(yīng)的函數(shù) case 1:insert( & head); break; case 2:search( head);

8、break;case 3:update( head); break;case 4:delete( & head); break;case 5:show( head); break;case 0: break;default:printf("錯(cuò)誤選擇!請重選");break; while(i!=0);return 0;void insert(pointer *head) /插入函數(shù)的定義 int in_number;pointer p,q,r; /說明變量printf("請輸入編號(hào):");scanf("%d",&in_n

9、umber);p=q= *head; /查找符合條件的記錄while(p!=null)if(p->number=in_number) /找到相同的編號(hào)printf("已經(jīng)有相同的編號(hào):");return; else q=p;p=p->next; /走鏈r=(pointer)malloc(sizeof(classlink); /申請空間r->next=null; /設(shè)置指針域if(r=null) printf("分配空間失?。?quot;);return;if(q=null) /原表為空表* head=r; /新結(jié)點(diǎn)作為頭元素elseq->n

10、ext=r; /在表尾插入元素r->number=in_number; /接收插入數(shù)據(jù)printf("請輸入行政班級(jí):");scanf("%d",&r->s);printf("請輸入器材名稱:");scanf("%s",r->name);printf("請輸入器材數(shù)量:");scanf("%d",&r->sum);printf("請輸入聯(lián)系電話:");scanf("%lf",&r->

11、telephone);void search(pointer head) /查找函數(shù)的定義 int flag=1; /設(shè)定標(biāo)記變量的初值 int number; pointer p; printf("請輸入要查詢的編號(hào):"); scanf("%d",&number); p=head; /查找符合條件的記錄 while(p!=null&&flag) if(p->number=number)printf("行政班級(jí):%dn",p->s);printf("器材名稱:%sn",p->

12、;name);printf("器材數(shù)量:%dn",p->sum); printf("聯(lián)系電話:%11.0lfn",p->telephone); flag=0; /找到標(biāo)記變量設(shè)為0 else p=p->next; /指針走到下一個(gè)結(jié)點(diǎn) if(flag) printf("沒有查詢到!");void update(pointer head) /修改函數(shù)的定義 int flag=1; /設(shè)定標(biāo)記變量的初值 int number; pointer p; printf("請輸入要修改的編號(hào):");scanf

13、("%d",&number);p=head; /查找符合條件的記錄while(p!=null&&flag) if(p->number=number) printf("請輸入器材名稱:"); scanf("%s",p->name); printf("請輸入器材數(shù)量:"); scanf("%d",&p->sum); flag=0; else p=p->next; /指針走到下一個(gè)結(jié)點(diǎn) if(flag) printf("沒有找到要修改的

14、記錄!");void delete(pointer *head) /刪除函數(shù)的定義 int flag=1; /設(shè)定標(biāo)記變量的初值int number; pointer p,q; printf("請輸入要?jiǎng)h除數(shù)據(jù)的編號(hào):"); scanf("%d",&number); p=q= *head; /查找符合條件的記錄 while(p!=null&&flag) if(p->number=number)if(p= *head) /刪除的是表頭元素 * head=p->next;free(p); else q->n

15、ext=p->next;free(p); /刪除普通元素 flag=0; else /指針走到下一個(gè)結(jié)點(diǎn) q=p;p=p->next; /q所指結(jié)點(diǎn)為p所指結(jié)點(diǎn)的前驅(qū) if(flag) printf("沒有找到可以刪除的數(shù)據(jù)!");void show(pointer head) pointer p; p=head; int number; printf("輸入要顯示的編號(hào):"); scanf("%d",&number); while(p!=null) printf("行政班級(jí):%dn",p-&g

16、t;s); printf("器材名稱:%sn",p->name);printf("器材數(shù)量:%dn",p->sum);printf("聯(lián)系電話:%11.0lfn",p->telephone);p=p->next;3.4調(diào)試時(shí)源程序中出現(xiàn)的錯(cuò)誤:1、出現(xiàn)了一些語法錯(cuò)誤:定義變量類型出現(xiàn)錯(cuò)誤;2、出現(xiàn)了一些邏輯錯(cuò)誤:while(i!=6)被寫成了while(i=6);3、運(yùn)行出現(xiàn)了錯(cuò)誤:scanf函數(shù)中變量沒有用&;4、使用指針時(shí),忘了定義指針的指向;5、printf函數(shù)中變量的輸出類型和定義類型不一致,導(dǎo)

17、致輸出結(jié)果出錯(cuò);6、在switch語句中break的使用位置不正確;7、函數(shù)的引用和定義不相符;8、字母在輸入時(shí)出現(xiàn)大小寫混淆;9、語句結(jié)尾出忘記了加分號(hào);10、定義結(jié)構(gòu)體時(shí),數(shù)據(jù)類型不相符;11、流程圖制作忘記了用箭頭符號(hào)12、多出忘記了加雙引號(hào);13、標(biāo)記變量忘了賦初值;14、使用單鏈表時(shí)沒有定義表頭指針等等;3.5運(yùn)行結(jié)果窗口:1、菜單選項(xiàng)窗口:2、插入窗口:3、查詢窗口:4、修改窗口:5、刪除窗口: 6、顯示窗口:7、退出窗口:總結(jié):開始接到這個(gè)作業(yè)時(shí)覺得有點(diǎn)驚訝,因?yàn)閷W(xué)了一個(gè)學(xué)期的c語言程序設(shè)計(jì)我是連簡單的錯(cuò)誤都改不好,更別提是要自己動(dòng)手去做什么課程設(shè)計(jì)了。每次去機(jī)房對(duì)著電腦,心里就

18、會(huì)有一種壓力,因?yàn)橐粋€(gè)簡單的程序我都會(huì)弄錯(cuò)幾個(gè)地方,看著周圍的同學(xué)都做得很好,我的心里難免會(huì)有一些擔(dān)憂。平時(shí)連c語言上機(jī)作業(yè)我也去同學(xué)那里拷貝,實(shí)在說不過去,如果繼續(xù)這樣考試肯定不能通過的,然后我就想辦法,自己努力克服困難,搞了一段時(shí)間的自學(xué),還找了學(xué)長幫忙。最后通過和同學(xué)合作,發(fā)了大概一周的時(shí)間終于共同完成了源程序的編寫!通過這次合作,我學(xué)到了很多東西,例如在找合作人時(shí)我是發(fā)了一定的功夫的,我盡量找與自己有不同長處的同學(xué)合作,這樣可以讓我們在合作中取長補(bǔ)短,更好的發(fā)揮出自己的優(yōu)勢,爭取把c語言課程設(shè)計(jì)做的更好。經(jīng)過了一周多的努力,我的作業(yè)終于完成了,但是老師說還有很多地方做的不好,希望我們能再修改一下,找出其中的不足之處并將其完善。c語言程序設(shè)計(jì)是我大學(xué)里接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論