Else without a previous if

Course Queries Syllabus Queries 3 years ago

7.73K 2 0 0 0

User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 3 years ago


I'm new to C++ programming, just can't figure out why it is giving me an "else without a previous if" error.

class Math {
    public:
        void m_syllabus() {
            string math1;

            if  (math1 == "math"){
                cout << "\tHere are the important information for the math syllabus:\n"<<endl;
                cout << "\tInstructor name: \n" <<"\tDr. Zhong J"<<endl;
                cout << "\tOffice Hours: \n" <<"\tMonday and Wednesday from 10:30am-11:30am and by appointment"<<endl;
                cout << "\tContact: \n" <<"\tPhone: 245-9966"<< "\tEmail: zjj10@txstae.edu"<<endl;
                cout << "\tTextbook: \n" <<"\tPrecalculus, Sullivan, 10th edition"<< endl;
                cout << "\tGrading: \n" <<"\tTest 1, 2, 3 are 15% each"<< endl;
                cout << "\tAttendance:\n" <<"\t10% "<< endl;
                cout << "\tQuizzes:\n" <<"\t25%"<< endl;
                cout << "\tFinal Exam:\n" <<"\t20%"<< endl;
                cout << "\tTest 1: 9/21(Wed)"<<endl;
            }
        }
};

// the English class

class English {
    public:
        void e_syllabus() {
            string english1, math1;
            else if (english1 == "english")
            {
                cout << "\tHere are the important information for the english syllabus:\n"<<endl;
                cout << "\tInstructor name: \n" <<"\tHeather "<<endl;
                cout << "\tOffice Number & Hours: \n" <<"\tTuesday and Thursday from 11:00am-1:30pm and by appointment @ Flowers Hall: 210"<<endl;
                cout << "\tContact: \n" <<"\tPhone: x53783"<< "\tEmail: hr@txstate.edu"<<endl;
                cout << "\tTextbook: \n" <<"\tReading the World: Ideas that Matter & The Bedford Handbook";
            }
        }
};

int main() {
    string math1, english1, computer_science1, philosophy1, us1100_1;
    math1 = "math"; english1 = "english"; computer_science1 = "computer_science";
    philosophy1 = "philosophy";
    us1100_1 = "us1100";
    cout << "What syllabus do you need?\n";
    cin >> math1, english1, computer_science1, philosophy1, us1100_1;

    Math retrieve_m;
    retrieve_m.m_syllabus();

    English retrieve_e;
    retrieve_e.e_syllabus();

    return 0;
}
0 views
0 shares

profilepic.png
manpreet 3 years ago


You cannot have an else if by itself.

In this part of the code you have;

void e_syllabus() {
        string english1, math1;
        else if (english1 == "english")
        {
            cout << "\tHere are the important information for the english syllabus:\n"<<endl;
            cout << "\tInstructor name: \n" <<"\tHeather "<<endl;
            cout << "\tOffice Number & Hours: \n" <<"\tTuesday and Thursday from 11:00am-1:30pm and by appointment @ Flowers Hall: 210"<<endl;
            cout << "\tContact: \n" <<"\tPhone: x53783"<< "\tEmail: hr@txstate.edu"<<endl;
            cout << "\tTextbook: \n" <<"\tReading the World: Ideas that Matter & The Bedford Handbook";
        }

Zooming you have;

else if (english1 == "english")

The correct way to implement it would be something like:

if(A == B){
    //do something
}
else if (C == D){
    //do something here
}

In your case would be;

    if(A == B){
        //do something
    }
    else if (english1 == "english")
    {
        cout << "\tHere are the important information for the english syllabus:\n"<<endl;
        cout << "\tInstructor name: \n" <<"\tHeather "<<endl;
        cout << "\tOffice Number & Hours: \n" <<"\tTuesday and Thursday from 11:00am-1:30pm and by appointment @ Flowers Hall: 210"<<endl;
        cout << "\tContact: \n" <<"\tPhone: x53783"<< "\tEmail: hr@txstate.edu"<<endl;
       cout << "\tTextbook: \n" <<"\tReading the World: Ideas that Matter & The Bedford Handbook";
     }

0 views   0 shares

No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

Similar Forum