博客介绍:
“学生宿舍管理系统”是一个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循环,这样一来就能批量地录入学生信息,节省了时间。
程序截图:


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