资源简介
C++语言写的,控制台模式的,本人亲写,可用来略作借鉴,保证完整可运行
代码片段和文件信息
#include
using namespace std;
#include
#include “student.h“
#include “course.h“
#include “attendance.h“
#define stu_Max 100 //学生数组的大小
#define course_Max 100
bool findStudent(student studs[] int stuId int* stuIndex)
{
for (int i = 0; i {
*stuIndex = i;
if (studs[i].getStuId() == stuId)//找到该学生
{
return true;
}
//if (studs[i].getStuName() == NULL)//未找到该学生
//{
//}
}
return false;
}
bool findCourse(course cos[] string courseName int* courseIndex)
{
for (int i = 0; i {
*courseIndex = i;
if (cos[i].getCourseName() == courseName)//找到该课程
{
return true;
}
//if (cos[i].getCourseName() == NULL)//未找到该课程
//{
//}
}
return false;
}
int findMax(int sum[] int* maxIndex)//返回数组中最大值及其下标并将最大值设为0
{
int max = sum[0];
*maxIndex = 0;
for (int i = 0; i {
if (max {
max = sum[i];
*maxIndex = i;
}
}
sum[*maxIndex] = 0;
return max;
}
bool addStuAttendRecord(student studs[] course cos[])//添加学生考勤记录
{
if (studs == NULL || cos == NULL)
return false;
int stuId;
string stuName;
string courseName;
cout << “\n添加学生考勤记录:\n“;
cout << “学号:“;
cin >> stuId;
cout << “姓名:“;
cin >> stuName;
cout << “课程名:“;
cin >> courseName;
int stuIndex;
if (!findStudent(studs stuId &stuIndex))////未找到该学生录入学生信息
{
cout << “尚未记录该学生信息,请录入该学生信息:\n“;
studs[stuIndex].initStudent();
}
int courseIndex;
if (!findCourse(cos courseName &courseIndex))//未找到该课程,录入该课程信息
{
cout << “未记录该课程信息,请录入该课程信息:\n“;
cos[courseIndex].initCourse();
}
attendance* attend = new attendance();
cout << “考勤记录的时间:\n“;
attend->initAttend(studs[stuIndex].getStuId() cos[courseIndex].getCourseId() cos[courseIndex].getCourseName());
studs[stuIndex].addAttendance(attend);
return true;
}
bool changeStuAttendRecord(student studs[] course cos[])//修改某个学生的考勤记录
{
cout << “\n修改学生考勤记录:\n“;
int stuId;
string stuName;
string courseName;
int year;
int month;
int day;
cout << “学号:“;
cin >> stuId;
cout << “姓名:“;
cin >> stuName;
cout << “课程名:“;
cin >> courseName;
int stuIndex;
if (!findStudent(studs stuId &stuIndex))
{
cout << “\n不存在该学生的信息记录请输入正确信息或添加新考勤记录\n“;
return false;
}
int courseIndex;
if (!findCourse(cos courseName &courseIndex))
{
cout << “\n不存在该课程的信息记录,请输入正确信息或添加新考勤记录\n“;
return false;
}
cout << “上课时间:\n“;
cout << “年:“;
cin >> year;
cout << “月:“;
cin >> month;
cout << “日:“;
cin >> day;
double attendId = countAttendId(year month day);
attendance* attendPoint = new attendance();
if (studs[stuIndex].findAttendRecord(attendId attendPoint))//通过出勤id查找该记录
{
cout << “考勤记录为:\n“;
studs[stuIndex].showStudent();
cos[courseIndex].showCourse();
attendPoint->showAttendRecord();
}
else
{
cout << “不存在该 考勤记录\n“;
return false;
}
int choice = 0;
while (choice != 4)
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8633 2018-06-03 18:21 attendanceSystem.cpp
文件 2362 2018-06-03 16:30 course.h
文件 2476 2018-06-03 16:47 student.h
文件 2698 2018-06-03 16:30 attendance.h
评论
共有 条评论