資源簡(jiǎn)介
設(shè)計(jì)課題一:班級(jí)成績(jī)管理系統(tǒng)
一、 問題描述:
對(duì)一個(gè)有N個(gè)學(xué)生的班級(jí),每個(gè)學(xué)生有M門課程。該系統(tǒng)實(shí)現(xiàn)對(duì)班級(jí)成績(jī)的錄入、顯示、修改、排序、保存等操作的管理。
二、功能要求:
1、本系統(tǒng)采用一個(gè)結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:學(xué)號(hào)、姓名、M門課程名稱。
2、本系統(tǒng)顯示這樣的菜單:
請(qǐng)選擇系統(tǒng)功能項(xiàng):
a、 成績(jī)錄入
b、 成績(jī)顯示
c、 成績(jī)保存
d、 成績(jī)排序
e、 成績(jī)修改(要求先輸入密碼)
f、 成績(jī)統(tǒng)計(jì)
(1) 顯示每門課程成績(jī)最高的學(xué)生的基本信息
(2) 顯示每門課程的平均成績(jī)
(3) 顯示超過(guò)某門課程平均成績(jī)的學(xué)生人數(shù)
g、 退出系統(tǒng)
3、執(zhí)行一個(gè)具體的功能之后,程序?qū)⒅匦嘛@示菜單。
4、將學(xué)生成績(jī)保存到文件中。
三、算法提示:
1、數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類型數(shù)組。
2、數(shù)據(jù)庫(kù)結(jié)構(gòu):下表構(gòu)成該系統(tǒng)的基本數(shù)據(jù)庫(kù)。
姓名 學(xué)號(hào) 課程名稱1 課程名稱2 ●●●●●●
char Char float float
四、測(cè)試數(shù)據(jù):
學(xué)生人數(shù)N=10
課程門數(shù)M=4
課程名:數(shù)學(xué)、語(yǔ)文、英語(yǔ)、政治
五、其它
對(duì)該系統(tǒng)有興趣的同學(xué)可以在實(shí)現(xiàn)上述基本功能后,完善系統(tǒng)的其它功能。
問題補(bǔ)充:
今天誰(shuí)能給我答案啊!!!!!!!急急!!!!!!!
提問者: 342123465 - 試用期 一級(jí) 最佳答案
C語(yǔ)言課程設(shè)計(jì)報(bào)告—班級(jí)成績(jī)管理系統(tǒng)
需要分析:
學(xué)生成績(jī)管理系統(tǒng)有13種功能。把這13個(gè)功能做成13個(gè)子函數(shù)。在主函當(dāng)數(shù)中設(shè)計(jì)一個(gè)菜單對(duì)這13個(gè)子數(shù)進(jìn)行管理。來(lái)實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的操作。
根據(jù)課題的要求。每一個(gè)學(xué)生的包括姓名(char)、學(xué)號(hào)(char)、M門課程的成績(jī)(float).再加上系統(tǒng)功能上的要求每一學(xué)生的信息還要總分和名次等。所以自然的想到要用結(jié)構(gòu)體來(lái)定義每一個(gè)學(xué)生的信息結(jié)構(gòu)。然后用鏈表把它們組成一個(gè)有序的整體。用對(duì)鏈表的操作來(lái)實(shí)現(xiàn)對(duì)所有學(xué)生信息的統(tǒng)一管理(成績(jī)顯示、成績(jī)排序、成績(jī)修改等)。最后為了以后按照處理后的順序保存到文件中。
. 各函數(shù)的功能:
概要設(shè)計(jì):
程序的模塊組成:
主 函 數(shù): int main()
新建函數(shù):STUDENT *init()
輸入函數(shù) :STUDENT *create()
顯示函數(shù): void print(STUDENT *head)
刪除函數(shù): STUDENT *delete(STUDENT *head)
按名字尋找函數(shù): void lookup(STUDENT *head)
保存函數(shù): void save(STUDENT *head)
按總分排序函數(shù): STUDENT *sort(STUDENT *head)
計(jì)算總分和均分函數(shù): void computer(STUDENT *h)
修改函數(shù): STUDENT *Modify(STUDENT *head,STUDENT *new)
按學(xué)號(hào)排序函數(shù): STUDENT *index(STUDENT *h)
菜單函數(shù):int menu_select()
各個(gè)函數(shù)的主要功能:
輸入函數(shù): 隨時(shí)輸入數(shù)據(jù)。
菜單函數(shù):顯示系統(tǒng)主菜單。
顯示函數(shù): 顯示所有學(xué)生的信息。
尋找函數(shù): 方便學(xué)生查找自己的成績(jī)。
刪除函數(shù): 刪除某學(xué)生的信息。
排序函數(shù): 按總成績(jī)排序。
按學(xué)號(hào)排序函數(shù): 按學(xué)號(hào)排序。
插入函數(shù): 可以插入新的信息。
保存函數(shù): 保存好學(xué)生成績(jī),以免丟失。
統(tǒng)計(jì)函數(shù):
l 顯示每門課程成績(jī)最高的學(xué)生的基本信息。
l 顯示每門課程的平均成績(jī)。
l 顯示超過(guò)某門課程平均成績(jī)的學(xué)生人數(shù)。
課題的功能模塊的劃分:
開始
菜單界面
功能選擇
初始化函數(shù)
輸入學(xué)生信息
刪除學(xué)生信息
顯示學(xué)生信息
查找學(xué)生信息
按成績(jī)排序
保存到文件
從文件讀數(shù)據(jù)
插入學(xué)生成績(jī)
分類合計(jì)
退出系統(tǒng)
結(jié)束
詳細(xì)設(shè)計(jì): 整個(gè)系統(tǒng)除了主函數(shù)外,另外還有14個(gè)函數(shù),實(shí)現(xiàn)八大功能:輸入功能、顯示功能、查找功能、排序功能、插入功能、保存功能、讀取功能。各個(gè)函數(shù)的詳細(xì)設(shè)計(jì)說(shuō)明分別如下:
主函數(shù) main()
利用無(wú)限次循環(huán)for(;;)和swithch()實(shí)現(xiàn)各函數(shù)的調(diào)用,系統(tǒng)根據(jù)輸入的數(shù)字選項(xiàng)來(lái)調(diào)用相應(yīng)的函數(shù)。
菜單選擇函數(shù) int menu_select()
這是一個(gè)無(wú)參函數(shù),主要實(shí)現(xiàn)“功能選擇”的界面,在這個(gè)界面里有顯示系統(tǒng)的九大功能,根據(jù)每個(gè)功能前面的序號(hào)進(jìn)行選擇。等執(zhí)行完每一個(gè)函數(shù)功能后,返回菜單。
代碼設(shè)計(jì): 初始化函數(shù) STUDENT *init()
這是一個(gè)無(wú)參函數(shù),里面只有兩個(gè)語(yǔ)句,它的作用是使鏈表初始化,使head的值為NULL和一個(gè)清屏語(yǔ)句。比如:沒有這個(gè)函數(shù)的話,在你沒有輸入任何數(shù)據(jù)的情況下,去執(zhí)行顯示功能的時(shí)候會(huì)顯示一些亂
代碼片段和文件信息
評(píng)論
共有 條評(píng)論