【問題】關於C++函式多載程式


Recommended Posts

請設計一個多載程式,函式有兩個參數:

(1)當2個參數都是字元時,則顯示該字元

(2)當參數為字元和整數x時,則顯示該字元x次

(3)當2個參數都是整數時,則顯示兩個數相乘的結果

#include <iostream>

using namespace std;

void function1(char var1, char var2)

{

cout << var1 << var2;

}

void function1(char var1, int var2)

{

int i;

for (i=1;i<=var2;i++)

{

cout << var1;

}

}

void function1(int var1, int var2)

{

cout << var1 * var2;

}

int main()

{

function1('z',3);

system("pause");

return 0;

}

上面是我寫的程式

我想問 怎麼樣可以讓使用者輸入英文和數字 不是直接在程式內設定

鏈接文章
分享到其他網站
  • 2 weeks later...
你們可以考慮使用<cctype>標頭裡面的 isdigit(int c) 函式來確認該字串是否為「整數」

問題是.....

即使那些是數字

可是使用者還是有可能會想要當成是文字呀....:p

當然在「如果都是數字的話就當成整數」的前提下,

程式就沒有什麼問題了...

不然就要問使用者....

鏈接文章
分享到其他網站

整數的部分有兩種狀況..

所以需要讓使用者決定

#include <iostream>

#include <cctype>

using namespace std;

void function(char var1, char var2){

cout << var1 << var2;

}

void function(char var1, int var2){

for (;var2>=0;var2--)

cout << var1;

}

void function(int var1, int var2){

cout << var1 * var2;

}

int main()

{

char st;

int i,s;

cin>>str>>i;

if(isdigit(st)){

cout<<"你輸入的字元可為整數,我們無法確定你需要執行的動作";

cout<<"輸入 0 視為字元, 輸入其他數字視為整數";

cin>>s;

if(s){

s = str;

function1(s,i);

}

}

function1(st,i);

system("pause");

return 0;

}

鏈接文章
分享到其他網站

請登入後來留意見

在登入之後,您才能留意見



立即登入