採用簡單的方法,簡單的語句對學生成績進行操作。
1.計算每一科目的總分,平均分,最高分,最低分
2.輸出學生的學號,姓名,所有成績以及總分,平均分,gpa(加權值)
3.根據學生的名字公升序排列
4.根據學生的學號公升序排到
5.根據學生的學號查詢學生的排名並展示他的成績
6.根據學生的姓名查詢學生的排合併展示他的成績
7.由分數書成5個階段: a(90——100) b(80—— 90)c(70—— 80). d(60——70) f(0-59)
計算每一科目每一階段的人數及百分比
#include#include函式呼叫
#include//檔案流標頭檔案
#include//流操作符
#includeusing namespace std;//申請記憶體空間,
//輸出 學生號,學生姓名,所有成績,總分,平均分,和每個學生的績點,儲存結果到指定檔案。
struct student
stud1[8];//結構體大小為8個,可以錄入8人成績資訊
void inputscorefromfile();//呼叫函式,將檔案內容讀入磁碟
int menu();//選單選項
void displayscorestudent();//顯示單個學生資訊,計算每一科目的總分,平均分,最高分,最低分
void displayall();//輸出學生的學號,姓名,所有成績以及總分,平均分,gpa(加權值)
void sortbyname(struct student);//按照學生姓名氣泡排序
void sortbysno(struct student);//按照學生姓名氣泡排序
void searchbysno();//根據學生的學號查詢學生的排名並展示他的成績
int searchbyname(struct student,string enterbyname);//根據學生的姓名查詢學生的排名並展示他的成績
void searchbypercentage(struct student);//第七題,計算每一科目每一階段的人數及百分比
void sag();
void rank();
int main()
iofile.close();//關閉檔案
}int menu()//選單
void sag()//對結構體一些變數賦值
}void rank()
}min[i]=minnumber;
}for(int i=0;i<5;i++)}}
for(int i=0;i<8;i++)}}
for(int i=0;i<8;i++)
if(stud1[i].score[0]>=80&&stud1[i].score[0]<90)
if(stud1[i].score[0]>=70&&stud1[i].score[0]<80)
if(stud1[i].score[0]>=60&&stud1[i].score[0]<70)
if(stud1[i].score[0]>=0&&stud1[i].score[0]<60)
}for(i=0;i<8;i++)
if(stud1[i].score[1]>=80&&stud1[i].score[1]<90)
if(stud1[i].score[1]>=70&&stud1[i].score[1]<80)
if(stud1[i].score[1]>=60&&stud1[i].score[1]<70)
if(stud1[i].score[1]>=0&&stud1[i].score[1]<60)
}for(i=0;i<8;i++)
if(stud1[i].score[2]>=80&&stud1[i].score[2]<90)
if(stud1[i].score[2]>=70&&stud1[i].score[2]<80)
if(stud1[i].score[2]>=60&&stud1[i].score[2]<70)
if(stud1[i].score[2]>=0&&stud1[i].score[2]<60)
}for(i=0;i<8;i++)
if(stud1[i].score[3]>=80&&stud1[i].score[3]<90)
if(stud1[i].score[3]>=70&&stud1[i].score[3]<80)
if(stud1[i].score[3]>=60&&stud1[i].score[3]<70)
if(stud1[i].score[3]>=0&&stud1[i].score[3]<60)
}for(i=0;i<8;i++)
if(stud1[i].score[4]>=80&&stud1[i].score[4]<90)
if(stud1[i].score[4]>=70&&stud1[i].score[4]<80)
if(stud1[i].score[4]>=60&&stud1[i].score[4]<70)
if(stud1[i].score[4]>=0&&stud1[i].score[4]<60)
}for(i=0;i<5;i++ )
cout<}
//輸出等級所佔比例
// double array1[5][5];//儲存科目成績所佔比例
for(i=0;i<5;i++)
if(j==1)
if(j==2)
if(j==3)
if(j==4)}}
}}
標準輸入流 手動實現鍵盤錄入資料演示
在system類中,有兩個靜態成員變數 當我們使用in方法來進行資料的輸入時,會發現,由於位元組流的緣故且是utf 8編碼,無法讀取 中文 public static void main string args throws ioexception 此時我們就需要用到轉換流來進行位元組流 字元流的轉...
java檔案輸入流FileInputStream
構造方法 1 fileinputstream file file 2 fileinputstream string name 方法close 關閉此檔案輸入流並釋放與此流有關的所有系統資源。read 從此輸入流中讀取乙個資料位元組。read byte b 從此輸入流中將最多 b.length 個位元...
輸入流與輸出流更改檔案內容
title autoreplace 方法名 description 修改檔案內容 param newfilepath 新檔案位址 新生成的檔案位址 param odlfilepath 舊檔案位址 讀的檔案位址 param oldstr 舊引數 param newstr 新引數 throws ioex...