重庆做网站 熊掌号,长春行业网站,暖色调网页设计网站,wordpress最大上传文件大小简单的方法
我们将假设用户输入两个数字和一个运算符#xff08;、-、*、/#xff09;#xff0c;然后根据所选的运算符执行相应的操作。
#include iostream
using namespace std;int main() {double num1, num2;char op;cout 输入 (,-,*,/): 、-、*、/然后根据所选的运算符执行相应的操作。
#include iostream
using namespace std;int main() {double num1, num2;char op;cout 输入 (,-,*,/): ;cin num1 num2 op;if(op ) {cout num1 num2 endl;} else if(op -) {cout num1 - num2 endl;} else if(op *) {cout num1 * num2 endl;} else if(op /) {if(num2 ! 0)cout num1 / num2 endl;elsecout 除数不能是0. endl;} else {cout 输入错误! endl;}return 0;
}
也可以用switch
#include iostream
using namespace std;int main() {double num1, num2;char op;cout 输入 (,-,*,/): ;cin num1 num2 op;switch(op) {case :cout num1 num2 endl;break;case -:cout num1 - num2 endl;break;case *:cout num1 * num2 endl;break;case /:if(num2 ! 0)cout num1 / num2 endl;elsecout 除数不能是0. endl;break;default:cout 输入错误! endl;}return 0;
}
可能会觉得这样的输入方法有些蹩脚。
毕竟谁计算运算是先输数字再输入符号并且还要输一下空格一下那么有没有好的方法像作业本上写计算一样丝滑呢
当然有了
扩展学习计算器
扩展内容不要求初学者会作为了解。
#include iostream
#include string
#include sstream
using namespace std;int main() {string input;double num1, num2;char op;cout 请输入计算表达式例如3344 endl;getline(cin, input); // 使用getline读取整个行stringstream ss(input);ss num1 op num2; // 将输入的字符串流解析为数字和运算符if (ss.fail()) { // 如果输入格式不正确cout 输入有误请检查格式是否正确 endl;return 1;}// 执行计算if(op ) {cout 结果是 num1 num2 endl;} else if(op -) {cout 结果是 num1 - num2 endl;} else if(op *) {cout 结果是 num1 * num2 endl;} else if(op /) {if(num2 ! 0)cout 结果是 num1 / num2 endl;elsecout 错误除数不能为零。 endl;} else {cout 错误无效的运算符。 endl;}return 0;
} 这样就可以直接输入得到结果了。
这里边大家可以注意到用到了一个stringstream 来转换输入。
在C中stringstream 类位于 sstream 头文件中它是 iostream 库的一部分专门用于处理字符串流。stringstream 可以看作是连接字符串和流的一个桥梁它允许我们像处理输入/输出流一样来读写字符串。
创建 stringstream 对象
当执行 stringstream ss(input); 时创建一个名为 ss 的 stringstream 对象并且用一个已存在的字符串 input 来初始化它。这意味着 ss 将会包含 input 字符串的内容但同时它也具备流的所有特性包括能够从中读取和向其中写入数据。
stringstream 的读写功能
由于 stringstream 是流你可以使用流的操作符 和 来读取和写入数据。例如如果你有一个整数变量 int x; 并且想要从 ss 中读取一个整数值给 x你可以这样写
int x;
ss x; // 从ss中读取一个整数给x
同样地如果你想把一个整数写入 ss可以这样做
int y 42;
ss y; // 将y的值写入ss
初始化 stringstream 的意义
当 stringstream 被初始化为一个字符串时它意味着你可以开始解析这个字符串就像处理普通的输入流一样。例如如果你的 input 字符串是 123 apples你可以轻松地从中读取出数字和文字
int number;
string word;
stringstream ss(input);
ss number word;
// 现在number应该是123word应该是apples
总的来说stringstream ss(input); 这行代码创建了一个 stringstream 对象 ss并用字符串 input 来初始化它。这使得你可以使用流的特性来处理 input 字符串包括读取和写入数据。这是一种非常方便的方式来解析字符串中的数据尤其是当字符串格式较为复杂时。
然后输入的时候用不同类型的变量来接收就可以从开头获取字符串中对应的数据了。
还不快来试试