1. 程式人生 > >[原始碼] [東南大學]學分績點計算器gpa 1.0.2 升級版

[原始碼] [東南大學]學分績點計算器gpa 1.0.2 升級版

//////////////////////////////////////////////////////////////////////////////////////////////////
//                            CopyRight 2011                                                    //
//////////////////////////////////////////////////////////////////////////////////////////////////
//                            By 張哲                                                           //
//////////////////////////////////////////////////////////////////////////////////////////////////
//                            東南大學--儀器科學與工程學院                                       //
/////////////////////////////////////////////////////////////////////////////////////////////////



#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
#include<iomanip>
#include<vector>
#include<algorithm>
#include<numeric>
#include<functional>

using namespace std;




class Course{
private:
	int no;//序號
	string year;//學年學期
	int code;//課程程式碼
	string name;//課程名稱
	float credit;//學分
	int score;//成績
	string quality;//成績性質
	string courseQua;//課程性質
	float gpa;//績點,(非績點和)


public:
	//構造與析構 及賦值運算子
	Course(){}
	Course(int noV,string yearV,int codeV,string nameV,float creditV,int scoreV,string qualityV,string courseQuaV="#")
		:no(noV),year(yearV),code(codeV),name(nameV),credit(creditV),score(scoreV),quality(qualityV),courseQua(courseQuaV){}
	Course(const Course& temp)
	{
		no = temp.no;
		year = temp.year;
		code = temp.code;
		name = temp.name;
		credit = temp.credit;
		score = temp.score;
		quality = temp.quality;
		courseQua = temp.courseQua;
		gpa = temp.gpa;
	}
	~Course(){}
	Course& operator = (const Course& temp)
	{
		no = temp.no;
		year = temp.year;
		code = temp.code;
		name = temp.name;
		credit = temp.credit;
		score = temp.score;
		quality = temp.quality;
		courseQua = temp.courseQua;
		gpa = temp.gpa;
		return *this;
	}
	
	//訪問器成員函式
	string getYear() const {return year;}
	string getName() const {return name;}
	float getCredit() const {return credit;}
	float getGpa() const {return gpa;}
	int getScore() const {return score;}


	//mutator 函式
	void set(int noV,string yearV,int codeV,string nameV,float creditV,int scoreV,string qualityV,string courseQuaV="#")
	{
		no=noV;
		year=yearV;
		code=codeV;
		name=nameV;
		credit=creditV;
		score=scoreV;
		quality=qualityV;
		courseQua=courseQuaV;
	}
	void setGpa()
	{
		if(score<60) gpa = 0;
		if(score>=60&&score<=62) gpa = 1.0;
		if(score>=63&&score<=65) gpa = 1.5;
		if(score>=66&&score<=69) gpa = 1.8;
		if(score>=70&&score<=72) gpa = 2.0;
		if(score>=73&&score<=75) gpa = 2.5;
		if(score>=76&&score<=79) gpa = 2.8;
		if(score>=80&&score<=82) gpa = 3.0;
		if(score>=83&&score<=85) gpa = 3.5;
		if(score>=86&&score<=89) gpa = 3.8;
		if(score>=90&&score<=92) gpa = 4.0;
		if(score>=93&&score<=95) gpa = 4.5;
		if(score>=96&&score<=100) gpa = 4.8;
	}

	void show()
	{
	cout<<left<<setw(10)<<year<<setw(36)<<name;
	cout<<setw(5)<<credit<<setw(5)<<score;
	cout<<setw(6)<<quality<<setw(6)<<gpa<<endl;
	}

	//運算子過載
	bool operator < (const Course& temp) const
	{
		if(score < temp.score) return true;
		else return false;
	}

	bool operator > (const Course& temp) const
	{
		if(score > temp.score) return true;
		else return false;
	}


friend class List;
	
};


class CourseSigma: public Course
{
private:
	float creditPlusGpa;
public:
	CourseSigma(const Course& temp):Course(temp),creditPlusGpa(temp.getCredit() * temp.getGpa()){}
	bool operator < (const CourseSigma& temp) const
	{
		return creditPlusGpa < temp.creditPlusGpa? true : false ;
	}

	bool operator > (const CourseSigma& temp) const
	{
		return creditPlusGpa > temp.creditPlusGpa? true : false ;
	}

	void show()
	{
	cout<<left<<setw(10)<<getYear()<<setw(36)<<getName();
	cout<<setw(5)<<getCredit()<<setw(5)<<getScore();
	cout<<setw(6)<<getGpa()<<setw(5)<<creditPlusGpa<<endl;
	}
};


class List{
public:
	vector<Course> data;
	
public:
	List(){}
	~List(){}

	//
	void add(const Course& temp){data.push_back(temp);}//在向量尾新增一個元素
	void sort_des(){sort( data.begin() , data.end() , less<Course>() );}//升序排序
	void sort_asc(){sort( data.begin() , data.end() , greater<Course>() );}//降序排序
	void clear_list(){ data.clear(); }

	int getAmount()
	{
		int count = 0 ;
		vector<Course>::iterator iter = data.begin();
		while( iter != data.end() )
		{
			count++;
			iter++;
		}
		return count;		
	}

	void show()
	{	int i=0;
		vector<Course>::iterator iter = data.begin();
		while( iter != data.end() )
		{cout<<left<<setw(3)<<i++;		iter++->show();}
	}

	//用於輸出運算後的內容

	float getCreditSum()//獲得學分和
	{
		float sum = 0;
		vector<Course>::iterator iter = data.begin();
		while( iter != data.end() )
		{
			sum += iter->getCredit();
			iter ++;
		}
		return sum;
	}
	float getGpaSum()//獲得績點和(Σ學分*績點)
	{
		float sum = 0;
		vector<Course>::iterator iter = data.begin();
		while( iter != data.end() )
		{
			sum += ( (iter->getCredit()) * (iter->getGpa()) );
			iter++;
		}

		return sum;
	}

	float getAverageGpa(){return getGpaSum()/getCreditSum(); }
	

};


void declaration();//用於在程式之前輸出內容宣告
void stat_a();
void stat_b();
void stat_c();
void stat_d();
void stat_e();


List list;//資料向量作為全域性物件
float gpa_sum = 0;
float credit_sum = 0;
float average_gpa = 0;
List list2;
void function1_b();
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////

int main()
{	
	declaration();

	//功能實現
	//開啟檔案,載入資料,生成資料庫, 顯示資料
	ifstream infile;
	infile.open("1.txt");
	if(!infile) cout<<"檔案開啟失敗! @
[email protected]
# 請確認您的工作目錄下包含檔案\"1.txt\" !"<<endl; else { cout<<"\a資料開始載入!"<<endl<<endl; int no;//序號 0 string year;//學年學期 1 int code;//課程程式碼 2 string name;//課程名稱 3 float credit;//學分 4 int score;//成績 5 string quality;//成績性質 6 string courseQua;//課程性質 7 Course courseTemp; string::size_type pos[10]={0}; string data[8]; string buf;//儲存從檔案中讀來的一行資料 while( getline( infile , buf ) ) { istringstream inStr; istringstream inStr2,inStr4,inStr5; pos[0] = buf.find_first_not_of(" "); pos[1] = buf.find_first_of(" " , pos[0] ); data[0] = buf.substr(pos[0] , pos[1]-pos[0]); //cout<<data[0]<<"x"<<endl; if(data[0] != "序號") {inStr.str(data[0]); inStr>>no;inStr.sync();} else continue; for(int i = 1 ; i <= 6 ; i ++ ) { pos[i] = buf.find_first_not_of(" ", pos[i] ); pos[i+1] = buf.find_first_of(" " , pos[i] ); data[i] = buf.substr(pos[i] , pos[i+1]-pos[i]); //cout<<data[i]<<endl; /*switch(i) { case 1:year = data[1]; break; case 2:{istringstream inStr2(data[2]); inStr>>code; break;} case 3:name = data[3]; break; case 4:{istringstream inStr4(data[4]); inStr>>credit; break;} case 5:{istringstream inStr5(data[5]); inStr>>score; break;} case 6:quality = data[6]; break; }*/ } year = data[1]; inStr2.str( data[2] ); inStr2>>code;//cout<<inStr2.str()<<" "<<code<<endl; name = data[3]; inStr4.str( data[4] ); inStr4>>credit;//cout<<inStr4.str()<<" "<<credit<<endl; if( data[5] == "優" ) score = 95; else if( data[5] == "良" ) score = 85; else if( data[5] == "中" ) score = 75; else if( data[5] == "及格" ) score = 65; else if( data[5] == "不及格" ) score = 0; else {inStr5.str( data[5] ); inStr5>>score;}//cout<<inStr5.str()<<" "<<score<<endl;} quality = data[6]; //cout<<left<<setw(2)<<no<<left<<setw(10)<<year<<left<<setw(30)<<name<<left<<setw(5)<<credit<<left<<setw(5)<<score<<left<<setw(6)<<quality<<endl; courseTemp.set(no , year , code , name , credit , score , quality); courseTemp.setGpa(); list.add(courseTemp); } } //進行各門課程績點的計算與設定 cout<<endl<<"資料載入成功!可以進行運算了。"<<endl<<endl; list.show();cout<<endl; system("pause"); cout<<"--------------------------------\a我是華麗的分割線------------------------------"<<endl<<endl; //進入功能選單 cout<<"請選擇:"<<endl; cout<<" a.我要檢視 降序排列的成績;\n\n b.我要檢視 降序排列的 學科總績點(= 學分 x 績點);\n\n c.我要檢視 平均績點。\n"<<endl<<endl; cout<<"請選擇 (不區分大小寫): "; char choice = '0'; cin>>choice; cout<<endl; bool end=false; while( 1 ) { switch(choice) { case 'a': case 'A': cout<<"-----------------------------------------------------------------------------\n"<<endl;cout<<"\a按成績從高到低: \n"<<endl; list.sort_asc();list.show();cout<<endl;break; case 'b': case 'B': cout<<"-----------------------------------------------------------------------------\n"<<endl;function1_b();cout<<'\a'<<endl;break; case 'c': case 'C': { cout<<"-----------------------------------------------------------------------------\n"<<endl; cout<<"\a您的 "<<list.getAmount()<<" 門成績: 總學分為: "<<list.getCreditSum()<<" ; 平均績點為: "<<list.getAverageGpa()<<" 。"<<endl; end=true;cout<<endl;break; } default: cout<<"對不起,您的輸入有誤!"<<endl<<endl;cout<<"\a-----------------------------------------------------------------------------\n"<<endl; } system("pause"); cin.sync();//【】重新整理cin緩衝區?? if( end == true ) {cout<<"--------------------------------\a我是華麗的分割線------------------------------"<<endl;break;} cout<<"--------------------------------\a我是華麗的分割線------------------------------\n"<<endl; cout<<" a.我要檢視 降序排列的成績;\n\n b.我要檢視 降序排列的 學科總績點(= 學分 x 績點);\n\n c.我要檢視 平均績點。\n"<<endl<<endl; cout<<"請選擇 (不區分大小寫): "; cin>>choice; cout<<endl; } ::gpa_sum = list.getGpaSum(); ::credit_sum = list.getCreditSum(); ::average_gpa = list.getAverageGpa(); ofstream out; out.open("成績結果輸出.txt"); out<<"您的總學分為: "<< credit_sum <<endl; out<<"您的所有課程的平均績點為:"<< average_gpa <<endl; out<<"\n"<< endl <<endl; //out.close(); //統計功能 /* 1.按學期。學年 統計學分和績點 2.低於平均績點的學科,對績點貢獻 3.高於平均績點的學科, 4.最不淡定的成績,高一分則增加多少績點 */ end=false; while(true) { cout<<endl<<endl; cout<<"【統計功能選單】\n"<<endl; cout<<"請 選 擇 :\n"<<endl; cout<<"a.檢視【低於平均績點】的學科;\n"<<endl; cout<<"b.檢視【高於平均績點】的學科;\n"<<endl; cout<<"c.檢視各【學期】獲得的學分、績點;\n"<<endl; cout<<"d.檢視各【學年】獲得的學分、績點;\n"<<endl; cout<<"e.檢視讓你【不淡定】的學科。\n"<<endl; cout<<"f.退出。\n"<<endl; cout<<"請 選 擇 :"; cin>>choice; cout<<"\n"<<endl; cin.sync(); cout<<endl; switch(choice) { case 'a': case 'A': stat_a(); break; case 'b': case 'B': stat_b(); break; case 'c': case 'C': stat_c(); break; case 'd': case 'D': stat_d(); break; case 'e': case 'E': stat_e(); break; case 'f': case 'F': cout<<"感謝您的使用!\n"<<endl; end=true; break; default: cout<<"對不起,您的輸入有誤!"<<endl<<endl; cout<<"\a-----------------------------------------------------------------------------\n"<<endl; } if( end ) break; } cout<<"\a\a\a\a\aBy 張哲 [儀器科學與工程學院] 2010級\n"<<endl; cout<<"程式終止。\n"<<endl; system("pause"); system("pause"); return 0; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void function1_b() { vector<CourseSigma> list3; vector<Course>::iterator iter = ::list.data.begin(); while( iter != ::list.data.end() ) { //(*iter).show(); list3.push_back(CourseSigma(*iter)); iter++; } sort(list3.begin(), list3.end(), greater<CourseSigma>() ); cout<<left<<setw(10)<<"學年:"<<setw(36)<<"學科:"<<setw(5)<<"學分:"<<setw(5)<<"成績:"<<setw(6)<<"績點:"<<setw(5)<<"學分 x 績點"<<endl; vector<CourseSigma>::iterator iter2 = list3.begin(); while( iter2 != list3.end()) (*iter2++).show(); cout<<endl<<endl; } void stat_a()//【低於平均績點】 { cout<<"-----------------------------------------------------------------------------\n"<<endl; list2.clear_list(); for(vector<Course>::iterator iter = list.data.begin() ; iter < list.data.end() ; iter ++ ) { if( iter->getGpa() < ::average_gpa ) list2.add(*iter); } cout<<"您的【低於】平均績點的課程如下:"<<endl<<endl; list2.show(); cout<<endl<<endl; cout<<"--------------------------------\a我是華麗的分割線------------------------------"<<endl<<endl; system("pause"); } void stat_b()//【高於平均績點】 { cout<<"-----------------------------------------------------------------------------\n"<<endl; list2.clear_list(); for(vector<Course>::iterator iter = list.data.begin() ; iter < list.data.end() ; iter ++ ) { if( iter->getGpa() > ::average_gpa ) list2.add(*iter); } cout<<"您的【高於】平均績點的課程如下:"<<endl<<endl; list2.show(); cout<<endl<<endl; cout<<"--------------------------------\a我是華麗的分割線------------------------------"<<endl<<endl; system("pause"); } void stat_c()//【學期】 { cout<<"-----------------------------------------------------------------------------"<<endl; vector<string> semester_list; semester_list.push_back(list.data.front().getYear()); bool is_inList = false; for(vector<Course>::iterator iter = list.data.begin()+1; iter != list.data.end(); iter++) { for(vector<string>::iterator iter2 = semester_list.begin(); iter2 != semester_list.end(); iter2++) { if((*iter).getYear() == *iter2) { is_inList = true ; break;} } if(is_inList == false) { //cout<<(*iter).getYear()<<endl; semester_list.push_back((*iter).getYear()); } is_inList = false ; } int count_years = semester_list.size(); vector< vector<Course> > list_by_year(count_years); vector< vector<Course> >::iterator iter_complex = list_by_year.begin(); vector<Course>::iterator iter_Course; vector<string>::iterator iter_string; for(iter_string = semester_list.begin(); iter_string != semester_list.end(); iter_string++) { for(iter_Course = ::list.data.begin(); iter_Course != ::list.data.end(); iter_Course++) { if((*iter_string) == (*iter_Course).getYear() ) (*iter_complex).push_back(*iter_Course); } iter_complex++; } for(iter_complex = list_by_year.begin(); iter_complex != list_by_year.end(); iter_complex++) { cout<<endl; cout<<(*iter_complex).front().getYear()<<"學期 :\n "<<endl; /* for(iter_Course = (*iter_complex).begin(); iter_Course != (*iter_complex).end(); iter_Course++) { (*iter_Course).show(); } */ List list_temp; list_temp.data.assign((*iter_complex).begin(),(*iter_complex).end()); list_temp.show(); cout<<endl; cout<<"該學期您取得的總學分為:"<<list_temp.getCreditSum() <<" 平均績點為:"<<list_temp.getAverageGpa() <<endl; cout<<endl; cout<<"-----------------------------------------------------------------------------"<<endl; } cout<<'\a'<<endl; system("pause"); } void stat_d()//【學年】 { cout<<"-----------------------------------------------------------------------------"<<endl; vector<string> semester_list; semester_list.push_back(list.data.front().getYear().substr(0,5)); bool is_inList = false; for(vector<Course>::iterator iter = list.data.begin()+1; iter != list.data.end(); iter++) { for(vector<string>::iterator iter2 = semester_list.begin(); iter2 != semester_list.end(); iter2++) { if((*iter).getYear().substr(0,5) == *iter2) { is_inList = true ; break;} } if(is_inList == false) { //cout<<(*iter).getYear()<<endl; semester_list.push_back((*iter).getYear().substr(0,5)); } is_inList = false ; } int count_years = semester_list.size(); vector< vector<Course> > list_by_year(count_years); vector< vector<Course> >::iterator iter_complex = list_by_year.begin(); vector<Course>::iterator iter_Course; vector<string>::iterator iter_string; for(iter_string = semester_list.begin(); iter_string != semester_list.end(); iter_string++) { for(iter_Course = ::list.data.begin(); iter_Course != ::list.data.end(); iter_Course++) { if((*iter_string) == (*iter_Course).getYear().substr(0,5) ) (*iter_complex).push_back(*iter_Course); } iter_complex++; } for(iter_complex = list_by_year.begin(); iter_complex != list_by_year.end(); iter_complex++) { cout<<endl; cout<<(*iter_complex).front().getYear().substr(0,5)<<"學年 :\n "<<endl; /* for(iter_Course = (*iter_complex).begin(); iter_Course != (*iter_complex).end(); iter_Course++) { (*iter_Course).show(); } */ List list_temp; list_temp.data.assign((*iter_complex).begin(),(*iter_complex).end()); list_temp.show(); cout<<endl; cout<<"該學年您取得的總學分為:"<<list_temp.getCreditSum() <<" 平均績點為:"<<list_temp.getAverageGpa() <<endl; cout<<endl; cout<<"-----------------------------------------------------------------------------"<<endl; } cout<<'\a'<<endl; system("pause"); } void stat_e()//【不淡定】2,5,9 { cout<<"-----------------------------------------------------------------------------\n"<<endl; cout<<"功能簡介:\n"<<endl; cout<<"此功能將統計您的成績的個位為[2,5,9]的學科\n\n在此情況下,當您的成績再增加1分,您的績點會相應的上升一個等級.\n\n"<<endl; cout<<"友情提示:\n\n 老師必定也不會故意將您的成績績點降低等級的,要相信老師已經努力幫您提分了\n\n 所以當您看到結果時,就請不要在心中默默問候老師了.....囧rz\n\n"<<endl; vector<Course> list_NotCalm; int mod = 0; for(vector<Course>::iterator iter = list.data.begin(); iter != list.data.end(); iter++) { mod = (*iter).getScore()%10; if(mod == 2 || mod == 5 || mod == 9) list_NotCalm.push_back(*iter); } if(list_NotCalm.size() == 0) cout<<"恭喜您!老師都很給力啊!"<<endl; else { cout<<left<<setw(10)<<"學年:"<<setw(36)<<"學科:"<<setw(5)<<"學分:"<<setw(5)<<"成績:"<<setw(6)<<"性質:"<<setw(6)<<"績點:"<<endl; for(vector<Course>::iterator iter2 = list_NotCalm.begin(); iter2 != list_NotCalm.end(); iter2++) (*iter2).show(); } cout<<endl; cout<<"-----------------------------------------------------------------------------"<<endl; cout<<'\a'<<endl; system("pause"); } void declaration()//用於在程式之前輸出內容宣告 { //cout<<""<<endl; cout<<endl; cout<<"********************************************"<<endl;//再版宣告 cout<<"*【東南大學】 學分績點計算器 1.0.2 升級版 *"<<endl; cout<<"********************************************"<<endl; cout<<" -----By 張哲 "<<endl; cout<<" -----From 【220儀科學院】"<<endl; cout<<" 2011/7/5 釋出"<<endl; cout<<""<<endl;//程式使用說明 cout<<"What's NEW !(新版本更新了什麼功能)"<<endl;//what's new cout<<"1.美化輸出格式;\n\n2.使用STL庫,優化記憶體管理;\n\n3.新增計算總學分功能;\n\n4.新增多種績點分析功能;\n\n5.優化了資料讀入,無需手動修改\"優良中及格\"形式的成績。\n"<<endl; cout<<"請按任意鍵,進入 “使用說明” 介面。\n"<<endl; system("pause"); cout<<"--------------------------------\a我是華麗的分割線------------------------------"<<endl; cout<<"\n\n【使 用 說 明 :】"<<endl<<endl; cout<<"1.開啟校園網的【學生登入】網頁,並登入【成績服務】--【成績查詢】;\n"<<endl; cout<<"2.將成績表格全部複製下來(【注意】:最下面的【學年】和【總學分】兩行不要!);\n"<<endl; cout<<"3.將剛剛複製的表格貼上在 ”1.txt“。【 請保證檔案與該程式在【同一目錄下】 】;\n"<<endl; cout<<"4.請自行刪去【不計算績點】的諸如人文,經管,自然科學等課程;\n"<<endl; cout<<"5.如果您確保以上操作已經正確執行,\n"<<endl; system("pause"); //cout<<"\n"<<endl; //cout<<"\n"<<endl; cout<<endl; cout<<endl; cout<<"--------------------------------\a我是華麗的分割線------------------------------"<<endl; }

第一版 原始碼 地址:

http://blog.csdn.net/zz457887107/article/details/6565364

相關推薦

[原始碼] [東南大學]學分計算器gpa 1.0.2 升級

////////////////////////////////////////////////////////////////////////////////////////////////// // CopyRight

浙江工業大學簡易計算器c++

最近需要計算本學年的績點,於是隨手寫了一個績點計算器。適用於浙江工業大學。編譯環境VS2010。 #include<iostream> #include<string> #include<list> using namespace st

pyhthon 求GPA平均學分

list odin main value values readline result sco pen 1 #coding=utf-8 2 ‘‘‘ 3 北大4.0 4 成績 學分 5 100~90 4.0 6 89~85 3.7 7 84~

安卓22學分系統(app+server)

info ref oid 左右 app file title 設計 畢業設計 一、技術實現: 開發語言: javaweb+安卓, 模式:客戶端app+服務端web,數據庫 : mysql。 論文字數:1萬左右。 二、功能實現: 三、系統截圖 轉載於我幫你畢業設計需要詳

ZZULIOJ.1103: 平均學分(函式專題)

1103: 平均學分績點(函式專題) 題目描述 平均學分績點(Grade Point Average,即GPA)是以學分與績點作為衡量學生學習的量與質的計算單位,以取得一定的學分和平均學分績點作為畢業和獲得學位的標準,實施多樣的教育規格和較靈活的教學管理制度。 大學裡每一門課程都

1103: 平均學分(函數專題)

stdio.h color 個學生 小數 衡量 管理 average poi int 題目描述 平均學分績點(Grade Point Average,即GPA)是以學分與績點作為衡量學生學習的量與質的計算單位,以取得一定的學分和平均學分績點作為畢業和獲得學位的標準,實施

zzuli OJ 1103: 平均學分(函式專題)

平均學分績點(Grade Point Average,即GPA)是以學分與績點作為衡量學生學習的量與質的計算單位,以取得一定的學分和平均學分績點作為畢業和獲得學位的標準,實施多樣的教育規格和較靈活的教學管理制度。 大學裡每一門課程都有一定的學分。只有通過這門課的考試,才能獲得相應的學分。課程績點的計算方法通

學分

題目描述 北京大學對本科生的成績施行平均學分績點制(GPA)。既將學生的實際考分根據不同的學科的不同學分按一定的公式進行計算。 公式如下: 實際成績 績點 90——100 4.0 85——89 3.7 82——84 3.3 78——81 3.0 75——77 2.7 72——74 2.3 68——71 2.

九度OJ 1133:學分 (加權平均數)

時間限制:1 秒 記憶體限制:32 兆 特殊判題:否 提交:1333 解決:702 題目描述: 北京大學對本科生的成績施行平均學分績點制(GPA)。既將學生的實際考分根據不同的學

鄭輕OJ 1103: 平均學分(函式專題)留著以後自己算

平均學分績點(Grade Point Average,即GPA)是以學分與績點作為衡量學生學習的量與質的計算單位,以取得一定的學分和平均學分績點作為畢業和獲得學位的標準,實施多樣的教育規格和較靈活的教學管理制度。 大學裡每一門課程都有一定的學分。只有通過這門課的考試,才能獲得相應的學分。課程績點的計算方法通

Java之計算上學期的平均學分

提示: //step1: 定義變數; //step2: 提示:共有 * 門課程; //step3: 獲取*門課程的成績,學分,分別儲存在陣列中; //step4: 計算課程學分績點,儲存在陣列中; //step5: 累計總學分,總課程學分績點;

計算幾何模板(+線段)1.0

計算幾何 int cst opera str point col cstring 弧度 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #in

第16周 結構體1.0

問題: 請編寫程式,輸入一點的橫縱座標,輸出該點到原點的距離 #include <stdio.h> #include <stdlib.h> #include<math.h> struct Point { float x; /

JavaScript的BUG?浮運算:0.1 + 0.2 != 0.3

c++ math tlab 點擊 script 內置 依然 href code 浮點運算的問題 在JavaScript中進行純小數運算偶爾會得到不正確的結果: > 0.1 + 0.2 == 0.3 false > 0.1 + 0.2 0.30000000000

黑龍江大學 校園網 師生服務 身份驗證 查成績 查等 API 以及示例程式 (Python 驗證碼自動識別)

特性:python 圖片降噪之後 利用 pytesseract, tesseract-ocr 自動識別驗證碼 不斷更新各種 API 應有盡有 點x校園網:) 地址: htt

東南大學第十三屆程序設計競賽初賽題解

可能 評分 n+2 info for pri 是否 div col 問題 A: 天梯評分系統 題目描述 在一個下雨的日子,沈學姐和四個好基友約定無事一同打dota(dota是一個5對5的MOBA類遊戲)因為想證明誰最NB,他們就全部註冊新號去爬天梯了。天梯有一套完整的

#關於2018年東南大學Robomaster算法組工作的總結

嵌入 後來 交叉 linux環境 要求 但是 還在 並且 無法 筆者在寫作時,為東南大學機器人俱樂部下Robomaster大賽SUPER NOVA戰隊算法組的負責人之一(這名字寫起來好長)。而SUPER NOVA戰隊則於2018年5月19日正式結束了中部分區賽,獲得了二等獎

24計算器的Javascript實現

實現 百度 itl 分享圖片 叠代優化 ddl 好運 重復 cat 前段時間小舅子(小學生)過來玩,沒事一起玩3*8=24,遇到難算的半天都想不出來,所以就想有沒有app或者小工具啥的,搜了一下,有工具,但是不好用,所以就想自己寫個簡單易用的。 開始著手做的時候,發現運算

Python:自動學分計算程式

  #python3 學分績自動計算程式 NCEPU-Qihongyu #用excel把成績乘上學分單獨為一列,把【名字、課程學分、課程成績、該課程最高分、課程成績*課程學分】從excel中截取出來,存到01.txt裡面。執行本程式,生成統計檔案sta.csv fi=open('01.

寫了一個預約東南大學體育場館的python指令碼,目前剛剛實現功能,後續會繼續完善

看到git上有人寫了一個自動預約的指令碼,正好前段時間在學python爬蟲和指令碼,索性也寫了一個,大佬直接略過。 目前沒有做圖形化,賬號和預約資訊也是手動輸入的,我也只寫了羽毛球和乒乓球,其實就是一個屬性的值。嫌麻煩的同學可以寫一個文字檔案,儲存這些資訊,然後倒入到腳本里,每次稍作修改就可以了。如果基友固