C課程設(shè)計(jì)報(bào)告(學(xué)生信息管理系統(tǒng))_第1頁(yè)
C課程設(shè)計(jì)報(bào)告(學(xué)生信息管理系統(tǒng))_第2頁(yè)
C課程設(shè)計(jì)報(bào)告(學(xué)生信息管理系統(tǒng))_第3頁(yè)
C課程設(shè)計(jì)報(bào)告(學(xué)生信息管理系統(tǒng))_第4頁(yè)
C課程設(shè)計(jì)報(bào)告(學(xué)生信息管理系統(tǒng))_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、海奇4種手比課程設(shè)計(jì)報(bào)告課程名稱(chēng)C語(yǔ)言程序設(shè)計(jì)課題名稱(chēng)學(xué)生信息管理系統(tǒng)專(zhuān) 業(yè)電氣工程及其自動(dòng)化班級(jí)1086班學(xué) 號(hào) 2姓名周餞指導(dǎo)教師彭禎劉錚郭芳2011年 6 月20 日湖南工程學(xué)院課程設(shè)計(jì)任務(wù)書(shū)課程名稱(chēng)C課程設(shè)計(jì)課 題學(xué)生信息管理系統(tǒng)專(zhuān)業(yè)班級(jí) 電氣1086班學(xué)生姓名周鐵學(xué)號(hào)指導(dǎo)老師彭禎劉錚郭芳審批任務(wù)書(shū)下達(dá)日期 2011年6月20日任務(wù)完成日期2011年7月1日3目錄一、題目總體介紹錯(cuò)誤!二、需求分析錯(cuò)誤!三、總體設(shè)計(jì)錯(cuò)誤!1、現(xiàn)行系統(tǒng)組織結(jié)構(gòu)圖: 錯(cuò)誤!2、數(shù)據(jù)結(jié)構(gòu)分析錯(cuò)誤!3、工作原理等錯(cuò)誤!三、詳細(xì)設(shè)計(jì)錯(cuò)誤!四.系統(tǒng)調(diào)試與結(jié)果分析 錯(cuò)誤!六、總結(jié)錯(cuò)誤!七、附件錯(cuò)誤!未定義書(shū)簽 未定義

2、書(shū)簽 未定義書(shū)簽 未定義書(shū)簽, 未定義書(shū)簽 未定義書(shū)簽 未定義書(shū)簽 未定義書(shū)簽 未定義書(shū)簽 未定義書(shū)簽未定義書(shū)簽,參考文獻(xiàn)錯(cuò)誤!4一、題目總體介紹(1) 、課程設(shè)計(jì)題目:學(xué)生信息管理(2) 、課程設(shè)計(jì)內(nèi)容與主要功能:設(shè)計(jì)與開(kāi)發(fā)一個(gè)學(xué)生信息管理系統(tǒng),對(duì)學(xué)生的學(xué)號(hào)、姓名、性別、年齡等基本信息進(jìn)行管理、主要功能如下:1) ) 輸入記錄2) 顯示全部記錄3) 查找記錄4) 刪除記錄5) 插入記錄6) 保存文件7) 讀文件8) 按學(xué)號(hào)顯示記錄9) 按姓名排序(3) 、目的與要求:1、目的:( 1 )要求學(xué)生達(dá)到熟練掌握C 語(yǔ)言的基本知識(shí)和技能;(2)基本掌握C語(yǔ)言程序設(shè)計(jì)的基本思路和方法;(3)能夠利用

3、所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的C語(yǔ)言程序設(shè)計(jì)問(wèn)題。2、基本要求:1)設(shè)計(jì)正確,方案合理。2)界面友好,使用方便。3)程序精煉,結(jié)構(gòu)清晰。3、創(chuàng)新要求:在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功 能。4、寫(xiě)出設(shè)計(jì)說(shuō)明書(shū)、設(shè)計(jì)方法和基本原理:1、問(wèn)題描述(功能要求):(1)能夠從屏幕上讀取一個(gè)學(xué)生的信息并將信息存入到數(shù)據(jù)文件中。(2)能夠?qū)⒅付ǖ男畔奈募袆h除。(3)能夠按學(xué)號(hào)、姓名、性別、年齡對(duì)學(xué)生的信息進(jìn)行檢索并將檢索 結(jié)果顯示在屏幕上。(4)如果檢索不到相應(yīng)的信息應(yīng)提示用戶(hù)。2、問(wèn)題的解決方案:根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟:(1)寫(xiě)出需求分析(做什么);

4、(2)分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為;(3)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次;(4)完成類(lèi)層次中各個(gè)類(lèi)的描述(包括屬性和方法);(5)完成類(lèi)中各個(gè)成員函數(shù)的定義;(6)用戶(hù)界面的設(shè)計(jì);(7)分析系統(tǒng)功能模塊(系統(tǒng)流程圖);(8)代碼編寫(xiě),功能調(diào)試;(9)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。二、需求分析(1)能夠從屏幕上讀取一個(gè)學(xué)生的信息并將信息存入到數(shù)據(jù)文件中。(2)能夠?qū)⒅付ǖ男畔奈募袆h除。(3)能夠按學(xué)號(hào)、姓名、性別、年齡對(duì)學(xué)生的信息進(jìn)行檢索并將檢索 結(jié)果顯示在屏幕上。(7)如果檢索不到相應(yīng)的信息應(yīng)提示用戶(hù)。三、總體設(shè)計(jì)291、現(xiàn)行系統(tǒng)組織結(jié)構(gòu)圖:2、數(shù)據(jù)結(jié)構(gòu)分析使用整型,

5、雙精度,字符型定義變量和函數(shù)。使用結(jié)構(gòu)體,類(lèi)等概念實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)。同時(shí)也是用這些自定義類(lèi)型定義了變量和函數(shù)。體現(xiàn)面向?qū)ο笤O(shè)計(jì)的特點(diǎn)。3、工作原理等系統(tǒng)功能結(jié)構(gòu)圖:四、詳細(xì)設(shè)計(jì)1 、類(lèi)設(shè)計(jì)類(lèi): student數(shù)據(jù)成員學(xué)號(hào),姓名,性別,年齡類(lèi): school成員函數(shù)輸入記錄函數(shù)enter ():輸入編號(hào)到計(jì)算機(jī)中;顯示記錄函數(shù)list() :顯示全部輸入的內(nèi)容,如學(xué)號(hào)、姓名、性別、年齡等;按姓名查找顯示記錄函數(shù)search ():按學(xué)號(hào)或姓名查找學(xué)生的信息;刪除記錄函數(shù)delete。:刪除指定學(xué)號(hào)學(xué)生信息;插入記錄函數(shù)add():插入指定學(xué)號(hào)學(xué)生信息;記錄保存為文件函數(shù)save():將學(xué)生信息保存為

6、文件函數(shù);從文件中讀記錄函數(shù)10ad():從文件中讀出學(xué)生信息;按序號(hào)查找顯示記錄函數(shù)display() :按序號(hào)查找學(xué)生信息;按姓名排序函數(shù)s0rt() :按學(xué)生姓名排序;文件復(fù)制函數(shù)copy():將文件復(fù)制;顯示單條記錄函數(shù)print(STUDENTS temp); 顯示單條學(xué)生信息;查找函數(shù)find(STUDENTS t,int n,char *s) :查找學(xué)生信息;輸出函數(shù) menu_se1ect():輸出學(xué)生信息;五系統(tǒng)調(diào)試與結(jié)果分析1 、初始目錄:2、輸入數(shù)據(jù):3、顯示所有記錄:4、查找記錄:5、刪除記錄:6、插入記錄:7、按姓名排序8、復(fù)制信息9、按序號(hào)排序2.系統(tǒng)運(yùn)行的結(jié)果:設(shè)

7、計(jì)特點(diǎn)和不足之處:系統(tǒng)整體清晰明了,功能基本齊全,但系統(tǒng)中報(bào)錯(cuò)功能不完整,當(dāng)學(xué)號(hào)等信息 輸入數(shù)字等時(shí)不出現(xiàn)報(bào)錯(cuò),可設(shè)置提醒重新輸入。六、總結(jié)1、在做了課程實(shí)驗(yàn)以后,我對(duì) C語(yǔ)言的了解更深了,很多知識(shí)得到了鞏周,一些不懂的知識(shí)也漸漸明了!但從C語(yǔ)言這門(mén)課程開(kāi)始,已發(fā)現(xiàn)程序設(shè)計(jì)的樂(lè)趣,在學(xué)習(xí)C語(yǔ)言的過(guò)程中也學(xué)到了許多計(jì)算機(jī)應(yīng)用基礎(chǔ)知 識(shí),對(duì)計(jì)算機(jī)的機(jī)體也有了 一個(gè)大體的了解2、作了學(xué)生學(xué)生信息管理系統(tǒng)程序后,我對(duì)數(shù)據(jù)類(lèi)型、函數(shù)、指針、結(jié) 構(gòu)體更加熟悉了,作為 C語(yǔ)言所特有得指針、結(jié)構(gòu)體和對(duì)象再編寫(xiě)程 序得過(guò)程中運(yùn)用十分廣泛,我還必須多加練習(xí)才能達(dá)到一個(gè)更高的水平,結(jié)構(gòu)體和對(duì)象、指針都是非常重要的。

8、3、這次實(shí)訓(xùn)是彭禎老師給了很大引導(dǎo),經(jīng)過(guò)自己的改寫(xiě),實(shí)現(xiàn)要求。先做簡(jiǎn)單的輸出,一步步的再做其它圖案,在實(shí)際操作過(guò)程中犯 的一些錯(cuò)誤還會(huì)有意外的收獲,感覺(jué)實(shí)訓(xùn)很有意思。在具體操作中對(duì) 這學(xué)期所學(xué)的C語(yǔ)言的理論知識(shí)得到鞏固,達(dá)到實(shí)訓(xùn)的基本目的,也發(fā)現(xiàn)自己的不足之出,在以后的上機(jī)中應(yīng)更加注意,同時(shí)體會(huì)到C語(yǔ)言具有的語(yǔ)句簡(jiǎn)潔,使用靈活,執(zhí)行效率高等特點(diǎn)。發(fā)現(xiàn)上機(jī)實(shí)訓(xùn)的 重要作用,特別是對(duì)數(shù)組和循環(huán)有了深刻的理解。4、在完完整整的做完一個(gè)課程實(shí)驗(yàn)后,我對(duì)程序的整體性有了一個(gè)明確 的認(rèn)識(shí),做一個(gè)程序必須要注意程序前后的聯(lián)系,要具有清晰的思路,程序要具有層次。對(duì)整體性的把握至關(guān)重要!5、學(xué)習(xí)計(jì)算機(jī)語(yǔ)言,最重

9、要的就是上機(jī)操作,我深感自己動(dòng)手能力比較 差,在以后的學(xué)習(xí)中,還必須多多上機(jī)調(diào)試程序,從實(shí)踐中多積累經(jīng) 驗(yàn),為以后學(xué)習(xí)和工作打下堅(jiān)實(shí)的基礎(chǔ)。七、附件/*頭文件(.h ) */#include /*I/O函數(shù)*/#include /*標(biāo)準(zhǔn)庫(kù)函數(shù)*/#include /*字符串函數(shù)*/#include /*字符操作函數(shù)*/#define M 50 /*定義常數(shù)表示記錄數(shù)*/typedef struct /*定義數(shù)據(jù)結(jié)構(gòu)*/char no20;/*學(xué)號(hào)*/char name20; /*姓名*/顯示記錄*/按姓名查找顯示記錄*/刪除記錄*/插入記錄*/記錄保存為文件*/從文件中讀記錄*/按序號(hào)查找顯示

10、記錄*/按姓名排序*/顯示單條記錄*/int menu_select(); /*主菜單函數(shù)*/char sex5;/* 性別 */int age;/* 年齡 */ STUDENTS;/*/int enter(STUDENTS t); /* 輸入記錄*/void list(STUDENTS t,int n); /* void search(STUDENTS t,int n); /* int delete(STUDENTS t,int n); /* int add(STUDENTS t,int n); /* void save(STUDENTS t,int n); /* int load(STUD

11、ENTS t); /* void display(STUDENTS t); /* void sort(STUDENTS t,int n); /* void copy(); /* 文件復(fù)制*/void print(STUDENTS temp); /*int find(STUDENTS t,int n,char *s) ; /*查找函數(shù)*/*/main()STUDENTS stuM; /* 定義結(jié)構(gòu)體數(shù)組*/int length; /* 保存記錄長(zhǎng)度*/clrscr(); /* 清屏 */for(;)/* 無(wú)限循環(huán)*/switch(menu_select() /*調(diào)用主菜單函數(shù),返回值整數(shù)作開(kāi)關(guān)語(yǔ)

12、句*/case 0:length=enter(stu);break;/*輸入記錄*/case 1:list(stu,length);break; /*顯示全部記錄*/查找記錄*/刪除記錄*/插入記錄*/保存文件*/讀文件*/按序號(hào)顯示記錄*/按姓名排序*/case 2:search(stu,length);break; /*case 3:length=delete(stu,length);break; /*case 4:length=add(stu,length); break; /*case 5:save(stu,length);break; /*case 6:length=load(stu

13、); break; /*case 7:display(stu);break; /*case 8:sort(stu,length);break; /*復(fù)制文件*/如返回值為11則程序結(jié)束*/case 9:copy();break; /*case 10:exit(0); /*/*菜單函數(shù),函數(shù)返回值為整數(shù),代表所選的菜單項(xiàng)*/ menu_select()char s80;int c;gotoxy(1,25);/*將光標(biāo)定為在第 25行,第1列*/printf(press any key enter menun);/*提示壓任意鍵繼續(xù) */getch(); /*讀入任意字符*/clrscr(); /

14、* 清屏 */gotoxy(1,1);printf(I*MENU*nn);printf(0.Enter recordn);printf(1.List the filen);printf(2.Search record onnamen);printf(3.Delete a recordn);printf(4.add record n);printf(5.Save the filen);printf(6.Load the filen);printf( 7. display record on ordern);printf( 8. sort to make new filen);printf(9.

15、copy the file to new filen);printf(10. Quitn);printf(*n);doprintf(n Enteryou choice(010):);/* 提示輸入選項(xiàng)*/scanf(%s,s); /*輸入選擇項(xiàng)*/c=atoi(s); /* 將輸入的字符串轉(zhuǎn)化為整型數(shù)*/while(c10); /* 選擇項(xiàng)不在011 之間重輸*/return c; /* 返回選擇項(xiàng),主程序根據(jù)該數(shù)調(diào)用相應(yīng)的函數(shù)*/* 輸入記錄,形參為結(jié)構(gòu)體數(shù)組,函數(shù)值返回類(lèi)型為整型表示記錄長(zhǎng)度*/int enter(STUDENTS t) int i,n;char *s;clrscr();

16、/* 清屏 */printf(nplease input num n); /*提示信息*/scanf(%d,&n); /* 輸入記錄數(shù)*/printf(please input record n); /*提示輸入記錄*/printf(no name sex agen);printf(n);for (i=0;in;i+)scanf(%s,ti.no);scanf(%s,);scanf(%s,ti.sex);scanf(%d,&ti.age);return n; /*返回記錄條數(shù)*/*顯示記錄,參數(shù)為記錄數(shù)組和記錄條數(shù)*/void list(STUDENTS 肛int n)int i

17、;clrscr();printf(nn*STUDENTS*n);printf(noname sex agen);printf(n);for(i=0;in-1) /* 如果整數(shù)i值大于n-1 ,說(shuō)明沒(méi)找到*/printf(not foundn);elseprint(ti); /*找到,調(diào)用顯示函數(shù)顯示記錄*/* 顯示指定的一條記錄*/ void print(STUDENTS temp) clrscr();printf(nn*n);printf(noname sex agen);n);printf(printf(%-20s%-20s%-10s%-10dn,temp.no,,tem

18、p.sex,temp.age );printf(I*end*n);/* 查找函數(shù),參數(shù)為記錄數(shù)組和記錄條數(shù)以及姓名s */ int find(STUDENTS t,int n,char *s)int i;for(i=0;in;i+)/* 從第一條記錄開(kāi)始,直到最后一條*/if(strcmp(s,)=0)/*記錄中的姓名和待比較的姓名是否相等 */return i; /*相等,則返回該記錄的下標(biāo)號(hào),程序提前結(jié)結(jié)束*/return i; /* 返回 i 值 */* 刪除函數(shù),參數(shù)為記錄數(shù)組和記錄條數(shù)*/int delete(STUDENTS t,int n)char s20; /*要

19、刪除記錄的姓名 */int ch=0;int i,j;printf(please deleted namen); /*提示信息 */scanf(%s,s);/*輸入姓名 */i=find(t,n,s); /*調(diào)用 find 函數(shù) */for(;i=i;j-) /*strcpy(tj+1.no,tj.no); /*strcpy(tj+1.name,); /*條 */strcpy(tj+1.sex,tj.sex); /*tj+1.age=tj.age; /*當(dāng)前記錄的年齡拷貝到后一條strcpy(ti.no,temp.no); /*strcpy(,);

20、*/* 將新插入記錄的性別拷貝到第i 個(gè)位置 */將新插入記錄的年齡拷貝到第i 個(gè)位置 */*/*/strcpy(ti.sex,temp.sex);ti.age = temp.age; /*n+; /* 記錄數(shù)加1*/return n; /* 返回記錄數(shù)/* 保存函數(shù),參數(shù)為結(jié)構(gòu)體數(shù)組和記錄數(shù)void save(STUDENTS t,int n)int i;FILE *fp; /* 指向文件的指針*/*打開(kāi)文件,并判斷打開(kāi)是沒(méi)打開(kāi) */輸出提示信息*/將記錄數(shù)寫(xiě)入文件*/if(fp=fopen(record.txt,wb)=NULL)否正常 */printf(can not open file

21、n);/*exit(1); /*退出 */printf(nSaving filen); /* fprintf(fp,%d,n); /*將換行符號(hào)寫(xiě)入文件*/fprintf(fp,rn); /* for(i=0;in;i+) fprintf(fp,%-20s%-30s%-10s%-10d”,ti.no,,ti.sex,ti.age);/*格式寫(xiě)入記錄*/fprintf(fp,rn); /*將換行符號(hào)寫(xiě)入文件 */fclose(fp);/*關(guān)閉文件 */printf(*save success*n); /*/*讀入函數(shù),參數(shù)為結(jié)構(gòu)體數(shù)組*/int load(STUDENTS t口)i

22、nt i,n;FILE *fp;/*指向文件的指針*/if(fp=fopen(record.txt,rb)=NULL)/* printf(can not open filen); /*exit(1); /*退出 */顯示保存成功*/打開(kāi)文件*/不能打開(kāi)*/fscanf(fp,%d,&n); /* 讀入記錄數(shù) */for(i=0;i=0&idn) /*判斷序號(hào)是否在記錄范圍內(nèi)*/printf(Enter order number.n); /*移動(dòng)文件指針到該記錄位fseek(fp,(id-1)*sizeof(STUDENTS),1); /* 置 */print(tid); /*調(diào)用輸出函數(shù)顯示該

23、記錄*/printf(rn);else如果序號(hào)不合理顯示信printf(no %d number record!n ,id); /*息 */fclose(fp); /*關(guān)閉文件*/* 排序函數(shù),參數(shù)為結(jié)構(gòu)體數(shù)組和記錄數(shù)*/ void sort(STUDENTS t,int n)int i,j,flag;STUDENTS temp; /* 臨時(shí)變量做交換數(shù)據(jù)用*/for(i=0;in;i+)flag=0; /*設(shè)標(biāo)志判斷是否發(fā)生過(guò)交換*/for(j=0;j0)/*比較大小 */temp=tj; tj=tj+1;tj+1=temp;flag+;if(flag=0)break; /*如果標(biāo)志為 0,說(shuō)明沒(méi)有發(fā)生過(guò)交換循環(huán)結(jié)束*/printf(sort sucess!n); /*顯示排序成功 */*復(fù)制文件*/void copy()char outfile20; /*目標(biāo)文件名 */int i,n;STUDENTS tempM; /* 定義臨時(shí)變量 */FILE *sfp,*tfp; /*定義指向文件的指針*/clrscr();/* 清屏 */if(sfp=fopen(record.txt,rb)=NULL) /*打開(kāi)記錄文件 */printf(can not

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論