在比较字符串时检查变量用法?

时间:2014-02-15 09:52:57

标签: c++

void display_a_student(char n[])
{

    cout<<"\nSTUDENT DETAILS\n";

    int check=0; ***** WHY ARE WE USING THIS CHECK ??????

    fp.open("student.dat",ios::in);
    while(fp.read((char*)&st,sizeof(student)))
    {
        if((strcmpi(st.get_ID_number(),n)==0))
        {
            st.show_student();
            check=1; ----> What is this ?
        }
    }

    fp.close();
    if(check==0)
        cout<<"\n\nStudent does not exist";
    getch();

}

我不理解这个&#34;检查&#34;在代码? 请尽快告诉我答案:)           这是代码..

2 个答案:

答案 0 :(得分:-1)

我认为编码器会尝试使用check变量作为一种机制来判断文件中是否存在任何学生记录。

如果没有找到学生记录..那么它将打印消息: cout&lt;&lt; “学生不存在”; ..

答案 1 :(得分:-1)

这是一面旗帜。它用于检查用户记录是否存在。如果您看到此代码,

if(check==0)
                cout<<"\n\nStudent does not exist";

你可以看到他们检查它是否为零&amp;打印字符串"Student does not exist",这意味着零是默认值。如果存在学生详细信息,则将其设置为1。该检查在以下代码中完成,

if((strcmpi(st.get_ID_number(),n)==0)) --> This will be true only if student record exists.
                {
                           st.show_student();
                           check=1; ----> The flag is set here.
                }

最后,这个标志不需要总是命名为“check”。你可以拥有自己的名字。