1567159126李俊達(dá)學(xué)生基本信息管理系統(tǒng)方案_第1頁
1567159126李俊達(dá)學(xué)生基本信息管理系統(tǒng)方案_第2頁
1567159126李俊達(dá)學(xué)生基本信息管理系統(tǒng)方案_第3頁
1567159126李俊達(dá)學(xué)生基本信息管理系統(tǒng)方案_第4頁
1567159126李俊達(dá)學(xué)生基本信息管理系統(tǒng)方案_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

.....XX科技大學(xué)本科生課程設(shè)計(jì)說明書題目:C語言課程設(shè)計(jì)——學(xué)生基本信息管理系統(tǒng)學(xué)生__李俊達(dá)學(xué)號(hào):1567159126專業(yè):軟件班級(jí):1班指導(dǎo)褚燕華日期:2016年1月5日..XX科技大學(xué)課程設(shè)計(jì)任務(wù)書課程名稱C語言課程設(shè)計(jì)設(shè)計(jì)題目學(xué)生基本信息管理系統(tǒng)指導(dǎo)教師褚燕華時(shí)間——一、教學(xué)要求1.鞏固和加深學(xué)生對(duì)C語言課程的基本知識(shí)的理解和掌握

2.掌握C語言編程和程序調(diào)試的基本技能

3.利用C語言進(jìn)行基本的軟件設(shè)計(jì)

4.掌握書寫程序設(shè)計(jì)說明文檔的能力

5.提高運(yùn)用C語言解決實(shí)際問題的能力二、設(shè)計(jì)資料及參數(shù)每個(gè)學(xué)生在教師提供的課程設(shè)計(jì)題目中任意選擇一題,獨(dú)立完成,題目選定后不可更換。某班學(xué)生基本信息管理,包括以下功能:從鍵盤輸入包括學(xué)號(hào)、姓名、性別、出生年月日、籍貫、所在院系、專業(yè)、獎(jiǎng)懲信息等,并將其保存在磁盤文件里具有進(jìn)行單項(xiàng)查詢或多項(xiàng)查詢的功能〔即按照給定的關(guān)鍵字姓名等找出滿足條件的紀(jì)錄具有插入、修改和刪除信息的功能具有輸出文件數(shù)據(jù)信息的功能三、設(shè)計(jì)要求及成果1.分析課程設(shè)計(jì)題目的功能需求〔可選用數(shù)組或鏈表實(shí)現(xiàn),可多人〔最多3人協(xié)作完成一個(gè)題目

2.寫出詳細(xì)設(shè)計(jì)說明〔至少包括功能實(shí)現(xiàn)分析和模塊流程圖

3.編寫程序代碼,調(diào)試程序使其能正確運(yùn)行〔代碼書寫要規(guī)范,標(biāo)示符要見名知意,要有必要的注釋,每人至少500行代碼,不包括注釋和花括號(hào)

4.設(shè)計(jì)完成的軟件要便于操作和使用

5.設(shè)計(jì)完成后提交課程設(shè)計(jì)報(bào)告〔請(qǐng)嚴(yán)格按照模板進(jìn)行排版四、進(jìn)度安排第一天

選擇課程設(shè)計(jì)題目,分析課題的要求

第二天

編程

第三天

編程及調(diào)試

第四天

寫課程設(shè)計(jì)報(bào)告

第五天

提交課程設(shè)計(jì)報(bào)告〔打印稿及電子稿五、評(píng)分標(biāo)準(zhǔn)1.根據(jù)平時(shí)上機(jī)考勤、表現(xiàn)和進(jìn)度,教師將每天點(diǎn)名和檢查2.根據(jù)課程設(shè)計(jì)完成情況,必須有可運(yùn)行的軟件。

3.根據(jù)課程設(shè)計(jì)報(bào)告的質(zhì)量,如有雷同,則所有雷同的所有人均判為不及格。六、建議參考資料1.《C語言程序設(shè)計(jì)》,譚浩強(qiáng),清華大學(xué)出版社2.《C語言程序設(shè)計(jì)課程設(shè)計(jì)》,劉振安,機(jī)械工業(yè)出版社目錄32563目錄III16405第一章需求分析4259311.1引言4271461.2任務(wù)概述4150661.3數(shù)據(jù)描述4140061.4功能需求456151.5任務(wù)計(jì)劃526316第二章概要設(shè)計(jì)6132562.1總體設(shè)計(jì)6113992.2數(shù)據(jù)類型設(shè)計(jì)〔或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)820222.3接口設(shè)計(jì)8140532.3運(yùn)行界面設(shè)計(jì)928865第三章詳細(xì)設(shè)計(jì)1141133.1輸入模塊設(shè)計(jì)11100233.2瀏覽模塊設(shè)計(jì)13122263.3查找模塊設(shè)計(jì)15259953.4刪除模塊設(shè)計(jì)2227089第四章測(cè)試分析23283664.1測(cè)試程序執(zhí)行情況及出現(xiàn)的問題和解決的方法2425182第五章課程設(shè)計(jì)總結(jié)246214附錄:程序代碼2515416參考文獻(xiàn)3622802致謝38..第一章需求分析引言當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代,在各行各業(yè)中離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。任務(wù)概述某班學(xué)生基本信息管理,包括以下功能:從鍵盤輸入包括學(xué)號(hào)、姓名、性別、出生年月日、籍貫、所在院系、專業(yè)、獎(jiǎng)懲信息等,并將其保存在磁盤文件里具有進(jìn)行單項(xiàng)查詢或多項(xiàng)查詢的功能〔即按照給定的關(guān)鍵字姓名等找出滿足條件的紀(jì)錄具有插入、修改和刪除信息的功能具有輸出文件數(shù)據(jù)信息的功能數(shù)據(jù)描述structstudent{longid;學(xué)號(hào) charname[30];姓名 intage;年齡 charsex[2];性別 charbirthday[9];出生年月日 charadd[80];地址 charfaculty[15];院系 charmajor[25];專業(yè)};1.4功能需求輸入功能:一次可以輸入學(xué)生的多種數(shù)據(jù)的輸入顯示功能:可以瀏覽多個(gè)學(xué)生的基本信息刪除功能:對(duì)指定學(xué)生的指定信息進(jìn)行刪除修改功能:對(duì)指定學(xué)生的指定信息進(jìn)行修改。查詢功能:選擇某種方式并輸入該信息查詢符合條件的學(xué)生信息。文件保存功能:可以將學(xué)生基本信息保存到磁盤文件打開功能:可以打開保存在磁盤中的數(shù)據(jù)1.5任務(wù)計(jì)劃設(shè)計(jì)及構(gòu)思第18周星期一設(shè)計(jì)及構(gòu)思星期二星期三調(diào)試及改錯(cuò)星期四調(diào)試及改錯(cuò)星期五測(cè)試運(yùn)行星期六測(cè)試運(yùn)行星期日概要設(shè)計(jì)總體設(shè)計(jì)開始開始是否可行是否可行修改合實(shí)修改合實(shí)主菜單錄入學(xué)生信息主菜單錄入學(xué)生信息瀏覽學(xué)生信息查詢學(xué)生信息退出系統(tǒng)是否運(yùn)行是否運(yùn)行刪除刪除錄入錄入查詢修改瀏覽查詢修改瀏覽退出退出程序設(shè)計(jì)組成框圖:主菜單主菜單學(xué)生信息錄入學(xué)生信息瀏覽信息查詢學(xué)分查詢姓名查詢信息編輯信息添加信息刪除信息編輯信息添加信息刪除2>調(diào)用關(guān)系writeinfo<>fileopen<>writeinfo<>fileopen<>editname<intn>editname<intn>editage<intn>editsex<intn>pr<>editage<intn>editsex<intn>pr<>editbir<intn>edit<intn>viewinfo<>editbir<intn>edit<intn>viewinfo<>main<>editadd<intn>del<intn>editpr<intn>jsid<>editadd<intn>del<intn>editpr<intn>jsid<>edit<intn><同上>edittel<intn>editemail<intn>edit<intn><同上>edittel<intn>editemail<intn>del<intn>pr2<>editpr<intn>jsname<>filesave<>editpr<intn>jsname<>filesave<>3>參數(shù)說明editname<intn>、editage<intn>、editsex<intn>、editbir<intn>、editadd<intn>、edittel<intn>、editemail<intn>、last<intn>、edit<intn>、del<intn>、editpr<intn>函數(shù)中的n都為檢索中確定的學(xué)生數(shù)組下標(biāo)。數(shù)據(jù)類型設(shè)計(jì)〔或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)structstudent{longid;學(xué)號(hào) charname[30];姓名 intage;年齡 charsex[2];性別 charbirthday[9];出生年月日 charadd[80];地址 charfaculty[15];院系 charmajor[25];專業(yè)};2.3接口設(shè)計(jì)表2.1:函數(shù)列表函數(shù)名函數(shù)格式//即函數(shù)首部函數(shù)功能pr<>;void輸出主界面fileopen<>void文件打開filesavevoid文件保存pr〔void輸出檢索菜單Jsid〔void按姓名檢索Jsname<>void按學(xué)號(hào)檢索Edit<>void修改Editpr<>int修改子菜單Editid〔void修改學(xué)號(hào)Editname〔void修改名字Editsex〔void修改性別Editbir〔void修改出生年月日Editadd〔void修改地址Editfacultyvoid修改院系Editmajorvoid修改專業(yè)Lastvoid顯示翻頁到尾的信息Delvoid刪除Writeinfovoid錄入信息viewinfovoid查看信息運(yùn)行界面設(shè)計(jì)voidmain<> //主函數(shù){ intn=1; charch; fileopen<>; //文件打開 while<n> { pr<>; ch=getchar<>; switch<ch> //switch語句選擇功能 { case'1':writeinfo<>;break; case'2':viewinfo<>;break; case'3':pr2<>;break; case'4':n=0;break; } } filesave<>;}voidpr<>//輸出主界面{ system<"cls">; printf<"******學(xué)生信息管理系統(tǒng)******">; printf<"\nv1.0.0">; printf<"\n您想要:">; printf<"\n1.錄入學(xué)生信息">; printf<"\n2.瀏覽學(xué)生信息">; printf<"\n3.檢索學(xué)生信息">; printf<"\n4.退出信息管理">; printf<"\n****************************\n">;}..詳細(xì)設(shè)計(jì)輸入模塊設(shè)計(jì)voidwriteinfo<>{ inta,n=1,m; charch; while<n> { a=stunum; system<"cls">; printf<"ID:">; scanf<"%d",&stu[a].id>; printf<"\nName:">; scanf<"%s",&stu[a].name>; printf<"\nAge:">; scanf<"%d",&stu[a].age>; printf<"\nSex:">; scanf<"%s",&stu[a].sex>; printf<"\nBirthday<E.g20090101>:">; scanf<"%s",&stu[a].birthday>; printf<"\nfaculty:">; scanf<"%s",&stu[a].add>; printf<"\nTel:">; scanf<"%s",&stu[a].faculty>; printf<"\nmajor:">; scanf<"%s",&stu[a].major>; m=1; while<m> //做一個(gè)循環(huán),直到m=0時(shí)跳出 { system<"cls">; printf<"ID:">; printf<"\nName:">; printf<"%s",stu[a].name>; printf<"\nAge:">; printf<"%d",stu[a].age>; printf<"\nSex:">; printf<"%s",&stu[a].sex>; printf<"\nBirthday:">; printf<"%s",stu[a].birthday>; printf<"\nAddress:">; printf<"%s",stu[a].add>; printf<"\nfaculty:">; printf<"%s",stu[a].faculty>; printf<"\nmajorl">; printf<"%s",stu[a].major>; printf<"\n請(qǐng)選擇:1.確認(rèn)并繼續(xù)2.重新填寫3.放棄并返回4.確認(rèn)并返回">; ch=getchar<>; switch<ch> { case'1':m=0;stunum++;break; case'2':stunum,m=0;break; case'3':m=0,n=0;break; //選擇此項(xiàng)時(shí),m=0,循環(huán)終止 case'4':m=0,n=0;a=stunum++;break; } } }}瀏覽模塊設(shè)計(jì)voidviewinfo<>{ intcount=1,i,n=1,pagenum=1,page=stunum/5+1; //設(shè)定變量控制翻頁 charch; while<n> { system<"cls">; printf<"學(xué)號(hào)姓名年齡性別出生年月\n">; for<i=count-1;i<count+4&&i<stunum;i++> { printf<"%4d",stu[i].id>; printf<"%12s",stu[i].name>; printf<"%4d",stu[i].age>; printf<"%4s",stu[i].sex>; printf<"%8s\n",stu[i].birthday>; } printf<"\n\n\n學(xué)號(hào)院系院系地址\n">; for<i=count-1;i<count+4&&i<stunum;i++> { printf<"%4d",stu[i].id>; printf<"%15s",stu[i].faculty>; printf<"%15s",stu[i].major>; printf<"%s\n",stu[i].add>; } printf<"\n1.上一頁2.下一頁0.退出共學(xué)生%d人,第%d頁,共%d頁\n",stunum,pagenum,page>; ch=getchar<>; switch<ch> { case'1':pagenum--; if<pagenum==0>count=<1>*5+1,pagenum=page; elsecount=<pagenum-1>*5+1;break; case'2':pagenum++; if<pagenum>page>count=1,pagenum=1; elsecount=<pagenum-1>*5+1;break; case'0':n=0;break; } }}查找模塊設(shè)計(jì)//************************檢索界面******************************voidpr2<>//輸出檢索信息界面{ inta; charch; while<a> { //system<"cls">; printf<"******學(xué)生信息管理系統(tǒng)******">; printf<"\n檢索">; printf<"\n您想要:">; printf<"\n1.按學(xué)號(hào)檢索">; printf<"\n2.按姓名檢索">; printf<"\n3.返回主菜單">; printf<"\n\n">; printf<"\n****************************\n">; ch=getchar<>; switch<ch> { case'1':jsid<>;break; case'2':jsname<>;break; case'3':a=0;break; } }}voidjsid<>{ intn,i,j=0; //system<"cls">; printf<"******學(xué)生信息管理系統(tǒng)******">; printf<"\n檢索">; printf<"\n請(qǐng)輸入想要檢索的__">; scanf<"%ld",&n>;for<i=0;i<stunum;i++> { if<n==stu[i].id> { printf<"學(xué)號(hào)姓名年齡性別出生年月\n">; printf<"%4d",stu[i].id>; printf<"%12s",stu[i].name>; printf<"%4d",stu[i].age>; printf<"%4s",stu[i].sex>; printf<"%8s\n",stu[i].birthday>; printf<"\n\n\n學(xué)號(hào)院系專業(yè)地址\n">; printf<"%4d",stu[i].id>; printf<"%15s",stu[i].faculty>; printf<"%15s",stu[i].major>; printf<"%s\n",stu[i].add>; j=editpr<i>; } } if<i=stunum> { last<n>; printf<"\nError:無此學(xué)生。">; printf<"\n****************************\n">; }}voidjsname<>{ intn,j,i=0; charm[30]; //system<"cls">; printf<"******學(xué)生信息管理系統(tǒng)******">; printf<"\n檢索">; printf<"\n請(qǐng)輸入想要檢索的__">; scanf<"%s",m>; for<n=0;n<stunum;n++> { if<strcmp<m,stu[n].name>==0> { //system<"cls">; printf<"學(xué)號(hào)姓名年齡性別出生年月\n">; printf<"%4d",stu[n].id>; printf<"%8s",stu[n].name>; printf<"%4d",stu[n].age>; printf<"%4s",stu[n].sex>; printf<"%8s\n",stu[n].birthday>; printf<"\n\n\n學(xué)號(hào)院系專業(yè)地址\n">; printf<"%4d",stu[n].id>; printf<"%15s",stu[n].faculty>; printf<"%15s",stu[n].major>; printf<"%s\n",stu[n].add>; i++; if<<j=editpr<n>>==0> break; } } if<i==0> printf<"\nError:無此學(xué)生。">; if<j!=0> last<n>; getchar<>; getchar<>;}3.4修改模塊設(shè)計(jì)voidedit<intn>{ charch; inta=1,b; while<a> { printf<"******學(xué)生信息管理系統(tǒng)******">; printf<"\n修改">; printf<"\n請(qǐng)輸入你想修改的內(nèi)容:">; printf<"\n0.學(xué)號(hào)1.姓名2.年齡3.性別4.出生年月5.地址6.7.major\n">; printf<"\n\nBydage">; printf<"\n****************************\n">; getchar<>; ch=getchar<>; switch<ch> { case'0':editid<n>;break; case'1':editname<n>;break; case'2':editage<n>;break; case'3':editsex<n>;break; case'4':editbir<n>;break; case'5':editadd<n>;break; case'6':editfaculty<n>;break; case'7':editmajor<n>;break; } b=1; while<b> { printf<"\n確認(rèn)嗎?<y/n>">; getchar<>; ch=getchar<>; switch<ch> { case'Y': case'y':b=0;a=0;break; case'N': case'n':b=0;break; } }}}voideditid<intn>{ printf<"\n新學(xué)號(hào)">; scanf<"%d",&stu[n].id>;}voideditname<intn>{ printf<"\n新__">; scanf<"%s",&stu[n].name>;}voideditage<intn>{ printf<"\n新年齡:">; scanf<"%d",&stu[n].age>;}voideditsex<intn>{ printf<"\n新性別:">; scanf<"%s",&stu[n].sex>;}voideditbir<intn>{ printf<"\n新出生年月">; scanf<"%s",&stu[n].birthday>;}voideditadd<intn>{ printf<"\n新地址:">; scanf<"%s",&stu[n].add>;}voideditfaculty<intn>{ printf<"\n院系:">; scanf<"%s",&stu[n].faculty>;}voideditmajor<intn>{ printf<"\n專業(yè):">; scanf<"%s",&stu[n].major>;}刪除模塊設(shè)計(jì)//*******************************************刪除***************voiddel<intn>{ inta; for<a=n;a<stunum;a++> { strcpy<stu[a].name,stu[a+1].name>; //拷貝后一個(gè)學(xué)生信息到前一個(gè)人上。 stu[a].age=stu[a+1].age; strcpy<stu[a].sex,stu[a+1].sex>; strcpy<stu[a].birthday,stu[a+1].birthday>; strcpy<stu[a].add,stu[a+1].add>; strcpy<stu[a].faculty,stu[a+1].faculty>; strcpy<stu[a].major,stu[a+1].major>; } stunum--; printf<"刪除成功!pressEntertocontinue..\n">;}測(cè)試分析..測(cè)試程序執(zhí)行情況及出現(xiàn)的問題和解決的方法1>調(diào)用pr2<>函數(shù)〔檢索界面一閃而過。解決方法:添加getchar<>語句使程序暫停。2>無法有效的控制輸出函數(shù)循環(huán)終止。解決方法:添加全局變量"stunum",使用該全局變量來記錄學(xué)生總數(shù),從而控制輸出循環(huán)的次數(shù)。3>查詢函數(shù)數(shù)據(jù)量過多時(shí)同時(shí)輸出,先輸出的內(nèi)容無法查看,或需用戶自行查看。解決方法:添加getchar<>語句使程序暫停,當(dāng)用戶按Enter時(shí)繼續(xù)。4>文件在打開和保存時(shí)有問題。解決方法:調(diào)整文件的打開方式,從原來的單純的w+修改為添加一個(gè)if語句,當(dāng)沒有文件時(shí)執(zhí)行w+的操作,否則執(zhí)行r+。避免了原存儲(chǔ)文件被覆蓋的問題。課程設(shè)計(jì)總結(jié)總體結(jié)構(gòu)我們采取模塊化方式進(jìn)行程序設(shè)計(jì),要求程序的功能設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及整體結(jié)構(gòu)設(shè)計(jì)合理。也可根據(jù)自己對(duì)題目的理解增加新的功能模塊。

系統(tǒng)以菜單界面方式〔至少采用文本菜單界面,如能采用圖形菜單界面更好工作,運(yùn)行界面友好,演示程序以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行實(shí)驗(yàn)心得:對(duì)C語言的編程實(shí)踐有所認(rèn)識(shí)。在遇到程序調(diào)試不通過時(shí),會(huì)通過縮小范圍的分析來鎖定問題所在。通過這次實(shí)驗(yàn),熟悉了從自然語言轉(zhuǎn)換成偽代碼再轉(zhuǎn)換為流程圖的過程。在程序中設(shè)定合適的全局變量,可以簡化程序的編寫難度。運(yùn)用函數(shù)可以減少編寫時(shí)的代碼量,也使程序條理清晰。通過本次C語言上機(jī)實(shí)驗(yàn),我對(duì)這個(gè)介于人類與非人類之間的計(jì)算機(jī)編程語言有了一定的體驗(yàn)。隨著實(shí)驗(yàn)的成功與報(bào)告的完成,有點(diǎn)微微的成就感使人難忘。伴隨著學(xué)習(xí)的深入,我發(fā)現(xiàn)高深的東西還有很多很多,等待著我自己去挖掘。對(duì)C語言的學(xué)習(xí),我會(huì)加倍努力。附錄:程序代碼#include<stdio.h>#include<string.h>#include<stdlib.h>intstunum=0;//***********************************構(gòu)建結(jié)構(gòu)體***************structstudent{longid; charname[30]; intage; charsex[2]; charbirthday[9]; charadd[80]; charfaculty[15]; charmajor[25];}stu[100];//***********************************聲明函數(shù)************************voidpr<>;//輸出主界面voidfileopen<>;//文件打開voidfilesave<>;//文件保存voidpr2<>;//輸出檢索菜單界面voidjsid<>;voidjsname<>;voideditid<intn>;voidedit<intn>;//編輯inteditpr<intn>;//編輯子菜單voideditname<intn>;voideditage<intn>;voideditsex<intn>;voideditbir<intn>;voideditadd<intn>;voideditfaculty<intn>;//faciltyvoideditmajor<intn>;//majorvoidlast<intn>;//顯示翻頁到尾的信息voiddel<intn>;//刪除voidwriteinfo<>;//錄入voidviewinfo<>;//學(xué)生信息查看//*******************************************************voidmain<> //主函數(shù){ intn=1; charch; fileopen<>; //文件打開 while<n> { pr<>; ch=getchar<>; switch<ch> //switch語句選擇功能 { case'1':writeinfo<>;break; case'2':viewinfo<>;break; case'3':pr2<>;break; case'5':n=0;break; } } filesave<>;}voidpr<>//輸出主界面{ system<"cls">; printf<"******學(xué)生信息管理系統(tǒng)******">; printf<"\nv1.0.0">; printf<"\n您想要:">; printf<"\n1.錄入學(xué)生信息">; printf<"\n2.瀏覽學(xué)生信息">; printf<"\n3.檢索學(xué)生信息">; printf<"\n5.退出信息管理">; printf<"\n****************************\n">;}//******************************文件操作********************voidfileopen<>{ FILE*fp; intn; if<<fp=fopen<"data","r+">>==NULL> fp=fopen<"data","w+">; for<n=0;n<100;n++> fread<&stu[n],sizeof<structstudent>,1,fp>;fread<&stunum,4,1,fp>;fclose<fp>;}voidfilesave<>{ intn; FILE*fp; fp=fopen<"data","r+">; for<n=0;n<100;n++> fwrite<&stu[n],sizeof<structstudent>,1,fp>; fwrite<&stunum,4,1,fp>; fclose<fp>;}//***********************************錄入函數(shù)*********************************voidwriteinfo<>{ inta,n=1,m; charch; while<n> { a=stunum; system<"cls">; printf<"ID:">; scanf<"%d",&stu[a].id>; printf<"\nName:">; scanf<"%s",&stu[a].name>; printf<"\nAge:">; scanf<"%d",&stu[a].age>; printf<"\nSex:">; scanf<"%s",&stu[a].sex>; printf<"\nBirthday<E.g20090101>:">; scanf<"%s",&stu[a].birthday>; printf<"\nAddress:">; scanf<"%s",&stu[a].add>; printf<"\nTel:">; scanf<"%s",&stu[a].faculty>; printf<"\nE-mail:">; scanf<"%s",&stu[a].major>; m=1; while<m> //做一個(gè)循環(huán),直到m=0時(shí)跳出 { system<"cls">; printf<"ID:">; printf<"\nName:">; printf<"%s",stu[a].name>; printf<"\nAge:">; printf<"%d",stu[a].age>; printf<"\nSex:">; printf<"%s",&stu[a].sex>; printf<"\nBirthday:">; printf<"%s",stu[a].birthday>; printf<"\nAddress:">; printf<"%s",stu[a].add>; printf<"\nTel:">; printf<"%s",stu[a].faculty>; printf<"\nE-mail">; printf<"%s",stu[a].major>; printf<"\n請(qǐng)選擇:1.確認(rèn)并繼續(xù)2.重新填寫3.放棄并返回4.確認(rèn)并返回">; ch=getchar<>; switch<ch> { case'1':m=0;stunum++;break; case'2':stunum,m=0;break; case'3':m=0,n=0;break; //選擇此項(xiàng)時(shí),m=0,循環(huán)終止 case'4':m=0,n=0;a=stunum++;break; } } }}//**************************************查看目錄**********************************voidviewinfo<>{ intcount=1,i,n=1,pagenum=1,page=stunum/5+1; //設(shè)定變量控制翻頁 charch; while<n> { system<"cls">; printf<"學(xué)號(hào)姓名年齡性別出生年月\n">; for<i=count-1;i<count+4&&i<stunum;i++> { printf<"%4d",stu[i].id>; printf<"%12s",stu[i].name>; printf<"%4d",stu[i].age>; printf<"%4s",stu[i].sex>; printf<"%8s\n",stu[i].birthday>; } printf<"\n\n\n學(xué)號(hào)院系院系地址\n">; for<i=count-1;i<count+4&&i<stunum;i++> { printf<"%4d",stu[i].id>; printf<"%15s",stu[i].faculty>; printf<"%15s",stu[i].major>; printf<"%s\n",stu[i].add>; } printf<"\n1.上一頁2.下一頁0.退出共學(xué)生%d人,第%d頁,共%d頁\n",stunum,pagenum,page>; ch=getchar<>; switch<ch> { case'1':pagenum--; if<pagenum==0>count=<1>*5+1,pagenum=page; elsecount=<pagenum-1>*5+1;break; case'2':pagenum++; if<pagenum>page>count=1,pagenum=1; elsecount=<pagenum-1>*5+1;break; case'0':n=0;break; } }}//************************檢索界面******************************voidpr2<>//輸出檢索信息界面{ voidjsid<>; voidjsname<>; inta; charch; while<a> { system<"cls">; printf<"******學(xué)生信息管理系統(tǒng)******">; printf<"\n檢索">; printf<"\n您想要:">; printf<"\n1.按學(xué)號(hào)檢索">; printf<"\n2.按姓名檢索">; printf<"\n3.返回主菜單">; printf<"\n\n">; printf<"\n****************************\n">; ch=getchar<>; switch<ch> { case'1':jsid<>;break; case'2':jsname<>;break; case'3':a=0;break; } }}voidjsid<>{ intn,i,j=0; system<"cls">; printf<"******學(xué)生信息管理系統(tǒng)******">; printf<"\n檢索">; printf<"\n請(qǐng)輸入想要檢索的__">; scanf<"%ld",&n>;for<i=0;i<stunum;i++> { if<n==stu[i].id> { printf<"學(xué)號(hào)姓名年齡性別出生年月\n">; printf<"%4d",stu[i].id>; printf<"%12s",stu[i].name>; printf<"%4d",stu[i].age>; printf<"%4s",stu[i].sex>; printf<"%8s\n",stu[i].birthday>; printf<"\n\n\n學(xué)號(hào)院系專業(yè)地址\n">; printf<"%4d",stu[i].id>; printf<"%15s",stu[i].faculty>; printf<"%15s",stu[i].major>; printf<"%s\n",stu[i].add>; j=editpr<i>; } } if<i=stunum> { printf<"\nError:無此學(xué)生。">; printf<"\n****************************\n">; } else { if<j==0> gotoend; else { system<"cls">; last<n>; getchar<>; } }end:getchar<>;}voidjsname<>{ intn,j,i=0; charm[30]; system<"cls">; printf<"******學(xué)生信息管理系統(tǒng)******">; printf<"\n檢索">; printf<"\n請(qǐng)輸入想要檢索的__">; scanf<"%s",m>; for<n=0;n<stunum;n++> { if<strcmp<m,stu[n].name>==0> { system<"cls">; printf<"學(xué)號(hào)姓名年齡性別出生年月\n">; printf<"%4d",stu[n].id>; printf<"%8s",stu[n].name>; printf<"%4d",stu[n].age>; printf<"%4s",stu[n].sex>; printf<"%8s\n",stu[n].birthday>; printf<"\n\n\n學(xué)號(hào)院系專業(yè)地址\n">; printf<"%4d",stu[n].id>; printf<"%15s",stu[n].faculty>; printf<"%15s",stu[n].major>; printf<"%s\n",stu[n].add>; i++; if<<j=editpr<n>>==0> break; } } if<i==0> printf<"\nError:無此學(xué)生。">; if<j!=0> last<n>; getchar<>; getchar<>;}//******************************************尾頁*********************voidlast<intn>{ if<n==stunum> system<"cls">;//清屏 printf<"******學(xué)生信息管理系統(tǒng)******">; printf<"\n檢索">; printf<"\n已檢索到末尾。">; printf<"\nPressanykeytocontinue..">; printf<"\n\n">; printf<"\n****************************\n">;}//****************************************編輯界面*********************inteditpr<intn>{ inta=1; charch; while<a> { getchar<>; printf<"\n您想要:">; printf<"\n\n1.修改學(xué)生信息">; printf<"\n2.刪除該條信息">; printf<"\n3.返回上級(jí)菜單">; printf<"\n4.查看下條信息">; ch=getchar<>;

溫馨提示

  • 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. 人人文庫網(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)論