資源簡(jiǎn)介
學(xué)生信息管理系統(tǒng)V6.0:
設(shè)計(jì)一個(gè)學(xué)生信息管理系統(tǒng),包括學(xué)生成績(jī)信息數(shù)據(jù)的求和、排序、查找、模糊查找、分類統(tǒng)計(jì)、輸出、讀寫文件等基本操作,要求編程實(shí)現(xiàn)如下菜單驅(qū)動(dòng)的學(xué)生信息管理系統(tǒng):
(1)錄入每個(gè)學(xué)生的學(xué)號(hào)、姓名、學(xué)院和各科考試成績(jī);
(2)計(jì)算每個(gè)學(xué)生的總分和平均分;
(3)計(jì)算每門課程的總分和平均分;
(4)計(jì)算每個(gè)學(xué)院的學(xué)生人數(shù);
(5)按每個(gè)學(xué)生的總分由高到低排出名次表;
(6)按姓名的字典順序排出成績(jī)表;
(7)按學(xué)號(hào)查詢學(xué)生排名及其考試成績(jī);
(8)按姓名查詢學(xué)生排名及其考試成績(jī);
(9)模糊查找:打印出學(xué)號(hào)以用戶輸入的數(shù)字開(kāi)頭的學(xué)生的信息;
(10)按A(90~100)、B(70~89)、C(0~69)3個(gè)類別,對(duì)每門課程分別統(tǒng)計(jì)每個(gè)類別的人數(shù)以及所占的百分比;
(11)輸出每個(gè)學(xué)生的學(xué)號(hào)、姓名、學(xué)院、各科考試成績(jī),以及所有課程的總分、平均分、排名;
(12)將每個(gè)學(xué)生的記錄信息寫入文件;
(13)從文件中讀出每個(gè)學(xué)生的記錄信息并顯示;
(14)結(jié)束程序。
代碼片段和文件信息
#include?
#include?
#include?
#include?
#define?N?1e-8
#define?MAX_LEN?20
#define?NUM_STU?100??????????????/*最多學(xué)生人數(shù)*/
typedef?struct?student
{
????char?num[MAX_LEN];???????????/*學(xué)號(hào)*/
????char?name[MAX_LEN];??????????/*姓名*/
????char?college[MAX_LEN];???????/*學(xué)院*/
????int?score[MAX_LEN];??????????/*各科分?jǐn)?shù)*/
????float?sum;???????????????????/*總分*/
????float?ave;???????????????????/*平均分*/
????int?ranking;?????????????????/*排名*/
????char?classes[MAX_LEN];???????/*類別*/
}STUDENT;
int?menu(void);
void?Read_infor(int?num_stuint?num_couSTUDENT?Stu[]);
void?Sum_ave_stu(int?num_stuint?num_couSTUDENT?Stu[]);
void?Sum_ave_course(int?num_stuint?num_couSTUDENT?Stu[]);
void?numof_stuof_coll(int?num_stuSTUDENT?Stu[]char?college[][MAX_LEN]);
void?Sortby_score(int?num_stuint?num_couSTUDENT?Stu[]);
void?Swapint(int?*xint?*y);
void?Swapchar(char?str1[]char?str2[]);
void?Swapfloat(float?*xfloat?*y);
void?Sortby_name(int?num_stuint?num_couSTUDENT?Stu[]);
void?Searchby_num(int?num_stuint?num_couSTUDENT?Stu[]);
void?Searchby_name(int?num_stuint?num_couSTUDENT?Stu[]);
void?Fuzzy_search(int?num_stuint?num_couSTUDENT?Stu[]);
void?Statistics(int?num_stuint?num_couSTUDENT?Stu[]);
void?printinf_name(int?num_stuint?num_couSTUDENT?Stu[]);
void?Printinf_order(int?num_stuint?num_couSTUDENT?Stu[]);
void?Writetofile(int?num_stuint?num_couSTUDENT?Stu[]);
void?Readfromfile(int?*num_stuint?*num_couSTUDENT?Stu[]);
int?main()
{
???int?num_stunum_couch;
???STUDENT?Stu[NUM_STU];
???char?college[4][MAX_LEN]={“計(jì)算機(jī)學(xué)院““航天學(xué)院““材料學(xué)院““土木工程學(xué)院“};
???do
???{
???????printf(“Please?input?the?number?of?student(<100):“);
???????scanf(“%d“&num_stu);
???}while(!(num_stu>0??&&???num_stu<=100?&&?fabs(num_stu-(int)num_stu) ???do
???{
???????printf(“Please?input?the?number?of?course(<10):“);
???????scanf(“%d“&num_cou);
???}while(!(num_cou>0??&&???num_cou<=10?&&?fabs(num_cou-(int)num_cou) ???do
???{
????????ch=menu();????????????/*顯示菜單,并讀取用戶輸入*/
????????switch?(ch)
????????{
????????case?1:
???????????Read_infor(num_stunum_couStu);
???????????break;
????????case?2:
???????????Sum_ave_stu(num_stunum_couStu);
???????????break;
????????case?3:
???????????Sum_ave_course(num_stunum_couStu);
???????????break;
????????case?4:
???????????numof_stuof_coll(num_stuStucollege);
???????????break;
????????case?5:
????????????Sortby_score(num_stunum_couStu);
????????????break;
????????case?6:
????????????Sortby_name(num_stunum_couStu);
????????????break;
????????case?7:
????????????Searchby_num(num_stunum_couStu);
????????????break;
????????case?8:
????????????Searchby_name(num_stunum_couStu);
????????????break;
????????case?9:
????????????Fuzzy_search(num_stunum_couStu);
????????????break;
????????case?10:
????????????Statistics(num_stunum_couStu);
????????????break;
????????case?11:
????????????Printinf_order(num_stunum_couStu);
??????
評(píng)論
共有 條評(píng)論