#include "iostream"
#include "stdlib.h"
#include "string.h"
#include "stdio.h"
using namespace std;
int main()
{
char str[256];
cout << "請輸入加法運算字串,例如1.1 + 2 + 3.5 + 4 : \n";
cin.getline(str, 100);
char *delim = "+";
char * pch;
int i = 0, j;
double answer = 0;
double values[4];
pch = strtok(str, delim);
while (pch != NULL)
{
values[i] = atof(pch);
cout << "values[i] = " << values[i] << endl;
pch = strtok(NULL, delim);
i++;
}
for ( j = 0 ; j < i ; j ++)
answer = answer + values[j];
cout << "這" << i << "個數的和為" << answer << endl;
system("pause");
return 0;
}
This blog contains posts regarding my practice in programming. The posts are about questions in Yahoo Knowledge or some program design ideas or implementation of algorithms.
Monday, January 9, 2012
C++的getline與以strtok作字串分割
以下程式可以以getline輸入加法的字串,例如"1.1 + 2 + 3.5 + 4",輸出為這幾個數的和。方法就是以strtok分割字串,然後以atof轉成數值,然後把值將加後,最後得到結果
Labels:
C++
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment