编写一个程序,提示用户输入两个字符,并显示字符中表示的主要和状态

时间:2014-10-23 20:33:20

标签: visual-c++

详细信息:第一个字符表示专业,第二个字符表示字符1,2,3,4,表示学生是大一,大二,大三,还是大四。假设以下字符用于表示专业: M:数学 C:计算机科学 I:信息技术

样品:输入两个字符:M1(按Enter键) 结果:数学新生

样品:输入两个字符:C3(按Enter键) 结果:Science Junior

样品:输入两个字符:T3(按Enter键) 结果:无效主要

样品:输入两个字符:M8(按Enter键) 结果:状态代码无效

到目前为止,这就是我所拥有的一切。我已经要求教练提供帮助了。他的信息在代码之下。

{

cout << "Enter a two characters (one letter and one number): ";
char major;
int year;
cin >> major;

string major_in, major_out;
string year_in, year_out;

string a = "freshman";
string b = "sophomore";
string c = "junior";
string d = "senior";
string M = "Mathematics";
string C = "Computer Science";
string I = "Information Technology";

if (major_in == "M") major_out == M;
else if (major_in == "C") major_out == C;
else if (major_in == "I") major_out == I;

if (year_in == "1") year_out == a;
else if (year_in == "2") year_out == b;
else if (year_in == "3") year_out == c;
else if (year_in == "4") year_out == d;

cout << major_out << endl;

return 0;

}

我认为你在考虑这个问题太过分了。你肯定试图让它变得比实际更难。你只需要输入2个变量(1个字符,1个int),然后通过一系列if语句确定它们是新生,大二,初级还是高级,以及主要是什么。您需要为输出(Major和Year)定义一个字符串。如果(major_in ==“M”)major_out ==“数学”;否则if(major_in ==“I”)major_out ==“信息技术”;等等。做同样的事情...如果(year_in == 1)year_out ==“新生”; if(year_in == 2)year_out ==“Sophmore”等等。一旦你有major_out并且year_out只显示它们

cout<<major_out ” “ year_out<< endl

使用“”在输出中的主要和年份之间放置一个空格。我希望这有帮助

这种帮助根本没有帮助,因为我缺乏理解我做错了什么。我不知道从哪里开始解决这个问题。我没有输出&#39;一点都不现在,我一直在试图获得&#34; M&#34;生产...任何消息。我感到困惑和沮丧。有人可以指导我完成我的错误吗?

这是我为了让数学出现而减少它的原因。我被卡住了。如果我做错了什么,有人请告诉我要关注什么!!!!

{

cout << "Enter a two characters (one letter and one number): ";
char major;
cin >> major;

string major_in, major_out;
string year_in, year_out;

if (major_in == "M") major_out == "Mathematics";
cout << major_out;


return 0;

}

4 个答案:

答案 0 :(得分:1)

对于初学者,在(major_in == "M") major_out == M;中你有major_out == M.这不是你如何为变量分配数据。它应该是major_out = M.删除第二个=符号。还应该将双引号更改为单引号('M'),因为它是一个字符而不是一个字符串。

所以,它现在应该是:if(major_in == 'M') major_out = M;

对其他ifs和elses进行这些更改,你应该很好。

答案 1 :(得分:0)

cout << "Enter a two characters (one letter and one number): ";
char major;
int year;
cin >> major;

在你的第一行你要求两个字符,然后在第四行你把两个字符放在变量major中,这是无效的。你应该在一行中要求char并将其设置为major,然后在另一行中询问int并将其设置为year。

答案 2 :(得分:0)

既然你让我用这个问题写了我的第一个CPP计划,我会告诉你一些我想出的东西。

cout << "Enter a two characters (one letter and one number): ";
char major;
cin >> major;

if (major == 'M')
{
    cout << "Mathematics";
}
else if (major == 'C')
{
    cout << "Computer Science";
}
else if (major == 'I')
{
    cout << "Information Technology";
}
else
{
    cout << "Undefined Major";
}

这会让你半途而废。你应该能够弄清楚其余部分。

答案 3 :(得分:0)

import java.util.*;

class A
{

public static void main(String args[])
{

Scanner scan = new Scanner(System.in);

System.out.println("enter two character : ");
String s = scan.next();

char ch = Character.toUpperCase(s.charAt(0));
char n = s.charAt(1);

String coursename="";
String number = "";

if(ch=='M' || ch=='C' || ch=='I')
{

switch(ch)
{   
    case 'M':
    coursename = "Mathematics";
    break;
    
    case 'C':
    coursename = "Computer Science";
    break;
    
    case 'I':
    coursename= "Infomation And Technology";
    break;
    
    default : 
    break;
}

switch(n)
{
    case '1':
    number="Freshman";
    break;
    
    case '2':
    number="Sophomore";
    break;
    
    case '3':
    number="Junior";
    break;
    
    default:
    break;
    
}

System.out.println(coursename+" "+number);
}

else
{
System.out.println("invalid input");
}

}
}