如何使用单个“ cin”语句以特定格式一次输入2个值

问题描述

是否可以按以下方式显示输入消息?

Enter First Fraction:_/_
Enter Second Fraction: _/_

_在哪里输入空格?

使用下面的某种代码

cout<<"Enter First Fraction: ";
cin>>N1>>"/">>D1;
cout<<"Enter Second Fraction: ";
cin>>N2>>"/">>D2;

OR

cout<<"Enter First Fraction: ";
cin>>N1>>/>>D1;
cout<<"Enter Second Fraction: ";
cin>>N2>>/>>D2;

解决方法

这是我的问题的解决方案,以防万一其他人面对它。 积分转到@ qPCR4vir

#include <iostream>
#include <conio.h>
#include <stdlib.h>

using namespace std;

main()
{   //This program encourages the user to perform a sum of two fractions.
    int N1,D1,N2,D2,N,D;
    char divide{};
    system("cls");

    cout<<"The Format is: 'A/B' & 'C/D'..\n\n";
    cout<<"Enter First Fraction: ";
    cin>>N1>>divide>>D1;
    cout<<"Enter Second Fraction: ";
    cin>>N2>>divide>>D2;
    
    if (divide=='/')
    {
        N=(N1*D2)+(D1*N2);  //Numerator
        D=D1*D2;            //Denominator
        cout<<"Sum of Both Fractions is: "<<N<<"/"<<D;
    }
    else
    {
        system("cls");
        cout<<"The Correct Format is: A/B & C/D\nWhere these alphabets are Integers..\n\n";
        cout<<"Example: 4/5";
    }

    getch();
    system("cls");
    return(0);
}

这是仅指定“ cin”语句格式的代码部分。

#include <iostream>
#include <stdlib.h>
#include <conio.h>

using namespace std;

int main() 
{
    char divide{};                  //iota{};
    int x{},y{};
    
    cout<<"Enter Dividion of Two Numbers (A/B): ";
    cin>>x>>divide>>y;              //>> iota;
                
    if (divide=='/')                //&& iota=='i') 
    {
                                    //x=(N1*D2)+(D1*N2);    //Numerator
                                    //y=D1*D2;              //Denominator
        cout<<"The Fractional Form is: "<<x<<"/"<<y;
    }
    else
    {
        system("cls");
        cout<<"The Correct Format is: A/B & C/D\nWhere these alphabets are Integers..\n\n";
        cout<<"Example: 4/5";
    }


    getch();
    return 0;
}

注意:这是@ qPCR4vir的简化/修改后的解决方案,位于: Reading in a specific format with cin

,

我在另一个堆栈问题中看到了此代码。

#include <iostream>
using namespace std;

int main() 
{
    char plus{},img{};
    double x{},y{};
    cin>> x >> plus >> y >> img;
    if (plus!='+' || img!='i') 
        cout << "\nError: "<< "x=" << x <<",plus="  << plus <<",y="  << y <<",img="  << img;
    else
        cout << "\nComplex: " << x << plus << y << img;


    return 0;
}

似乎要求用户在中间输入“ +”,然后输入“!”最后... 但是我尝试过,它仍然不起作用。