使用命名空間std
typedef結構節點{
char數據[4];//結果
節點*下壹個;
}ListNode,* Linklist
LinkList createLinklist(){ //輸入學生成績。
char flag = ' 1 ';
ListNode *節點;
linklist head =(ListNode *)malloc(sizeof(ListNode));
ListNode * p = head
while(flag=='1'){
node =(ListNode *)malloc(sizeof(ListNode));
cout & lt& lt“請輸入妳的學號?”& lt& ltendl
CIN & gt;& gtnode . data[0];
cout & lt& lt“請輸入中文分數”
CIN & gt;& gtnode . data[1];
cout & lt& lt"請輸入妳的數學分數"
CIN & gt;& gtnode . data[2];
cout & lt& lt“請輸入您的英語成績”
CIN & gt;& gtnode . data[3];
p->;next =節點;
p =節點;
cout & lt& lt“妳想繼續打字嗎?是的,請輸入1,請輸入0”
CIN & gt;& gt旗幟;
}
}
Void show score (int i,int sum,int average){//顯示總分。
開關(i){
案例1:
cout & lt& lt“語文總分是:”
打破;
案例二:
cout & lt& lt“數學總分是:”
打破;
案例三:
cout & lt& lt“英語總分是:”
打破;
}
}
Void showOne(int data){ //顯示個人成績。
cout & lt& lt"總分:"
}
Intgetcount(鏈表頭,int I){//統計所有科目和班級的總分。
int sum = 0;
ListNode * p = head-& gt;接下來;
while(p){
sum+=(int)p-& gt;數據[I];
p = p-& gt;接下來;
}
返回總和;
}
Int get average (link list head,int I){//獲取所有科目和班級的平均成績。
int num = 0;
ListNode * p = head-& gt;接下來;
while(p){
num++;
p = p-& gt;接下來;
}
return getCount(head,I)/num;
}
Intgetone score (Charid,Link List Head){//獲得所有人的總分。
int sum = 0;
ListNode * p = head-& gt;接下來;
while(p){
if(id = = p-& gt;數據[0]){
for(int I = 1;我& lt=3;i++){
sum+=(int)p-& gt;數據[I];
}
}
}
返回總和;
}
Void main(){ //主函數
鏈接列表標題;
int否,選擇;
cout & lt& lt" = = = = = = = =成績統計小demo = = = = = = = = = = "
head = create linklist();
cout & lt& lt“報表已經錄入”< & ltendl
cout & lt& lt“1統計語文,2統計數學,3統計英語,4統計個人成績”< & ltendl
cout & lt& lt"請輸入相應的數字並選擇功能!"& lt& ltendl
CIN & gt;& gt選擇;
if(choose = = 1 | | choose = = 2 | | choose = = 3 | | choose = = 4){
切換(選擇){
案例1:
cout & lt& lt“請稍等,正在計數……”< & ltendl
showScore(getCount(head,1),getAverage(head,1));
打破;
案例二:
cout & lt& lt“請稍等,正在計數……”< & ltendl
showScore(getCount(head,2),getAverage(head,2));
打破;
案例三:
cout & lt& lt“請稍等,正在計數……”< & ltendl
showScore(getCount(head,3),getAverage(head,3));
打破;
案例4:
cout & lt& lt"請輸入妳的學號"
CIN & gt;& gt沒有;
cout & lt& lt“請稍等,正在計數……”< & ltendl
showOne(getOneScore(不,head));
打破;
}
}否則{
cout & lt& lt“操作不合法!”& lt& ltendl
返回;
}
}