程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 通過鍵盤輸入100以內正整數的加、減運算式,請編寫一個程序輸出運算結果字符串。,鍵盤輸入整數

通過鍵盤輸入100以內正整數的加、減運算式,請編寫一個程序輸出運算結果字符串。,鍵盤輸入整數

編輯:C++入門知識

通過鍵盤輸入100以內正整數的加、減運算式,請編寫一個程序輸出運算結果字符串。,鍵盤輸入整數


題目描述(50分):  通過鍵盤輸入100以內正整數的加、減運算式,請編寫一個程序輸出運算結果字符串。 輸入字符串的格式為:“操作數1 運算符 操作數2”,“操作數”與“運算符”之間以一個空格隔開。   補充說明: 1. 操作數為正整數,不需要考慮計算結果溢出的情況。 2. 若輸入算式格式錯誤,輸出結果為“0”。   要求實現函數:  void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr);   【輸入】 pInputStr:  輸入字符串          lInputLen:  輸入字符串長度          【輸出】 pOutputStr: 輸出字符串,空間已經開辟好,與輸入字符串等長;   【注意】只需要完成該函數功能算法,中間不需要有任何IO的輸入輸出   示例  輸入:“4 + 7”  輸出:“11” 輸入:“4 - 7”  輸出:“-3” 輸入:“9 ++ 7”  輸出:“0” 注:格式錯誤     我的程序:
#include<iostream>
#include<string>
using namespace std;
int main()
{
	string s;
	string s1,s2,oper;
	getline(cin,s);

	int a=s.find(" ");
	s1=s.substr(0,a);
	s.erase(0,a+1);

    int b=s.find(" ");
	oper=s.substr(0,b);

	s.erase(0,b+1);
	s2=s;
	int c=atoi(s1.c_str());
	int d=atoi(s2.c_str());
	if(oper=="+")
		cout<<c+d<<endl;
	else if(oper=="-")
		cout<<c-d<<endl;
	else
		cout<<0<<endl;

	return 0;
}

  

 

注意 VC6.0中getline()函數需要輸入兩次回車才能輸入,可能是VC6.0的bug,在VS2010中輸入一次回車就可以

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