程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 結構體數組計算

結構體數組計算

編輯:C++入門知識

[cpp]   /*  【項目3-用結構體數組作計算】接項目2,    * Copyright (c)2013, 煙台大學計算機學院學生    * All rightsreserved.    * 文件名稱:score.cpp                               * 作    者:蛋蛋                                * 完成日期:2013  年3  月13  日    * 版本號: v1.0          * 輸入描述:    * 問題描述:(1)從文件中讀出數據,存放到你定義的結構體數組中,即項目2(1);  (2)求出每名同學的總分(可以在讀入過程中“順便”計算);  (3)按總分排序(降序);www.2cto.com  (4)輸出排序後的成績單;  (5)有30名同學可以獲得獎學金,規則是總分高者優先,有掛科不能得獎學金。請輸出可以得獎學金同學的名單。  (6)選做:統計各門課及總分的平均成績、最高和最低成績、標准偏差,並輸出。     建議做兩個版本:(1)所有功能全在main()函數中;(2)用自定義函數實現各任務  * 輸出:讀取後的的獲得獎學金學生名單及成績單    * 操作感悟:還是讀取失敗,完全不懂呢,找不到.dat呢5555   */     #include <iostream>   #include <fstream>   using namespace std;   struct Student   {       char num[12];        char name[12];        int cpp;       int math;       int english;       int score;   };   const int N=200;   int main( )   {       int i, stuNum=0;       Student stu[N];       ifstream infile("score.txt",ios::in);   //以輸入的方式打開文件       if(!infile)                 //測試是否成功打開       {           cerr<<"open error!"<<endl;           exit(1);       }       i=0;       while(!infile.eof())       {           infile>>stu[i].num>>stu[i].name>>stu[i].cpp>>stu[i].math>>stu[i].english;           stu[i].score=stu[i].cpp+stu[i].math+stu[i].english;           ++stuNum;           ++i;       }       infile.close();       Student t;       for(i=0;i<stuNum-1;i++){           for(int j=0;j<stuNum-i-1;j++){               if(stu[j].score<stu[j+1].score){               t=stu[j];stu[j]=stu[j+1];stu[j+1]=t;               }       }}       for(i=0; i<stuNum; ++i)       {           cout<<stu[i].num<<"\t"<<stu[i].name<<"\t"<<stu[i].cpp<<"\t"<<stu[i].math<<"\t"<<stu[i].english<<"\t"<<stu[i].score<<endl;       }       cout<<"獲得獎學金的有以下同學"<<endl;       if(stu[i].cpp>=60&&stu[i].math>=60&&stu[i].english>=60){       int j=0;   www.2cto.com         while(j<30){    cout<<stu[i].num<<"\t"<<stu[i].name<<"\t"<<stu[i].cpp<<"\t"<<stu[i].math<<"\t"<<stu[i].english<<"\t"<<stu[i].score<<endl;             j++;                                  }   i++;               }                     return 0;          }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved