zky2021

导航

 

博客介绍:

“学生宿舍管理系统”是一个c++程序,主要功能有楼道报修、浴室预约、校园卡充值缴费三大块。本程序主要功能基本实现,但仍有不足,其中涉及到学生信息的存储录入尚不完善,故对此进行优化。

初始代码:

S* Create_Stu()
{
    S* head = new S, * end;
    head->next = NULL;              //  初始化头结点指向的下一个地址为 NULL
    end = head;                     //  把头结点地址赋给end
    S* s = new S;
    cout << "学号:";
    cin >> s->ID;
    cout << "姓名:";
    cin >> s->NAME;
    cout << "楼号:";
    cin >> s->ADDRESS1;
    cout << "寝室:";
    cin >> s->ADDRESS2;
    cout << "密码:";
    cin >> s->PASSWORD;
    s->next = NULL;
    end->next = s;
    end = s;
    cout << "学生信息录入成功!" << endl;
    return head;
}

S*为一个结构体存放学生信息。这段代码的问题是学生信息只能一个一个输入(由于程序没有后退的设计,只能一遍遍地重新进入程序来录入学生信息)。

改进代码:

S* Create_Stu()
{
    S* head = new S, * end;
    head->next = NULL;              //  初始化头结点指向的下一个地址为 NULL
    end = head;                     //  把头结点地址赋给end
    int n;
    cout << "数量:";
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        S* s = new S;
        cout << "学号:";
        cin >> s->ID;
        cout << "姓名:";
        cin >> s->NAME;
        cout << "楼号:";
        cin >> s->ADDRESS1;
        cout << "寝室:";
        cin >> s->ADDRESS2;
        cout << "密码:";
        cin >> s->PASSWORD;
        s->next = NULL;
        end->next = s;
        end = s;
    }
    cout << "学生信息录入成功!" << endl;
    return head;
}

相较于之前代码,这里增加了一个for循环,这样一来就能批量地录入学生信息,节省了时间。

程序截图:

 

 

总结:

虽然学生信息录入的方式不是一个大的问题,但一个小小的改进,却能提升程序使用的舒适度,而注重每一个细节也是一个程序员该有的素质。

 

posted on 2021-03-07 20:39  雷霆战将  阅读(408)  评论(0)    收藏  举报