學(xué)生信息管理系統(tǒng)(順序表)實(shí)驗(yàn)Word版_第1頁
學(xué)生信息管理系統(tǒng)(順序表)實(shí)驗(yàn)Word版_第2頁
學(xué)生信息管理系統(tǒng)(順序表)實(shí)驗(yàn)Word版_第3頁
學(xué)生信息管理系統(tǒng)(順序表)實(shí)驗(yàn)Word版_第4頁
學(xué)生信息管理系統(tǒng)(順序表)實(shí)驗(yàn)Word版_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除! 數(shù) 據(jù) 結(jié) 構(gòu) 課 程 設(shè) 計(jì)設(shè) 計(jì) 題 目: 學(xué)生信息管理系統(tǒng)(順序) 姓名及學(xué)號(hào) : 專 業(yè) 班 級(jí): 09計(jì)算機(jī)科學(xué)與技術(shù) 指 導(dǎo) 教 師: 完 成 時(shí) 間: 信息工程學(xué) 院 計(jì)算機(jī)科學(xué) 系傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!課題名稱學(xué)生信息管理系統(tǒng)(順序表)院 系信息工程學(xué)院年級(jí)專業(yè)10計(jì)科特色學(xué) 號(hào)姓 名成 績(jī)1042157103何業(yè)祥1042157104孔磊磊10421571019王 舒課題設(shè)計(jì)目的與設(shè)計(jì)意義1、課題設(shè)計(jì)目的:課程設(shè)計(jì)任務(wù)是為了實(shí)現(xiàn)學(xué)生信息的相關(guān)操作,方面用戶快速得到學(xué)生的各種信息,并且能進(jìn)行

2、信息的更新、插入、刪除等操作。課程設(shè)計(jì)的主要目的:熟練利用數(shù)據(jù)結(jié)構(gòu)各種算法思想設(shè)計(jì)程序;掌握C語言基本語法;通過課程設(shè)計(jì),加深對(duì)數(shù)據(jù)結(jié)構(gòu)課程所學(xué)內(nèi)容的進(jìn)一步理解和鞏固;加深對(duì)結(jié)構(gòu)化課程設(shè)計(jì)思想的理解,并設(shè)計(jì)合理的模塊化結(jié)構(gòu);提高程序開發(fā)功能,能運(yùn)用合理的控制流程編寫清晰高效的程序;培養(yǎng)分析問題、解決問題的能力。在課程設(shè)計(jì)中,我們充分發(fā)揮小組優(yōu)勢(shì)完成課程設(shè)計(jì),同時(shí)也體會(huì)到小組合作的重要性與必要性。2、課題設(shè)計(jì)意義:指導(dǎo)教師:年 月 日 安徽新華學(xué)院課程設(shè)計(jì)成績(jī)?cè)u(píng)定表(本科)目 錄傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!一、實(shí)驗(yàn)?zāi)康?1二、實(shí)驗(yàn)內(nèi)容 1三、基本要求 1四、算法設(shè)計(jì)思想

3、 1五、算法流程圖 1六、算法源代碼 6七、運(yùn)行結(jié)果 22八、收獲和體會(huì) 25九、致謝 25傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!1. 實(shí)驗(yàn)?zāi)康模和ㄟ^制作學(xué)生信息管理系統(tǒng) (1) 基本掌握面向過程程序設(shè)計(jì)的的基本思路和方法;(2) 達(dá)到熟練掌握C語言的基本知識(shí)和技能;(3) 能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的程序設(shè)計(jì)問題。2實(shí)驗(yàn)內(nèi)容: 輸入一個(gè)班學(xué)生的學(xué)號(hào),姓名,性別,成績(jī)。編程插入學(xué)生信息,設(shè)計(jì)查找每個(gè)學(xué)生的信息,刪除學(xué)生信息,輸出學(xué)生信息,修改學(xué)生信息,報(bào)表和顯示學(xué)生信息,及退出學(xué)生信息管理系統(tǒng)。3基本要求:(1)硬件:微機(jī),打印機(jī)各一臺(tái)(2)軟件:Visual C+

4、,windows74. 算法設(shè)計(jì)思想(1).分析程序的功能要求,劃分程序功能模塊。 (2). 畫出系統(tǒng)流程圖。 (3). 代碼的編寫。定義數(shù)據(jù)結(jié)構(gòu)和各個(gè)功能子函數(shù)。 (4). 程序的功能調(diào)試。 5. 算法的流程圖傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!根據(jù)printf函數(shù)輸出的提示信息選擇相關(guān)操作3.查找學(xué)生信息4.刪除學(xué)生信息5.輸出學(xué)生信息6.修改學(xué)生信息0.退出學(xué)生信息管理系統(tǒng)1.創(chuàng)建學(xué)上信息表并初始化Main 主函數(shù)開始根據(jù)while語句選擇06相應(yīng)數(shù)字Switch語句實(shí)現(xiàn)具體操作2.添加學(xué)生信息根據(jù)相關(guān)調(diào)用函數(shù)輸出相應(yīng)學(xué)生信息程序結(jié)束傳播優(yōu)秀Word版文檔 ,希望對(duì)您有

5、幫助,可雙擊去除!傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!6. 算法源代碼:#include#include#include#define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 10#define List_INIT_SPACE 10#define List_INC_SPACE 1typedef structchar number15;char name10;char sex10;int score;Elemtype;傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!typedef structElemty

6、pe *elem;int length;int listsize;sqlist;/*1創(chuàng)建空順序表并初始化*/void creatList(sqlist *L)int i=0,n;Elemtype *newbase;L-elem=(Elemtype*)malloc(List_INIT_SPACE*(sizeof(Elemtype);if(!L-elem) exit(OVERFLOW);L-length=0;L-listsize=List_INIT_SPACE;printf(有幾位同學(xué):n);scanf(%d,&n);傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!for(i=0;ilen

7、gth=L-listsize)newbase=(Elemtype*)realloc(L-elem,(List_INIT_SPACE+List_INC_SPACE)*sizeof(Elemtype);if(newbase) L-elem=newbase;L-listsize+=List_INC_SPACE;else exit(OVERFLOW);printf(請(qǐng)輸入第%d名同學(xué)的信息:n,i+1);printf(學(xué)號(hào)(15)n);scanf(%16s,L-elemL-length.number);printf(姓名(15)n);scanf(%16s,L-elemL-);pr

8、intf(性別(男:M女:F)n);scanf(%16s,L-elemL-length.sex);printf(成績(jī)n);傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!scanf(%10d,&L-elemL-length.score);L-length+;printf(%d名學(xué)生信息如下:n,L-length);printf(學(xué)號(hào)(15)姓名(15)性別(男:M女:F) 成績(jī)n);for(i=0;ilength;i+)printf(%-16s%-16s%-16s%-10dn,L-elemi.number,L-,L-elemi.sex,L-elemi.score);/

9、*2向順序表中插入元素*/void insertlist(sqlist*L)int i,j,k;char sign=y;Elemtype *newbase;Elemtype newelem;while(sign!=n)if(L-length=L-listsize)傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!newbase=(Elemtype*)realloc(L-elem,(List_INIT_SPACE+List_INC_SPACE)*sizeof(Elemtype);if(newbase) L-elem=newbase;L-listsize+=List_INC_SPACE;els

10、e exit(OVERFLOW);printf(請(qǐng)輸入要插入的同學(xué)的信息:n);printf(學(xué)號(hào)(15)n);scanf(%16s,newelem.number);printf(姓名(15)n);scanf(%16s,);printf(性別(男:M女:F)n);scanf(%16s,newelem.sex);printf(成績(jī)n);scanf(%10d,&newelem.score);printf(要插入到第幾個(gè)位置:);scanf(%d,&i);while(iL-length+1)傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!printf(不能插入到第%d個(gè)

11、位置!n只能插入第1到第%d個(gè)位置上!n請(qǐng)重新輸入要插入的位置:,L-length+1);scanf(%d,&i);L-length+;for(j=L-length-1;ji-2;j-)for(k=0;k=L-k;L-elemj.numberk=L-elemj-1.numberk;L-elemj.sexk=L-elemj-1.sexk;L-elemj.score=L-elemj-1.score;j+;for(k=0;k=k;L-elemj.numberk=newelem.numberk;傳播優(yōu)秀Word

12、版文檔 ,希望對(duì)您有幫助,可雙擊去除!L-elemj.sexk=newelem.sexk;L-elemj.score=newelem.score;printf(是否還要輸入?(Y or N);getchar();scanf(%c,&sign);if(sign=n|sign=N)sign=n;printf(%d名學(xué)生信息如下:n,L-length);printf(學(xué)號(hào)(15)姓名(15)性別(男:M女:F) 成績(jī)n);for(i=0;ilength;i+)printf(%-16s%-16s%-16s%-10dn,L-elemi.number,L-,L-elemi.sex,L-

13、elemi.score);/*3查找學(xué)生信息*/int findlist(sqlist *L)傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!int j;char i16;printf(1.按學(xué)號(hào)查找n2.按姓名查找n請(qǐng)選擇:);scanf(%d,&j);if(j=1)printf(請(qǐng)輸入學(xué)號(hào):);scanf(%s,i);for(j=0;jlength;j+)if(!strcmp(i,L-elemj.number)/i=L-elemj.number用數(shù)組函數(shù)return j+1;return 0;elseprintf(請(qǐng)輸入姓名:);scanf(%s,i);for(j=0;jlength

14、;j+)if(!strcmp(i,L-)/用數(shù)組函數(shù)return j+1;return 0;傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!/*4刪除學(xué)生信息*/int delnode(sqlist *L)int j;char i10;printf(1.按學(xué)號(hào)刪除n2.按姓名刪除n請(qǐng)選擇:);scanf(%d,&j);if(j=1)printf(請(qǐng)輸入學(xué)號(hào):);scanf(%s,i);for(j=0;jlength;j+)if(!strcmp(i,L-elemj.number)/i=L-elemj.number用數(shù)組函數(shù)for(;jlength;j+)L-elemj=

15、L-elemj+1;L-length-;return 1;傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!return 0;elseprintf(請(qǐng)輸入姓名:);scanf(%s,i);for(j=0;jlength;j+)if(!strcmp(i,L-)/用數(shù)組函數(shù)for(;jlength;j+)L-elemj=L-elemj+1;/L-elemj以后的向前挪L-length-;return 1;return 0;/*5輸出學(xué)生信息*/傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!void printlist(sqlist *L)int i;printf(%

16、d名學(xué)生信息如下:n,L-length);printf(學(xué)號(hào)(15)姓名(15)性別(男:M女:F) 成績(jī)n);for(i=0;ilength;i+)printf(%-16s%-16s%-16s%-10dn,L-elemi.number,L-,L-elemi.sex,L-elemi.score);/*6修改功能*/void reviselist(sqlist *L)int i,x,a=0;char name16;char sex16;char number16;int score;printf(請(qǐng)選擇你要改的同學(xué)的姓名);scanf(%16s,name); printf(請(qǐng)

17、選擇你要改的同學(xué)的信息n);傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除! printf(1.修改學(xué)生的姓名n);printf(2.修改學(xué)生的學(xué)號(hào)n);printf(3.修改學(xué)生的性別n);printf(4.修改學(xué)生的成績(jī)n);scanf(%d,&x);switch(x)case 1:for(i=0;ilength;i+)if(strcmp(name,L-)=0)printf(請(qǐng)輸入新名字);scanf(%16s,name);strcpy(L-,name);a=1;if(a=0)printf(對(duì)不起你要改的名字不存在n);傳播優(yōu)秀Word版文檔

18、,希望對(duì)您有幫助,可雙擊去除!break;case 2:for(i=0;ilength;i+) if(strcmp(name,L-)=0) printf(請(qǐng)輸入新學(xué)號(hào));scanf(%16s,number);strcpy(L-elemi.number,number);a=1; if(a=0)printf(對(duì)不起你要改的名字不存在n);break;case 3:for(i=0;ilength;i+)if(strcmp(name,L-)=0)printf(請(qǐng)輸入新性別);傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!scanf(%16s,sex);s

19、trcpy(L-elemi.sex,sex);a=1;if(a=0)printf(對(duì)不起你要改的名字不存在n);break;case 4:for(i=0;ilength;i+)if(strcmp(name,L-)=0)printf(請(qǐng)輸入新成績(jī));scanf(%d,score);L-elemi.score=score;a=1;if(a=0)printf(對(duì)不起你要改的名字不存在n);傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!break;/*0退出學(xué)生信息管理系統(tǒng)*/void tuichu(sqlist *L)if(!L-elem)free(L-elem);pri

20、ntf(nn再見,歡迎下次使用);exit(-2);void main()sqlist a,*L=&a;int i;printf(*n);printf(* 學(xué)生信息管理系統(tǒng) *n); printf(*=n);傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!printf(*1.創(chuàng)建學(xué)生信息庫(kù)并初始化 *n); printf(*2.添加學(xué)生信息 *n);printf(*3.查找學(xué)生信息 *n); printf(*4.刪除學(xué)生信息 *n); printf(* 5.輸出學(xué)生信息 *n); printf(*6.修改學(xué)生信息 *n); printf(* 0.退出學(xué)生信息管理系統(tǒng) *n); print

21、f(*=n); printf(*n);while(1)printf(nn請(qǐng)選擇(0-6):);scanf(%d,&i);while(i6)printf(只能選擇0到6!請(qǐng)重新選擇:);scanf(%d,&i);switch(i)傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!case 1:creatList(L);printf(初始化完畢!);break;case 2:insertlist(L);break;case 3:i=findlist(L);if(!i)printf(沒有該學(xué)生n);elsei-;printf(要查找的學(xué)生:n);printf(學(xué)號(hào) 姓名 性別 成績(jī)n);prin

22、tf(%-10s%-10s%-10s%-dn,L-elemi.number,L-,L-elemi.sex,L-elemi.score);break;傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!case 4:i=delnode(L);if(!i)printf(沒有該學(xué)生n);elseprintf(該學(xué)生已刪除);break;case 5:printlist(L);break;case 6:reviselist(L);break;case 0:tuichu(L);7.運(yùn)行結(jié)果:(1) 初始化傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!(2) 信息錄入傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!信息插入(3) 信息查詢傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除?。?) 刪除信息(5) 修改學(xué)生信息傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!(6) 退出系統(tǒng)8收獲及體會(huì): 通過這次實(shí)訓(xùn),增加了我們學(xué)習(xí)軟件技術(shù)的興趣,加強(qiáng)

溫馨提示

  • 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. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論