C語言實(shí)現(xiàn)學(xué)生獎(jiǎng)學(xué)金評(píng)定系統(tǒng)
本文實(shí)例為大家分享了C語言實(shí)現(xiàn)學(xué)生獎(jiǎng)學(xué)金評(píng)定系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
說明:
學(xué)生綜合積分由文化積分和德育積分構(gòu)成,文化積分是所有門課程成績總和除以課程門數(shù)(平均分),德育積分是參加各類活動(dòng)的積分,學(xué)生綜合積分=文化積分×70%+德育積分×30%。按照學(xué)生綜合積分排名,獲得一等獎(jiǎng)學(xué)金1名學(xué)生,獲得二等獎(jiǎng)學(xué)金2名學(xué)生,獲得三等獎(jiǎng)學(xué)金3名學(xué)生,項(xiàng)目要求輸入班級(jí)學(xué)生成績信息,輸出獲得獎(jiǎng)學(xué)金的學(xué)生名單。已知學(xué)生成績信息包括學(xué)號(hào)、姓名、英語成績、網(wǎng)絡(luò)成績、C語言成績、數(shù)據(jù)庫成績、文化積分、德育積分和綜合積分,運(yùn)行結(jié)果如圖所示。

實(shí)例分析與實(shí)現(xiàn)
首先,按照學(xué)生成績信息的組成定義結(jié)構(gòu)體,輸入各門課程成績和德育積分,根據(jù)已知的公式,求出文化積分和綜合積分;然后,按照學(xué)生綜合積分從高到低進(jìn)行排名,并輸出排名結(jié)果;最后,輸出下標(biāo)為0的學(xué)生獲得一等獎(jiǎng)學(xué)金,下標(biāo)為1和2的學(xué)生獲得二等獎(jiǎng)學(xué)金,下標(biāo)為3、4、5的學(xué)生獲得三等獎(jiǎng)學(xué)金。具體算法如下。
① 定義結(jié)構(gòu)體類型student。
② 利用定義的結(jié)構(gòu)體類型定義一個(gè)十名學(xué)生的數(shù)組。
③ 利用for循環(huán)輸入十名學(xué)生的各門課成績,計(jì)算學(xué)生文化積分和綜合積分。
④ 利用for循環(huán)嵌套對(duì)學(xué)生的成績按總積分由高到低進(jìn)行排序。
⑤ 打印總積分從高到低的排序結(jié)果、獲得獎(jiǎng)學(xué)金學(xué)生名單。
⑥實(shí)現(xiàn)輸出每門課程不及格學(xué)生名單。
#include <stdio.h>
#include <windows.h>
#include<string.h>
#define NUM 10 ?//修改NUM就可以加學(xué)生數(shù)量
struct student_scores{//定義學(xué)生屬性
?? ?int ID;//學(xué)號(hào)
?? ?char name[20];//姓名
?? ?float english;//英語
?? ?float net;//網(wǎng)絡(luò)
?? ?float c_;//c語言
?? ?float sql_;//數(shù)據(jù)庫
?? ?float ave;//文化積分
?? ?float deyu;//德育 ?德育積分是參加各類活動(dòng)的積分
?? ?float zonghe;//綜合?? ??? ?
};
//學(xué)生綜合積分由文化積分和德育積分構(gòu)成,文化積分是所有門課程成績總和除以課程門數(shù)(平均分),
//德育積分是參加各類活動(dòng)的積分,學(xué)生綜合積分=文化積分×70%+德育積分×30%。按照學(xué)生綜合積分排名,
//獲得一等獎(jiǎng)學(xué)金1名學(xué)生,獲得二等獎(jiǎng)學(xué)金2名學(xué)生,獲得三等獎(jiǎng)學(xué)金3名學(xué)生,項(xiàng)目要求輸入班級(jí)學(xué)生成績信息,輸出獲得獎(jiǎng)學(xué)金的學(xué)生名單。
void main()
{?? ?
?? ?struct student_scores student[NUM],temp;//定義一個(gè)結(jié)構(gòu)體名稱數(shù)組 10個(gè)學(xué)生
?? ?int i,k;
?? ?printf("請(qǐng)按1鍵開始錄入\n");?? ?
?? ?printf("請(qǐng)輸入學(xué)號(hào)、姓名、英語成績、網(wǎng)絡(luò)成績、C語言成績、數(shù)據(jù)庫成績、德育積分>:\n");?? ?
?? ?printf("-----------------------------------------------------------------------\n");
?? ?for( i=0;i<NUM;i++)//動(dòng)態(tài)錄入
?? ?{?? ??? ??? ?
?? ??? ?scanf("%d ",&student[i].ID);
?? ??? ?scanf("%s ",&student[i].name); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?? ??? ?scanf("%f %f %f %f %f",&student[i].english,&student[i].net,&student[i].c_,&student[i].sql_,&student[i].deyu);
?? ??? ?student[i].ave=(student[i].english+student[i].net+student[i].c_+student[i].sql_)/4;//文化積分(平均分)
?? ??? ?student[i].zonghe=student[i].ave*70/100+student[i].deyu*30/100;
?? ?}
?? ?printf("-----------------------------------------------------------------------\n");?? ?
?? ?printf("\n");
//?? ?system("cls");//清屏
?? ?for( i=0;i<NUM-1;i++)
?? ?{
?? ??? ?for(k=0;k<NUM-1-i;k++)
?? ??? ?{
?? ??? ??? ?if(student[k].zonghe<student[k+1].zonghe)
?? ??? ??? ?{
?? ??? ??? ??? ?temp.ID = student[k].ID;
?? ??? ??? ??? ?for(i=0;i<20;i++)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?temp.name[i] = student[k].name[i];
?? ??? ??? ??? ?}
?? ??? ??? ??? ?temp.ave = student[k].ave;
?? ??? ??? ??? ?temp.deyu = student[k].deyu;
?? ??? ??? ??? ?temp.zonghe = student[k].zonghe;
?? ??? ??? ??? ?
?? ??? ??? ??? ?student[k].ID = student[k+1].ID;
?? ??? ??? ??? ?for(i=0;i<20;i++)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?student[k].name[i] = student[k+1].name[i];
?? ??? ??? ??? ?}
?? ??? ??? ??? ?student[k].ave = student[k+1].ave;
?? ??? ??? ??? ?student[k].deyu = student[k+1].deyu;
?? ??? ??? ??? ?student[k].zonghe = student[k+1].zonghe;
?? ??? ??? ??? ?student[k+1].ID = temp.ID;
?? ??? ??? ??? ?for(i=0;i<20;i++)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?student[k+1].name[i] = temp.name[i];
?? ??? ??? ??? ?}
?? ??? ??? ??? ?student[k+1].ave =temp.ave;
?? ??? ??? ??? ?student[k+1].deyu =temp.deyu;
?? ??? ??? ??? ?student[k+1].zonghe = temp.zonghe;
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?printf("成績排名<學(xué)號(hào)、姓名、文化積分、德育積分、總積分>:\n");?? ?
?? ?printf("-----------------------------------------------------------------------\n");
?? ?printf("\n");
?? ?for(i=0;i<NUM;i++)
?? ?{
?? ??? ?printf("%d ",student[i].ID);
?? ??? ?printf("%s ",student[i].name); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?? ??? ?printf("%f %f %f\n",student[i].ave,student[i].deyu,student[i].zonghe);
?? ?}
?? ?printf("-----------------------------------------------------------------------\n");
?? ?printf("獎(jiǎng)學(xué)金名單如下:\n");?? ?
?? ?printf("-----------------------------------------------------------------------\n");
?? ?printf("一等獎(jiǎng)學(xué)金獲得者:%s\n",student[0].name);
?? ?printf("二等獎(jiǎng)學(xué)金獲得者:%s %s\n",student[1].name,student[2].name);
?? ?printf("三等獎(jiǎng)學(xué)金獲得者:%s %s %s\n",student[3].name,student[4].name,student[5].name);
?? ?system("pause");
}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C/C++ 中g(shù)cc和g++的對(duì)比與區(qū)別
這篇文章主要介紹了C/C++ 中g(shù)cc和g++的對(duì)比與區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-07-07
用C實(shí)現(xiàn)PHP擴(kuò)展 Image_Tool 圖片常用處理工具類的使用
該擴(kuò)展是基于ImageMagick基礎(chǔ)實(shí)現(xiàn)的,圖片操作調(diào)用的是ImageMagick API2013-04-04
jQuery移動(dòng)頁面開發(fā)中主題按鈕的設(shè)計(jì)示例
這篇文章主要介紹了jQuery移動(dòng)頁面開發(fā)中主題按鈕的設(shè)計(jì)示例,jQuery是當(dāng)今最具人氣的JavaScript開發(fā)類庫,需要的朋友可以參考下2015-12-12

