使用者從鍵盤輸入形式如 12-45 這樣的「數值範圍」字串,代表從12到45這個範圍。
請你編寫乙個類 parse,可以解析這個字串。然後提供兩個函式,能夠獲取字串中的第乙個整數和第二個整數。(10分)
parse類要提供乙個有參建構函式,接收乙個字串引數;
parse類要提供乙個 int getfirst() 函式,返回「數值範圍」字串中的前面的整數;
parse類要提供乙個 int getlast() 函式,返回「數值範圍」字串中的後面的整數;
程式的主函式如下,請將主函式**拷貝到你的開發環境中,但是不要修改主函式內部的**:
#include
#include
intmain()
; std::cin >> s;
// 使用者輸入乙個範圍字串
parse p
(s);
// 構造parse物件p,同時解析字串 s
std::cout << p.
getfirst()
<<
' '<< p.
getlast()
;// 中間是兩個單引號括起來的乙個空格字元
return0;
}
要求:
不要使用c語言的字串處理函式
使用string類自帶的函式,或者標準庫中的函式
警告1:
不要在主函式的返回語句前加 std::cin.get(); 否則無法通過本作業的測試用例
警告2:
請不要使用c++14或者c++17的特性。本oj還不支援這兩個標準。比如將函式返回值寫為 auto (c++14的特性)
警告3:
請不要新增額外資訊的輸出(比如輸出提示等)。額外輸出的資訊會導致oj系統無法判別你的結果
輸入格式:
用英文連字元分隔的兩個整數構成的字串
輸出格式:
兩個整數,中間用1個空格分隔。第二個整數後面沒有空格或者換行
輸入樣例:
12345-54321
輸出樣例:
12345 54321
時間限制:500ms記憶體限制:32000kb
#pragma once
using std::string;
class
parse
;
#include
#include
"parse.h"
using std::string;
parse::
parse
(string s_)
int parse::
getfirst()
int parse::
getlast()
#include
#include
"parse.h"
using std::cin;
using std::cout;
using std::endl;
intmain()
; std::cin >> s;
// 使用者輸入乙個範圍字串
parse p
(s);
// 構造parse物件p,同時解析字串 s
std::cout << p.
getfirst()
<<
' '<< p.
getlast()
;// 中間是兩個單引號括起來的乙個空格字元
return0;
}
使用者從鍵盤輸入形式如 #ab!#12-45c#+f 這樣的「數值範圍」字串,代表從12到45這個範圍。12前面和45後面會有一些不包含數字以及英文連字元的干擾字元。
請你編寫乙個類 parse,可以解析這個字串。然後提供兩個函式,能夠獲取字串中的第乙個整數和第二個整數。(10分)
#pragma once
using std::string;
class
parse
;
#include
#include
"parse.h"
using std::string;
parse::
parse
(string s_)
int parse::
getfirst()
i++;}
int first = std::
stoi
(firststr.
substr
(i))
;return first;
}int parse::
getlast()
#include
#include
"parse.h"
using std::cin;
using std::cout;
using std::endl;
intmain()
; std::cin >> s;
// 使用者輸入乙個範圍字串
parse p
(s);
// 構造parse物件p,同時解析字串 s
std::cout << p.
getfirst()
<<
' '<< p.
getlast()
;// 中間是兩個單引號括起來的乙個空格字元
return0;
}
編寫類circle。
編寫主函式,利用 std::array 建立包含10個物件的circle陣列並初始化。
用基於範圍的for迴圈遍歷circle陣列,求10個circie物件的面積之和(10分)
題目內容:
類circle有兩個建構函式。無參建構函式沒有函式體,使用default關鍵字宣告。有參建構函式接收乙個double型別引數作為circle的半徑。circle類的半徑的預設值是1.0
類circle有乙個 double getarea() 函式,返回圓的面積。圓周率的值取 3.14
在主函式中用 std::array 宣告乙個有10個circle物件的陣列。其中前5個circle物件的半徑分別設定為1.0、2.0、3.0、4.0、5.0。後5個物件使用circle的預設建構函式初始化。
在主函式中,用基於範圍的for迴圈遍歷circle陣列,求10個circie物件的面積之和
在主函式中,輸出所求出的面積和。輸出結果為雙精度浮點數。使用系統預設精度。無需做格式和精度控制
輸入格式:
無輸入輸出格式:
乙個浮點數。浮點數前後沒有空格和換行
輸入樣例:
無輸出樣例:
無時間限制:500ms記憶體限制:32000kb
#pragma once
class
circle
;
#include
#include
"circle.h"
circle::
circle
(double radius_)
double circle::
getarea()
#include
#include
"circle.h"
#include
using std::array;
using std::cout;
using std::endl;
intmain()
;for
(auto i : group)
cout << sum;
return0;
}
C 程式設計(物件導向高階) 第三單元測驗與作業
本題要求實現乙個swap函式,swap函式接收3個引用型別的引數,可交換3個整數a,b,c的值。將a的值存入b,b的值存入c,c的值存入a,並且返回三個整數中最大的數的值。例如a,b,c的值為1,2,3,則交換後,a,b,c的值為3,1,2,所返回的值為3。在主函式中宣告三個變數 a,b,c並賦值。...
物件導向高階(四)
一 複習 總結上次課內容。再次強調,動手操作很重要,很重要,很重要!二 新課引入 1 再動手寫一次 基類 圖形類,有乙個點座標,有乙個表示面積的方法。派生類 圓類,繼承圖形類,多乙個屬性半徑。同樣擁有表示面積的方法。2 抽象 l當例項方法宣告包含abstract修飾符時,稱該方法為抽象方法。l在類宣...
物件導向高階程式設計
相同class的各物件互為友元 class complex int func const complex param private double re,im string inline string string const char cstr 0 else inline string strin...