目录
源码
#include<iostream>
#include <string>
#include <fstream>
#include <sstream>
#include <list>
#include <map>
// 定义最大值
#define MAX 100
using namespace std;
// 学生对象
struct Student
{
int studentNo;
string name;
int age;
string sex;
};
// 学生对象集合
struct StudentArr {
struct Student studentArr[MAX];
int size;
};
// 课程对象
struct Course
{
// 课号
int courseNo;
// 课名
string courseName;
// 学分
int score;
};
// 课程对象集合
struct CourseArr {
struct Course courseArr[MAX];
int size;
};
// 选课对象
struct SelectCourse
{
// 学号
int studentNo;
// 课程号
int courseNo;
// 得分
int myScore;
};
// 选课对象集合
struct SelectCourseArr {
struct SelectCourse selectCourseArr[MAX];
int size;
};
// 成绩单
struct SchoolReport {
// 学生姓名
string studentName;
// 学生学号
int studentNo;
// 课程名称
string courseName;
// 得分
int myScore;
};
// 成绩单对象集合
struct SchoolReportArr {
struct SchoolReport schoolReportArr[MAX];
int size;
};
// 菜单界面
void showMenu() {
int m;
cout << "1- 导入初始数据" << endl;
cout << "2- 显示信息" << endl;
cout << "3- 输入记录" << endl;
cout << "4- 删除记录" << endl;
cout << "5- 查询信息" << endl;
cout << "6- 编辑记录" << endl;
cout << "7- 去重" << endl;
cout << "8- 批量导出数据" << endl;
cout << "0- 退出" << endl;
}
// 导入学生信息
void importStudent(StudentArr * stuArr) {
// 创建流对象
ifstream ifs;
// 打开文件并判断是否打开成功
ifs.open("student.txt", ios::in);
// 判断是否打开文件成功
if (!ifs.is_open()) {
cout << "文件打开失败!!!请检查文件是否存在!!!" << endl;
return;
}
int studentNo;
string name;
int age;
string sex;
while (ifs >> studentNo && ifs >> name && ifs >> age && ifs >> sex )
{
int size = stuArr->size;
stuArr->studentArr[size].studentNo = studentNo;
stuArr->studentArr[size].name = name;
stuArr->studentArr[size].age = age;
stuArr->studentArr[size].sex = sex;
stuArr->size++;
}
// 关闭文件
ifs.close();
cout << "学生信息导入成功!!!" << endl;
}
// 导入课程信息
void importCourse(CourseArr * courArr) {
// 创建流对象
ifstream ifs;
// 打开文件并判断是否打开成功
ifs.open("course.txt", ios::in);
// 判断是否打开文件成功
if (!ifs.is_open()) {
cout << "文件打开失败!!!请检查文件是否存在!!!" << endl;
return;
}
int courseNo;
string courseName;
int score;
while (ifs >> courseNo && ifs >> courseName && ifs >> score)
{
int size = courArr->size;
courArr->courseArr[size].courseNo = courseNo;
courArr->courseArr[size].courseName = courseName;
courArr->courseArr[size].score = score;
courArr->size++;
}
// 关闭文件
ifs.close();
cout << "课程信息导入成功!!!" << endl;
}
// 导入选课信息
void importSelectCourse(SelectCourseArr * scArr) {
// 创建流对象
ifstream ifs;
// 打开文件并判断是否打开成功
ifs.open("selectCourse.txt", ios::in);
// 判断是否打开文件成功
if (!ifs.is_open()) {
cout << "文件打开失败!!!请检查文件是否存在!!!" << endl;
return;
}
int studentNo;
int couseNo;
int getScore;
while (ifs >> studentNo && ifs >> couseNo && ifs >> getScore)
{
int size = scArr->size;
scArr->selectCourseArr[size].studentNo = studentNo;
scArr->selectCourseArr[size].courseNo = couseNo;
scArr->selectCourseArr[size].myScore = getScore;
scArr->size++;
}
// 关闭文件
ifs.close();
cout << "选课信息导入成功!!!" << endl;
}
// 展示学生信息
void showStudent(StudentArr * stuArr) {
if (stuArr->size == 0) {
cout << "学生信息为空!!" << endl;
}
else {
cout << "***********************学生信息列表**********************" << endl;
cout << "学号" << "\t"<<"姓名"<<"\t"<<"年龄"<<"\t"<<"性别"<<endl;
for (int i = 0; i < stuArr->size; i++)
{
cout << stuArr->studentArr[i].studentNo << "\t";
cout << stuArr->studentArr[i].name << "\t";
cout << stuArr->studentArr[i].age << "\t";
cout << stuArr->studentArr[i].sex << endl;
//cout << "地址:" << abs->persionArr[i].addr << endl;
}
}
system("pause"); // 请按任意键继续
system("cls"); // 清屏
}
// 展示课程信息
void showCourse(CourseArr * courArr) {
if (courArr->size == 0) {
cout << "课程信息为空!&#
标签:struct,ifs,int,C++,studentNo,studentArr,程序设计,自考,size
From: https://blog.csdn.net/qq_38593865/article/details/143661903