檔案輸入流錄入五名學生成績,並對五人成績進行操作

2021-08-21 06:51:20 字數 2758 閱讀 5265

採用簡單的方法,簡單的語句對學生成績進行操作。
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...