C學(xué)生成績管理系統(tǒng)完整-2023修改整理_第1頁
C學(xué)生成績管理系統(tǒng)完整-2023修改整理_第2頁
C學(xué)生成績管理系統(tǒng)完整-2023修改整理_第3頁
C學(xué)生成績管理系統(tǒng)完整-2023修改整理_第4頁
C學(xué)生成績管理系統(tǒng)完整-2023修改整理_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

千里之行,始于足下讓知識帶有溫度。第第2頁/共2頁精品文檔推薦C學(xué)生成績管理系統(tǒng)完整C同學(xué)成果管理系統(tǒng)完整ThelatestrevisiononNovember22,2022

二〇一四年十一月

課程設(shè)計說明書本科畢業(yè)設(shè)計

題目:同學(xué)成果管理系統(tǒng)(老師端)同學(xué)姓名:陳學(xué)院:工學(xué)院專業(yè):數(shù)字媒體技術(shù)班級:2022級指導(dǎo)老師:

名目

一、設(shè)計題目(問題)描述和要求

設(shè)計目的:

為便利對同學(xué)成果舉行高效的管理,編寫該程序以提高同學(xué)成果管理效率。使用該程序之后,小學(xué)管理者可以查詢某位同學(xué)、某個科目的成果狀況,還可以對同學(xué)成果舉行排名,對同學(xué)的數(shù)據(jù)舉行修改和刪除,其中排名以按總分排名,并且還提供了多種掃瞄方式,查詢結(jié)果包括各個科目的分?jǐn)?shù)、總分。通過本系統(tǒng)可以很好的把握同學(xué)成果的分布,減輕管理人員的負(fù)擔(dān),也使同學(xué)的成果和信息長時期的保留。

問題描述:

編寫一個容易的同學(xué)成果管理系統(tǒng)。同學(xué)成果管理系統(tǒng)有若干同學(xué)成果記錄組成,每個記錄由學(xué)號、姓名、性別、年級、班級、三個科目成果、總分、總排名、各科目排名幾個部分組成,學(xué)號不超過5個字符,姓名不超過3個字符,成果為int型數(shù)據(jù)。該系統(tǒng)具有以下功能:

程序開頭執(zhí)行時顯示如下版權(quán)信息和主菜單:

*******同學(xué)成果管理系統(tǒng)*************

同學(xué)信息

*1.記下

*2.編輯

*3.挨次

4.刪除

掃瞄

*5所有

*6個人

*7考試

*8專業(yè)

*9指定

系統(tǒng)設(shè)置

10默認(rèn)

0.退出

************************************

請輸入(0~8):

通過鍵盤輸入數(shù)字0~10后,程序能夠執(zhí)行相應(yīng)的功能,執(zhí)行完后回到上述主菜單繼續(xù)等待用戶輸入,輸入數(shù)字0后退出程序。

(1)挑選“記下”后,輸入同學(xué)個數(shù)。按程序提醒輸入學(xué)號、姓名、性別、年級、班級、三個科目成果、總分、總排名、各科目排名。

(2)挑選“編輯”,按提醒輸入要刪除的同學(xué)的學(xué)號,輸入學(xué)號,若改學(xué)號存在,則編輯相應(yīng)的同學(xué)記錄,假如該學(xué)號不存在,返回主菜單(3)挑選“挨次”后,會顯示從成果高到低還是相反。該操作會轉(zhuǎn)變程序中鏈表的銜接挨次,因此掃瞄時候顯示也是挨次轉(zhuǎn)變后的鏈表挨次

輸出。

(4)

(5)挑選“所有”,系統(tǒng)會根據(jù)年級顯示所有同學(xué)其成果。

(6)挑選“個人”,系統(tǒng)會提醒輸入同學(xué)姓名或者學(xué)號舉行尋覓并顯示。

(7)挑選“考試”,會根據(jù)每一年級的每一次考試顯示成果。

(8)挑選“專業(yè)”,會根據(jù)專業(yè)舉行成果輸出。

(9)挑選“指定”,里面還有八種顯示方式:分?jǐn)?shù)段、排名、學(xué)期、班級、大一至大四,可以根據(jù)其舉行掃瞄。

(10)舉行系統(tǒng)相關(guān)的設(shè)置,如是否顯示歡迎窗口,是否自動讀取信息或是手動、是否掃瞄顯示所有等

(0)退出操作。

二、系統(tǒng)分析與模塊設(shè)計

《同學(xué)成果管理系統(tǒng)》結(jié)構(gòu)圖

三、系統(tǒng)設(shè)計

1.系統(tǒng)總體框架

《同學(xué)成果管理系統(tǒng)》流程圖

2.系統(tǒng)關(guān)鍵算法流程圖

(1).系統(tǒng)包含的類庫

#include

#include

#include

#include

#include

#include

(2).主函數(shù)

(3)student類的設(shè)計與分析classstudent/*定義同學(xué)成果類*/

{

private:

Score*sco;

stringname;

classList{

intset[SET];

Student*stu;public:

core類

(6).輸入同學(xué)資料模塊:

主要功能用來對同學(xué)的成果舉行收集和輸入。在同學(xué)信息保存在系統(tǒng)中的前提下,輸入要輸入的人數(shù),成果錄入需要輸入同學(xué)資料,比如學(xué)號,姓名。在精確?????輸入同學(xué)資料后,就可以對該同學(xué)的各科成果舉行錄入。該同學(xué)各科成果輸入勝利后,輸入下一個同學(xué)資料時會先推斷是否學(xué)號是否與之前的同學(xué)相同,假如相同,則顯示提醒信息,不同則繼續(xù)輸入

(6)輸出同學(xué)資料模塊:

主要功能用來對同學(xué)的成果舉行輸出。在系統(tǒng)已經(jīng)錄入了同學(xué)資料成果的前提下,使用該功能可以顯示全部同學(xué)的信息,資料等等。詳細(xì)包括同學(xué)的學(xué)號,姓名和各科成果。在查看同學(xué)的資料,成果各方面的信息后,按隨意鍵就可以返回到主菜單

(5)查找并顯示同學(xué)資料模塊

主要功能是用來查找同學(xué)資料。在系統(tǒng)保存了某同學(xué)資料的前提下,想要查找該同學(xué)資料,可以輸入該同學(xué)姓名,這樣系統(tǒng)就會顯示該同學(xué)資料和各科成果等信息

(6)按學(xué)號查找,修改同學(xué)資料模塊

主要功能是用來修改同學(xué)資料。在系統(tǒng)保存了某同學(xué)資料的前提下,想要查找該同學(xué)資料,可以輸入該同學(xué)學(xué)號,系統(tǒng)就會顯示該同學(xué)資料和各科成果等信息,這樣就可以修改該同學(xué)的資料,成果等信息。

(7)按學(xué)號查找,刪除該同學(xué)資料模塊

主要功能是用來刪除同學(xué)資料。在系統(tǒng)保存同學(xué)資料的前提下,想刪除某同學(xué)的資料,可以輸入同學(xué)學(xué)號,系統(tǒng)查找該同學(xué)資料后,就可以刪除了。因?yàn)橥瑢W(xué)輟學(xué),畢業(yè)等緣由,準(zhǔn)時對系統(tǒng)舉行更新,刪除一些沒用的信息,可以使系統(tǒng)越發(fā)優(yōu)化

(8)按同學(xué)成果總分舉行羅列模塊

主要功能是用來對同學(xué)的資料按總分舉行排序。在系統(tǒng)保存同學(xué)資料,成果的前提下,使用此功能可以對同學(xué)的資料按總分舉行排序,這樣就便利查找成果相同或是相近的學(xué)生的資料。

(9)儲存同學(xué)資料并退出系統(tǒng)模塊

主要功能是用來儲存同學(xué)資料。在對系統(tǒng)舉行一系列操作,比如添加、刪除、修改同學(xué)資料后,對系統(tǒng)的最新操作舉行保存,準(zhǔn)時更新系統(tǒng),便利下一次的操作。

四、運(yùn)行結(jié)果

1.開頭界面

2.輸入數(shù)據(jù)

3.搜尋數(shù)據(jù)

4.刪除

5.修改數(shù)據(jù)

7.顯示數(shù)據(jù)

8.系統(tǒng)設(shè)置

五、小結(jié)

這個程序經(jīng)過了暑假開頭到十月份的修改編輯,要謝謝教師及學(xué)生的指導(dǎo),另外程序本身更適合同學(xué)數(shù)量不是特殊多的狀況下,加入同學(xué)有上千上萬個,那么應(yīng)當(dāng)在添加幾個類,在同學(xué)類之上的類,這樣才可以大大便利了各種操作以及掃瞄等。

六、參考資料

《C++程序設(shè)計教程》

CSDN程序員社區(qū)

代碼:

/*

*同學(xué)成果管理系統(tǒng)

*類:StudentScoreManage

*可保存學(xué)科:語文數(shù)學(xué)英語

*時光段:大一至大四

*說明:該程序針對同學(xué)數(shù)較少的狀況,如果面向上千上萬的同學(xué)數(shù),應(yīng)當(dāng)再將其中的存儲結(jié)構(gòu)舉行轉(zhuǎn)變,

*分離分層次存儲,例如大一至大四四個鏈表表頭,在每一個鏈表中又按照不同分類依據(jù)細(xì)分,

*例如按照學(xué)院、專業(yè)等,這樣的轉(zhuǎn)變將大大有利于程序舉行的尋覓、輸出、排序等涉及鏈表的操作,

*固然相應(yīng)代碼也要稍作轉(zhuǎn)變

*/

#include

#include

#include

#include

#include

#include

#include

#include

usingnamespacestd;

#defineCONOBJ3參數(shù)時的構(gòu)造函數(shù)

Student(stringiname="Noname",stringipro="none",int

iclass=0,intigrade=0,stringinum="0",charisex='n')

:name(iname),num(inum),sex(isex),next(NULL),pro(ipro),clas(iclass),grade(igrade){

sco=NULL;

cout>kh;

}while(!(kh>=0

cout>ch;

if(ch==0){

i=OfProfe();

returni;

}

}while(!((ch%10>0

cout>judge;

while(!judge){

i=OfProfe();

}

returni;

}

..]\n";

legal=0;

count++;

}

if(!(iclas>=1&&iclas2){

cout>inum;

p=stu;

while(p)數(shù)段▏2.排名▏3.學(xué)期▏4.班級▏\n";

cout>i;

switch(i)

{

case1:SkimByScore();break;

case2:SkimByPlace();break;

case3:SkimByTerms();break;

case4:SkimClas();break;

case5:SkimByGrade(1);break;

case6:SkimByGrade(2);break;

case7:SkimByGrade(3);break;

case8:SkimByGrade(4);break;

default:break;

}

cout";

getch();

return;

}選刪除2.一鍵清空3.返回主菜單\n">flag;

if(flag=='1')

{

SkimAll();

cout>inum;

cout>c;

if(c=='Y'||c=='y')

while(p)

{

if(p->num==inum)

{

if(prev!=NULL)

prev->next=p->next;

else-->大

2.大-->小";

cout>judge;

ph=h;

while(h!=NULL)

{

初假設(shè)min值未轉(zhuǎn)變,h節(jié)點(diǎn)全部節(jié)點(diǎn)中的值最小的節(jié)點(diǎn),直接使hh替代h節(jié)點(diǎn),作為一個新的開始

{

果最小節(jié)點(diǎn)不是頭節(jié)點(diǎn)h的后驅(qū)節(jié)點(diǎn)的話,即等同于h不是pp的父節(jié)點(diǎn)

就把頭節(jié)點(diǎn)h和最小數(shù)值節(jié)點(diǎn)兌換

*/

if(h!=ppr)

{

/*

辦法:交換節(jié)點(diǎn)h和pp

用到兩個的節(jié)點(diǎn)的先驅(qū)節(jié)點(diǎn)ph和ppr

*/

temp=h->next;

ppr->next=h;

h->next=pp->next;

pp->next=temp;

h=pp;

if(flag==1)

{

hh=h;

flag=0;

}

else

ph->next=h;

}

else

{

/*

2(2).假如最小節(jié)點(diǎn)p是頭節(jié)點(diǎn)h的后驅(qū)節(jié)點(diǎn)的話

調(diào)換兩個節(jié)點(diǎn)

*/

h->next=pp->next;

pp->next=h;

h=pp;/*

*之所以要調(diào)換h節(jié)點(diǎn)和pp節(jié)點(diǎn)位置,是為了讓外層while循環(huán)每次都能從當(dāng)前的已經(jīng)

*排序完的鏈表中的最后一個元素開頭舉行遍歷找最值

*/

if(flag==1)

{

hh=h;

flag=0;

}

else

ph->next=pp;

}

}

ph=h;陸設(shè)置\n");

printf("\t\t\t\t2.顯示歡迎窗口\n");

printf("\t\t\t\t3.自動讀取信息\n");

printf("\t\t\t\t4.掃瞄設(shè)置\n");

printf("\t\t\t\t0.返回\n");

printf("\t\t\t\t*****************\n");

printf("\t\t\t請?zhí)暨x:");

scanf("%d",

system("CLS");

switch(choice)

{

case1:printf("\t\t\t\t登陸設(shè)置

\n\t\t**********************************************");

printf("\t\t1.是2.否

\n\t\t**********************************************請?zhí)暨x:");

scanf("%d",break;

case2:printf("\t\t\t顯示歡迎窗口

\n\t\t\t*******************");

printf("\n\t\t\t1.是2.否

\n\t\t\t*******************\t請?zhí)暨x:");

scanf("%d",break;

case3:printf("\t\t\t\t自動讀取信息

\n\t\t**********************************************");

printf("\n\t\t1.是2.否3.現(xiàn)在讀取\n\t\t**********************************************請?zhí)暨x:");

scanf("%d",

if(set[2]==3){

Read();

set[2]=temp_set2;

}

break;

case4:printf("\t\t\t\t掃瞄設(shè)置

\n\t\t**********************************************");

printf("\t\t\n\t\t**********************************************請?zhí)暨x:");

scanf("%d",break;

case0:SaveSet();

return;

default:break;

}

system("CLS");

}

}記▏\n";

cout>i;

while(i>11||i>i;

}

if(i!=1

Add();

}

system("CLS");

switch(i)

{

case1:system("CLS");

cout>inum;

Edit(inum);

system("CLS");brea

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論