版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
.....XX科技大學(xué)本科生課程設(shè)計說明書題目:C語言課程設(shè)計——學(xué)生基本信息管理系統(tǒng)學(xué)生__李俊達學(xué)號:1567159126專業(yè):軟件班級:1班指導(dǎo)褚燕華日期:2016年1月5日..XX科技大學(xué)課程設(shè)計任務(wù)書課程名稱C語言課程設(shè)計設(shè)計題目學(xué)生基本信息管理系統(tǒng)指導(dǎo)教師褚燕華時間——一、教學(xué)要求1.鞏固和加深學(xué)生對C語言課程的基本知識的理解和掌握
2.掌握C語言編程和程序調(diào)試的基本技能
3.利用C語言進行基本的軟件設(shè)計
4.掌握書寫程序設(shè)計說明文檔的能力
5.提高運用C語言解決實際問題的能力二、設(shè)計資料及參數(shù)每個學(xué)生在教師提供的課程設(shè)計題目中任意選擇一題,獨立完成,題目選定后不可更換。某班學(xué)生基本信息管理,包括以下功能:從鍵盤輸入包括學(xué)號、姓名、性別、出生年月日、籍貫、所在院系、專業(yè)、獎懲信息等,并將其保存在磁盤文件里具有進行單項查詢或多項查詢的功能〔即按照給定的關(guān)鍵字姓名等找出滿足條件的紀錄具有插入、修改和刪除信息的功能具有輸出文件數(shù)據(jù)信息的功能三、設(shè)計要求及成果1.分析課程設(shè)計題目的功能需求〔可選用數(shù)組或鏈表實現(xiàn),可多人〔最多3人協(xié)作完成一個題目
2.寫出詳細設(shè)計說明〔至少包括功能實現(xiàn)分析和模塊流程圖
3.編寫程序代碼,調(diào)試程序使其能正確運行〔代碼書寫要規(guī)范,標示符要見名知意,要有必要的注釋,每人至少500行代碼,不包括注釋和花括號
4.設(shè)計完成的軟件要便于操作和使用
5.設(shè)計完成后提交課程設(shè)計報告〔請嚴格按照模板進行排版四、進度安排第一天
選擇課程設(shè)計題目,分析課題的要求
第二天
編程
第三天
編程及調(diào)試
第四天
寫課程設(shè)計報告
第五天
提交課程設(shè)計報告〔打印稿及電子稿五、評分標準1.根據(jù)平時上機考勤、表現(xiàn)和進度,教師將每天點名和檢查2.根據(jù)課程設(shè)計完成情況,必須有可運行的軟件。
3.根據(jù)課程設(shè)計報告的質(zhì)量,如有雷同,則所有雷同的所有人均判為不及格。六、建議參考資料1.《C語言程序設(shè)計》,譚浩強,清華大學(xué)出版社2.《C語言程序設(shè)計課程設(shè)計》,劉振安,機械工業(yè)出版社目錄32563目錄III16405第一章需求分析4259311.1引言4271461.2任務(wù)概述4150661.3數(shù)據(jù)描述4140061.4功能需求456151.5任務(wù)計劃526316第二章概要設(shè)計6132562.1總體設(shè)計6113992.2數(shù)據(jù)類型設(shè)計〔或數(shù)據(jù)結(jié)構(gòu)設(shè)計820222.3接口設(shè)計8140532.3運行界面設(shè)計928865第三章詳細設(shè)計1141133.1輸入模塊設(shè)計11100233.2瀏覽模塊設(shè)計13122263.3查找模塊設(shè)計15259953.4刪除模塊設(shè)計2227089第四章測試分析23283664.1測試程序執(zhí)行情況及出現(xiàn)的問題和解決的方法2425182第五章課程設(shè)計總結(jié)246214附錄:程序代碼2515416參考文獻3622802致謝38..第一章需求分析引言當今時代是飛速發(fā)展的信息時代,在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對于復(fù)雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。任務(wù)概述某班學(xué)生基本信息管理,包括以下功能:從鍵盤輸入包括學(xué)號、姓名、性別、出生年月日、籍貫、所在院系、專業(yè)、獎懲信息等,并將其保存在磁盤文件里具有進行單項查詢或多項查詢的功能〔即按照給定的關(guān)鍵字姓名等找出滿足條件的紀錄具有插入、修改和刪除信息的功能具有輸出文件數(shù)據(jù)信息的功能數(shù)據(jù)描述structstudent{longid;學(xué)號 charname[30];姓名 intage;年齡 charsex[2];性別 charbirthday[9];出生年月日 charadd[80];地址 charfaculty[15];院系 charmajor[25];專業(yè)};1.4功能需求輸入功能:一次可以輸入學(xué)生的多種數(shù)據(jù)的輸入顯示功能:可以瀏覽多個學(xué)生的基本信息刪除功能:對指定學(xué)生的指定信息進行刪除修改功能:對指定學(xué)生的指定信息進行修改。查詢功能:選擇某種方式并輸入該信息查詢符合條件的學(xué)生信息。文件保存功能:可以將學(xué)生基本信息保存到磁盤文件打開功能:可以打開保存在磁盤中的數(shù)據(jù)1.5任務(wù)計劃設(shè)計及構(gòu)思第18周星期一設(shè)計及構(gòu)思星期二星期三調(diào)試及改錯星期四調(diào)試及改錯星期五測試運行星期六測試運行星期日概要設(shè)計總體設(shè)計開始開始是否可行是否可行修改合實修改合實主菜單錄入學(xué)生信息主菜單錄入學(xué)生信息瀏覽學(xué)生信息查詢學(xué)生信息退出系統(tǒng)是否運行是否運行刪除刪除錄入錄入查詢修改瀏覽查詢修改瀏覽退出退出程序設(shè)計組成框圖:主菜單主菜單學(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ù)組下標。數(shù)據(jù)類型設(shè)計〔或數(shù)據(jù)結(jié)構(gòu)設(shè)計structstudent{longid;學(xué)號 charname[30];姓名 intage;年齡 charsex[2];性別 charbirthday[9];出生年月日 charadd[80];地址 charfaculty[15];院系 charmajor[25];專業(yè)};2.3接口設(shè)計表2.1:函數(shù)列表函數(shù)名函數(shù)格式//即函數(shù)首部函數(shù)功能pr<>;void輸出主界面fileopen<>void文件打開filesavevoid文件保存pr〔void輸出檢索菜單Jsid〔void按姓名檢索Jsname<>void按學(xué)號檢索Edit<>void修改Editpr<>int修改子菜單Editid〔void修改學(xué)號Editname〔void修改名字Editsex〔void修改性別Editbir〔void修改出生年月日Editadd〔void修改地址Editfacultyvoid修改院系Editmajorvoid修改專業(yè)Lastvoid顯示翻頁到尾的信息Delvoid刪除Writeinfovoid錄入信息viewinfovoid查看信息運行界面設(shè)計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">;}..詳細設(shè)計輸入模塊設(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<"\nfaculty:">; scanf<"%s",&stu[a].add>; printf<"\nTel:">; scanf<"%s",&stu[a].faculty>; printf<"\nmajor:">; scanf<"%s",&stu[a].major>; m=1; while<m> //做一個循環(huán),直到m=0時跳出 { 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請選擇:1.確認并繼續(xù)2.重新填寫3.放棄并返回4.確認并返回">; ch=getchar<>; switch<ch> { case'1':m=0;stunum++;break; case'2':stunum,m=0;break; case'3':m=0,n=0;break; //選擇此項時,m=0,循環(huán)終止 case'4':m=0,n=0;a=stunum++;break; } } }}瀏覽模塊設(shè)計voidviewinfo<>{ intcount=1,i,n=1,pagenum=1,page=stunum/5+1; //設(shè)定變量控制翻頁 charch; while<n> { system<"cls">; printf<"學(xué)號姓名年齡性別出生年月\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é)號院系院系地址\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è)計//************************檢索界面******************************voidpr2<>//輸出檢索信息界面{ inta; charch; while<a> { //system<"cls">; printf<"******學(xué)生信息管理系統(tǒng)******">; printf<"\n檢索">; printf<"\n您想要:">; printf<"\n1.按學(xué)號檢索">; 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請輸入想要檢索的__">; scanf<"%ld",&n>;for<i=0;i<stunum;i++> { if<n==stu[i].id> { printf<"學(xué)號姓名年齡性別出生年月\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é)號院系專業(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請輸入想要檢索的__">; scanf<"%s",m>; for<n=0;n<stunum;n++> { if<strcmp<m,stu[n].name>==0> { //system<"cls">; printf<"學(xué)號姓名年齡性別出生年月\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é)號院系專業(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è)計voidedit<intn>{ charch; inta=1,b; while<a> { printf<"******學(xué)生信息管理系統(tǒng)******">; printf<"\n修改">; printf<"\n請輸入你想修改的內(nèi)容:">; printf<"\n0.學(xué)號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確認嗎?<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é)號">; 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è)計//*******************************************刪除***************voiddel<intn>{ inta; for<a=n;a<stunum;a++> { strcpy<stu[a].name,stu[a+1].name>; //拷貝后一個學(xué)生信息到前一個人上。 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">;}測試分析..測試程序執(zhí)行情況及出現(xiàn)的問題和解決的方法1>調(diào)用pr2<>函數(shù)〔檢索界面一閃而過。解決方法:添加getchar<>語句使程序暫停。2>無法有效的控制輸出函數(shù)循環(huán)終止。解決方法:添加全局變量"stunum",使用該全局變量來記錄學(xué)生總數(shù),從而控制輸出循環(huán)的次數(shù)。3>查詢函數(shù)數(shù)據(jù)量過多時同時輸出,先輸出的內(nèi)容無法查看,或需用戶自行查看。解決方法:添加getchar<>語句使程序暫停,當用戶按Enter時繼續(xù)。4>文件在打開和保存時有問題。解決方法:調(diào)整文件的打開方式,從原來的單純的w+修改為添加一個if語句,當沒有文件時執(zhí)行w+的操作,否則執(zhí)行r+。避免了原存儲文件被覆蓋的問題。課程設(shè)計總結(jié)總體結(jié)構(gòu)我們采取模塊化方式進行程序設(shè)計,要求程序的功能設(shè)計、數(shù)據(jù)結(jié)構(gòu)設(shè)計及整體結(jié)構(gòu)設(shè)計合理。也可根據(jù)自己對題目的理解增加新的功能模塊。
系統(tǒng)以菜單界面方式〔至少采用文本菜單界面,如能采用圖形菜單界面更好工作,運行界面友好,演示程序以用戶和計算機的對話方式進行實驗心得:對C語言的編程實踐有所認識。在遇到程序調(diào)試不通過時,會通過縮小范圍的分析來鎖定問題所在。通過這次實驗,熟悉了從自然語言轉(zhuǎn)換成偽代碼再轉(zhuǎn)換為流程圖的過程。在程序中設(shè)定合適的全局變量,可以簡化程序的編寫難度。運用函數(shù)可以減少編寫時的代碼量,也使程序條理清晰。通過本次C語言上機實驗,我對這個介于人類與非人類之間的計算機編程語言有了一定的體驗。隨著實驗的成功與報告的完成,有點微微的成就感使人難忘。伴隨著學(xué)習的深入,我發(fā)現(xiàn)高深的東西還有很多很多,等待著我自己去挖掘。對C語言的學(xué)習,我會加倍努力。附錄:程序代碼#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> //做一個循環(huán),直到m=0時跳出 { 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請選擇:1.確認并繼續(xù)2.重新填寫3.放棄并返回4.確認并返回">; ch=getchar<>; switch<ch> { case'1':m=0;stunum++;break; case'2':stunum,m=0;break; case'3':m=0,n=0;break; //選擇此項時,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é)號姓名年齡性別出生年月\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é)號院系院系地址\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é)號檢索">; 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請輸入想要檢索的__">; scanf<"%ld",&n>;for<i=0;i<stunum;i++> { if<n==stu[i].id> { printf<"學(xué)號姓名年齡性別出生年月\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é)號院系專業(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請輸入想要檢索的__">; scanf<"%s",m>; for<n=0;n<stunum;n++> { if<strcmp<m,stu[n].name>==0> { system<"cls">; printf<"學(xué)號姓名年齡性別出生年月\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é)號院系專業(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.返回上級菜單">; printf<"\n4.查看下條信息">; ch=getchar<>;
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人民版七年級地理上冊階段測試試卷
- 2025年滬科版三年級數(shù)學(xué)下冊階段測試試卷
- 2025年冀少新版三年級英語上冊月考試卷含答案
- 2025年牛津上海版九年級地理上冊階段測試試卷含答案
- 2025年華師大版九年級地理下冊月考試卷
- 二零二五年能源互聯(lián)網(wǎng)部分股份合作與節(jié)能減排合同3篇
- 2024年銷售合同退貨政策及爭議解決方式協(xié)議
- 二零二五年度物業(yè)財務(wù)預(yù)算管理合同3篇
- 2024年瀟湘職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 二零二五版建材城租賃合同范本升級版3篇
- 人教版初中英語七八九全部單詞(打印版)
- 電動車轉(zhuǎn)讓協(xié)議書電子版
- 蔬菜大棚溫度控制系統(tǒng)設(shè)計畢業(yè)設(shè)計論文
- 骨科臨床路徑全集(范本模板)
- 破產(chǎn)申請異議書
- 金蝶云星辰初級考試題庫
- 常見老年慢性病防治與護理課件整理
- 履約情況證明(共6篇)
- 云南省迪慶藏族自治州各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- 設(shè)備機房出入登記表
- 六年級語文-文言文閱讀訓(xùn)練題50篇-含答案
評論
0/150
提交評論