設想有乙個課程,學生的期末考試成績佔最終成績的40%,期中考試成績佔20%,家庭作業的平均成績佔40%,下面這個程式便可以幫助學生計算他們的最終成績:
#include#include#include#includeusing namespace std;
int main()
//write the result
streamsize prec = cout.precision();
cout << "your final grade is" << setprecision(3)
<< 0.2*midterm + 0.4*final + 0.4*sum / count
<< setprecision(prec) << endl;
system("pause");
return 0;
}
標頭檔案 定義了 streamsize 型別,這是輸入輸出庫用來表示長度的型別。
標頭檔案 定義了控制符 setprecision ,我們可以用它來說明希望輸出中包含多少位有效數字。
它請求輸入學生家庭作業成績,程式會持續的讀取,直到遇到乙個檔案結束標誌。不同的c++系統提供給使用者的檔案結束標誌也不同,最常見的方式是按著控制鍵(control),輸入乙個換行,然後按 z 鍵(執行微軟的windows作業系統的電腦),或者按 d 鍵(執行unix或linux作業系統的電腦)。
double 型別是乙個內建型別,它儲存雙精度浮點數。
系統內建型別還有乙個單精度浮點數型別,叫做 float 。
雖然 float 看起來也是合適的型別,但是在用浮點數進行計算時,幾乎總是應該使用 double 。
float 可以提供大約 6 位有效數字(十進位制)。
double 型別可以確保提供至少 10 位有效數字。
double 比 float 更為精確,甚至有時候,double 的速度更快。
setprecision 也是乙個控制符。它控制流。使得後來的輸出以給定位數的有效數字顯示。通過使用 setprecision(3) ,我們要求系統用三位有效數字來輸出成績,通常就是小數點前兩位,小數點後一位。
通過 setprecision ,我們可以控制 cout 後面的輸出精度。因為這個語句出現在程式的最後,所以不會再有這樣的輸出。
我們可以通過呼叫 cout 的乙個名叫 precision 的成員函式重新恢復 cout 的精度。
//set precision to 3,return previous value
streamsize prec = cout.precision(3);
cout << "your final grade is"
<< 0.2 * midterm + 0.4 * final + 0.4 * sum / count << endl;
//reset precision to its original value
cout.precision(prec);
Accelerated C 之計算學生成績3
層層深入,由淺及深 乙個例子,包含多少知識點,自己看哦 ifndef guard median h 檢查標頭檔案guard median h是否被定義,如果未定義,就會請求預處理程式對在他和 endif之間的所有內容作出適當的處理動作 名稱要唯一 define guard median h h中不能...
c 計算學生成績總分平均分程式
下面是我寫的 using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system...
用c 算成績的總和 c 計算學生成績總分平均分程式
利用c 編寫windows應用程式計算學生成績 效果圖 建立windows窗體 然後在裡面拖入panel控制項,然後再拖入7個label控制項 6個textbox控制項 三個button控制項。下面是我寫的 using system using system.collections.generic ...