代码之家  ›  专栏  ›  技术社区  ›  Alex12

windows窗体中的C++if语句[关闭]

  •  -2
  • Alex12  · 技术社区  · 7 年前

    我正在制作一个程序,告诉你你的星座。我有两个文本框,分别表示日和月,一个按钮和一个richtextbox用于输出。我无法让if语句工作,richtextbox为每个输入显示相同的内容。例如,它说摩羯座,即使一天是5月7日。那么,如何使if语句生效呢? 我不熟悉C++Windows窗体和visual studio,我知道这是一个无用的程序,我只是想知道这些东西是如何工作的。

    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
    {
        String ^ input = textBox2->Text;
        String^inputday = textBox1->Text;
        int luna; int day;
        luna = Convert::ToInt32(input);
        day = Convert::ToInt32(inputday);
        {if (luna == 1 && day < 20)
    
        {
            richTextBox1->Text = "Your sign is Capricorn ";
        }
        else { richTextBox1->Text = "Your sign is Aquarius"; }}
    
    
        {   if (luna == 2 && day < 19) { richTextBox1->Text = "Your sign is Aquarius"; }
        else { richTextBox1->Text = "Your sign is Pisces"; }}
    
    
        if (luna == 3 && day < 21) { richTextBox1->Text = "Your sign is Pisces"; }
        else { richTextBox1->Text = "Your sign is Aries"; }
    
        if (luna == 4 && day < 21) { richTextBox1->Text = "Your sign is Aries"; }
        else {
            richTextBox1->Text = "Your sign is Taurus";
        }
        if (luna == 5 && day < 22) { richTextBox1->Text = "Your sign is Taurus"; }
        else {
            richTextBox1->Text = "Your sign is Gemeni";
        }
    
        if (luna == 6 && day < 22) {
            richTextBox1->Text = "Your sign is Gemeni";
        }
        else { richTextBox1->Text = "Your sign is Cancer"; }
    
        if (luna == 7 && day < 22) {
            richTextBox1->Text = "Your sign is Cancer";
        }
        else {
            richTextBox1->Text = "Your sign is Leo";
        }
    
        if (luna == 8 && day < 23) {
            richTextBox1->Text = "Your sign is Leo";
        }
        else {
            richTextBox1->Text = "Your sign is Virgo";
        }
    
        if (luna == 9 && day < 23) {
            richTextBox1->Text = "Your sign is Virgo";
        }
        else {
            richTextBox1->Text = "Your sign is Libra";
        }
    
        if (luna == 10 && day < 23) {
            richTextBox1->Text = "Your sign is Libra";
        }
        else { richTextBox1->Text = "Your sign is Scorpio"; }
    
        if (luna == 11 && day < 22) {
            richTextBox1->Text = "Your sign is Scorpio";
        }
        else {
            richTextBox1->Text = "Your sign is Sagittarius";
        }
        if (luna == 12 && day < 22) {
            richTextBox1->Text = "Your sign is Sagittarius";
        }
        else {
            richTextBox1->Text = "Your sign is Capricorn";
        }
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   ammcom    7 年前

    这不是C++中的问题,而是 if 声明

    应该是这样的:

    if (luna == 1)
        if (day < 20)
           //assign value
        else
            //assign value
    else if (luna == 2)
        if (day < 19)
            //assign value
        else
            //assign value
    else if (luna == 3) //and so on.....