C++:将输入的不同部分分配给不同的变量
C++: Assigning different parts of input to different variables
我正在编写一个必须对分数执行运算的程序,并且用户必须能够以w/x(运算符)y/z的形式输入表达式(即1/2 + 1/4)。如何获取该输入并将其的不同部分分配给不同的变量,即分子、分母和运算符?
使用 scanf("%d/%d %c %d/%d", ...)
.如果需要,可以使用scanf("%d/%d%*[ t]%c%*[ t]%d/%d", ...);
如果你的教授还没有教你scanf(),你可以使用cin获取输入,然后使用你的教授教你的方法解析它。
阅读本文应该可以帮助您理解。
假设您可以假设输入格式正确,您可以通过读取其组成部分来读取分数,如下所示:
int numerator, denominator;
char slash;
std::cin >> numerator >> slash >> denominator;
将其包装在一个函数中,该函数返回您用来表示分数的数据结构的实例。
然后处理运算符。
相关文章:
- 何时在函数中声明堆栈分配变量?
- 取消引用指针并立即为其分配变量,导致分段错误
- 在C++中动态分配变量类型
- 在函数 (c++) 中分配变量类型和大小数组
- 无法在命名空间范围内分配变量
- 自我分配变量的定义
- 在 CUDA C++中分配变量 - 无法分配设备变量
- 在 CPP 中动态分配变量的数据类型
- 为什么无法在类主体中分配变量?
- const 类方法是否阻止在类外部分配变量?
- 从文件中分配变量,并使用定界符分配
- 分配指针后,是否可以为指针指向的事物分配变量名称?
- 读取外部文件并在类似xml的输入中分配变量
- 有没有办法在不分配变量的情况下将字符串连接到数字
- 如果使用alloca在内联函数中的堆栈上分配变量,那么在内联函数返回后,其引用是否有效
- 堆分配变量的结构成员对齐
- 包含溢出缓冲区的堆栈分配变量,也称为缓冲区
- 在 GetTransfer 之后,我在帐户 1 收到未分配变量错误。我无法弄清楚我搞砸了什么逻辑错误
- 对动态分配的变量的引用与指向相同动态分配变量的指针
- 在C++中为用户输入分配变量