1. 這個(gè)代碼主要實(shí)現(xiàn)以下功能:
2. 用到的主要參數(shù)有:
? 1.整型變量int n;用于儲(chǔ)存學(xué)生人數(shù)和之后的循環(huán)判斷。
? 2.字符串char name[][];用于儲(chǔ)存姓名。
? 3.浮點(diǎn)型變量float score[];用于儲(chǔ)存成績(jī)。
? 4.長(zhǎng)整型變量long ID[Max];用于儲(chǔ)存學(xué)號(hào)。
3.用到的子函數(shù)有:
int ?Menu(void);? ? ? ? ? ? ? ? ? ? ? ?系統(tǒng)菜單
void Readscore;? ? ? ? ? ? ? ? ? ? ? 錄入每個(gè)學(xué)生的學(xué)號(hào)、姓名和考試成績(jī)
void Aaverage;? ? ? ? ? ? ? ? ? ? ? ? 計(jì)算課程的總分和平均分
void Scoreuprand;? ? ? ? ? ? ? ? ? 按成績(jī)由高到低排出名次表
void Scoredownrand;? ? ? ? ? ? ?按成績(jī)由低到高排出名次表
void IDrand;? ? ? ? ? ? ? ? ? ? ? ? ? ? ?按學(xué)號(hào)由小到大排出成績(jī)表
void Zdrand;? ? ? ? ? ? ? ? ? ? ? ? ? ? 按姓名的字典順序排出成績(jī)表
void IDFind;? ? ? ? ? ? ? ? ? ? ? ? ? ? ?按學(xué)號(hào)查詢學(xué)生排名及其考試成績(jī)
void NameFind;? ? ? ? ? ? ? ? ? ? ? ?按姓名查詢學(xué)生排名及其考試成績(jī)
void Verious;? ? ? ? ? ? ? ? ? ? ? ? ? ?按成績(jī)分為5類統(tǒng)計(jì)每個(gè)類別的人數(shù)以及所占百分比
void ScoreList; ? ? ? ? ? ? ? ? ? ? ? ?輸出每個(gè)學(xué)生的學(xué)號(hào)、考試成績(jī)
void Mingzi;? ? ? ? ? ? ? ? ? ? ? ? ? ? ?姓名交換函數(shù)
void Xuehao; ? ? ? ? ? ? ? ? ? ? ? ? ? 學(xué)號(hào)交換函數(shù)
void Fenshu; ? ? ? ? ? ? ? ? ? ? ? ? ? 交換函數(shù)
void Chengjidan;? ? ? ? ? ? ? ? ? ? 打印成績(jī)單
4.下面呈現(xiàn)的是C語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)(綜合項(xiàng)目)的全部代碼。
#include#include#include#define Max 30
int Menu(void); //系統(tǒng)菜單
void Readscore(float score[],long ID[],int n,char name[][21]); //錄入每個(gè)學(xué)生的學(xué)號(hào)、姓名和考試成績(jī)
void Aaverage(float score[],int n); //計(jì)算課程的總分和平均分
void Scoreuprand(float score[],long ID[],char name[][21],int n); //按成績(jī)由高到低排出名次表
void Scoredownrand(float score[],long ID[],char name[][21],int n); //按成績(jī)由低到高排出名次表
void IDrand(float score[],long ID[],char name[][21],int n); //按學(xué)號(hào)由小到大排出成績(jī)表
void Zdrand(float score[],long ID[],char name[][21],int n); //按姓名的字典順序排出成績(jī)表
void IDFind(float score[],long ID[],char name[][21],int n); //按學(xué)號(hào)查詢學(xué)生排名及其考試成績(jī)
void NameFind(float score[],long ID[],char name[][21],int n); //按姓名查詢學(xué)生排名及其考試成績(jī)
void Verious(float score[],int n); //按成績(jī)分為5類統(tǒng)計(jì)每個(gè)類別的人數(shù)以及所占百分比
void ScoreList(float score[],long ID[],int n); //輸出每個(gè)學(xué)生的學(xué)號(hào)、考試成績(jī)
void Mingzi(char name[],char m[]); //姓名交換函數(shù)
void Xuehao(long *px,long *py); //學(xué)號(hào)交換函數(shù)
void Fenshu(float *px,float *py); //分?jǐn)?shù)交換函數(shù)
void Chengjidan(float score[],long ID[],char name[][21],int n); //打印成績(jī)單
int main()
{
int x;
int n;
char name[Max][21];
float score[Max];
long ID[Max];
printf("--------------------歡迎使用學(xué)生成績(jī)管理系統(tǒng)--------------------\n");
printf("請(qǐng)輸入班級(jí)人數(shù):");
scanf("%d",&n);
getchar();
while(1)
{
x=Menu();
switch(x)
{
case 1: Readscore(score,ID,n,name); break;
case 2: Aaverage(score,n); break;
case 3: Scoreuprand(score,ID,name,n); break;
case 4: Scoredownrand(score,ID,name,n); break;
case 5: IDrand(score,ID,name,n); break;
case 6: Zdrand(score,ID,name,n); break;
case 7: IDFind(score,ID,name,n); break;
case 8: NameFind(score,ID,name,n); break;
case 9: Verious(score,n); break;
case 10: Chengjidan(score,ID,name,n); break;
case 0: return 0; break;
default:printf("輸入錯(cuò)誤!");
}
}
}
//函數(shù)功能:顯示菜單并選擇子程序
//入口參數(shù):無(wú)
//返回值:x
int Menu(void) //---------菜單函數(shù)
{
int x;system("cls");
printf("--------------歡迎使用學(xué)生成績(jī)管理系統(tǒng)--------------\n");
printf("-----------------------菜單欄-----------------------\n");
printf("1.成績(jī)錄入\n");
printf("2.總分和平均分計(jì)算\n");
printf("3.成績(jī)降序排列\(zhòng)n");
printf("4.成績(jī)升序排列\(zhòng)n");
printf("5.學(xué)號(hào)升序排列\(zhòng)n");
printf("6.姓名在字典中順序排序\n");
printf("7.按學(xué)號(hào)查詢成績(jī)\n");
printf("8.按姓名查詢成績(jī)\n");
printf("9.成績(jī)分析\n");
printf("10.成績(jī)單輸出\n");
printf("0.退出\n");
printf("請(qǐng)輸入你的選擇:");
scanf("%d",&x);
return x;
}
//函數(shù)功能:錄入每個(gè)學(xué)生的學(xué)號(hào)和考試成績(jī)
//入口參數(shù):score,ID,n,name
//返回值:無(wú)
void Readscore(float score[],long ID[],int n,char name[][21]) //---------錄入函數(shù)
{
system("cls");
printf("--------------------成績(jī)錄入--------------------\n");
int i;
printf("輸入學(xué)號(hào)、姓名和成績(jī):\n");
for (i=0;iscore[j])
{
Fenshu(&score[i],&score[j]);
Mingzi(name[i],name[j]);
Xuehao(&ID[i],&ID[j]);
}
}
}
Chengjidan(score,ID,name,n);
system("pause");
}
//函數(shù)功能:按成績(jī)由低到高排出名次表
//入口參數(shù):score,ID,n,name
//返回值:無(wú)
void Scoredownrand(float score[],long ID[],char name[][21],int n) //---------成績(jī)降序排名函數(shù)
{
system("cls");
printf("--------------------成績(jī)降序名次表--------------------\n");
int i,j;
for(i=0;i0)
{
Mingzi(name[i],name[j]);
Xuehao(&ID[i],&ID[j]);
Fenshu(&score[i],&score[j]);
}
}
}
printf("--------------------名字按照字典的順序排序--------------------\n\n");
Chengjidan(score,ID,name,n);
system("pause");
}
//函數(shù)功能:按學(xué)號(hào)查詢學(xué)生排名及其考試成績(jī)
//入口參數(shù):score,ID,n,name
//返回值:無(wú)
void IDFind(float score[],long ID[],char name[][21],int n) //---------學(xué)號(hào)查找函數(shù)
{
system("cls");
printf("--------------------學(xué)號(hào)查詢系統(tǒng)--------------------\n");long i=0;
int low=0,high=n-1,mid,ret,j,k;
printf("請(qǐng)輸入學(xué)號(hào):\n");
ret=scanf("%ld",&k);
while(ret!=1)
{
while(getchar()!='\n');
printf("請(qǐng)重新輸入正確的學(xué)號(hào):\n");
scanf("%ld",&k);
}
for(i=0;i=90&&score[i]<=100)
{
x1++;
}
else if(score[i]>=80&&score[i]<90)
{
x2++;
}
else if(score[i]>=70&&score[i]<80)
{
x3++;
}
else if(score[i]>=60&&score[i]<70)
{
x4++;
}
else
{
x5++;
}
}
printf("優(yōu)秀人數(shù)為: %.f 占總?cè)藬?shù)的:%.2f%%\n",x1,(x1/n)*100);
printf("良好人數(shù)為: %.f 占總?cè)藬?shù)的:%.2f%%\n",x2,(x2/n)*100);
printf("中等人數(shù)為: %.f 占總?cè)藬?shù)的:%.2f%%\n",x3,(x3/n)*100);
printf("及格人數(shù)為: %.f 占總?cè)藬?shù)的:%.2f%%\n",x4,(x4/n)*100);
printf("不及格人數(shù)為:%.f 占總?cè)藬?shù)的:%.2f%%\n",x5,(x5/n)*100);
system("pause");
}
//函數(shù)功能:交換姓名
//入口參數(shù):n,name
//返回值:無(wú)
void Mingzi(char name[],char m[]) //---------姓名交換函數(shù)
{
char s[21]; //---------中間儲(chǔ)存字符串
strcpy(s,name);
strcpy(name,m);
strcpy(m,s);
}
//函數(shù)功能:交換學(xué)號(hào)
//入口參數(shù):n,ID
//返回值:無(wú)
void Xuehao(long *px,long *py) //---------學(xué)號(hào)交換函數(shù)
{
int x;
x=*px;
*px=*py;
*py=x;
}
//函數(shù)功能:交換分?jǐn)?shù)
//入口參數(shù):score,n
//返回值:無(wú)
void Fenshu(float *px,float *py) //---------分?jǐn)?shù)交換函數(shù)
{
int x;
x=*px;
*px=*py;
*py=x;
}
//函數(shù)功能:打印成績(jī)單
//入口參數(shù):score,n,ID,name
//返回值:無(wú)
void Chengjidan(float score[],long ID[],char name[][21],int n) //------------------------------成績(jī)單函數(shù)
{
int i;
if(n==0)
{
printf("還沒(méi)有錄入成績(jī)!");
}
printf(" 姓名 學(xué)號(hào) 分?jǐn)?shù)\n");
for(i=0;i
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
分享題目:C語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)(綜合項(xiàng)目)-創(chuàng)新互聯(lián)
分享URL:http://aaarwkj.com/article4/pjpoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、外貿(mào)網(wǎng)站建設(shè)、定制網(wǎng)站、面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容