任務和**:(5)score.txt中是一些同學的學號、姓名、c++、高數、英語成績,利用前面定義的結構體陣列,讀取檔案score.txt中的資料,完成下面的應用:
從檔案中讀出資料,存放到結構體陣列中;
求出每名同學的總分(可以在讀入過程中「順便」計算);
輸出結構體陣列中所有同學的記錄;
按總分排序(降序);
輸出排序後的成績單;
有30名同學可以獲得獎學金,規則是總分高者優先,有掛科不能得獎學金。請輸出可以得獎學金同學的名單。若符合得將的最後一名同學有重複(例如總分全為s),則總分為s的同學全得獎。
/*
檔名:main.c
完成日期:2016.7.31
問題描述:(5)score.txt中是一些同學的學號、姓名、c++、高數、英語成績,利用前面定義的結構體陣列,讀取檔案score.txt中的資料,完成下面的應用:
從檔案中讀出資料,存放到結構體陣列中;
求出每名同學的總分(可以在讀入過程中「順便」計算);
輸出結構體陣列中所有同學的記錄;
按總分排序(降序);
輸出排序後的成績單;
有30名同學可以獲得獎學金,規則是總分高者優先,有掛科不能得獎學金。請輸出可以得獎學金同學的名單。若符合得將的最後一名同學有重複(例如總分全為s),則總分為s的同學全得獎。
程式輸出:
*/#include #include #include typedef struct student
studentinfo;
int number = 0;
int getstudentscore(studentinfo *student,char *filename);
void output(studentinfo *student);
int sort(studentinfo *student);
int excellentstudent(studentinfo *student);
int test(studentinfo *student);
int main()
; //定義學生結構體變數存放學生的資訊
studentinfo *p = student; //定義結構指標指向結構體
printf("從%s中讀取學生的資訊...\n",file);
result = getstudentscore(p,file);
if(result != 0)
printf("輸出所有同學的記錄:\n");
output(p);
printf("按總分排序後所有同學的成績單:\n");
result = sort(p);
if(result != 0)
printf("獲得獎學金的同學名單如下:\n");
result = excellentstudent(p);
if(result != 0)
return result;}/*
函式功能:從傳入檔案中讀取資訊放到傳入的結構體陣列中
返回值:成功返回0。
*/int getstudentscore(studentinfo *student,char *filename)
while(!feof(fp))
fclose(fp);
return 0;}/*
函式功能:輸出結構體的學生資訊
返回值:空。
*/void output(studentinfo *student)
printf("\n\n");
return;}/*
函式功能:輸出排序後的學生資訊
返回值:成功返回0。
*/int sort(studentinfo *student)}}
output(student);
return 0;}/*
函式功能:輸出獲獎學生的資訊
返回值:成功返回0。
*/int excellentstudent(studentinfo *student)
else
}//判斷同學是否滿足獲獎的資格
if(test(student+i) == 0)
}return 0;}/*
函式功能:成冊輸入的學生資訊師傅滿足獲獎條件
返回值:空。
*/int test(studentinfo *student)
return 0;
}
程式執行結果:
專案1 學生成績統計
corpyright c 2013,煙台大學計算機學院 all right reseved.完成日期 2014年3月4日 版本號 v1.0 輸入描述 問題描述 專案1 學生成績統計 程式輸出 問題分析 演算法設計 include include using namespace std struct ...
高階專案8 1學生成績1
任務和 使用相同的結構體型別,在main函式中已經對結構體陣列進行了初始化,請完成相關函式的定義,實現main函式中要求的功能。檔名 main.c 完成日期 2016.7.29 程式輸出 include struct student void calculate struct student s,i...
統計學生成績
本題要求編寫程式讀入n個學生的百分制成績,統計五分制成績的分布。百分制成績到五分制成績的轉換規則 大於等於90分為a 小於90且大於等於80為b 小於80且大於等於70為c 小於70且大於等於60為d 小於60為e。輸入格式 輸入在第一行中給出乙個正整數n 1000 即學生人數 第二行中給出n個學生...