一个文件读取的问题,帮忙看一下,给个思路
教师需要对学生的选课情况进行查询。学生的选课信息信息存放在文本文件 student.dat 示例如下
Num Courses:6
Advance Programing
4
Computer Network
4
Graduate English
5
Data Mining
3
Politics
2
Digital Signal Processing
3
Num student:10
Num limited courses:4
Petter
Advanced Programing;Computer Network;Politics;Digital Signal Processing
Marray
Advanced Programing;Data Mining;Politics;Graduate English
Tom
Advanced Programing;Data Mining;Politics;Data Mining
Philips
Advanced Programing;Politics;Data Mining;Digital Signal Processing
Patric
Advanced Programing;Politics;Graduate English;Data Mining
John
Computer Network;Graduate English;Data Mining;Politics
Jennifer
Computer Network;Advanced Programing;Politics;Digital Signal Processing
Robert
Advanced Programing;Computer Network;Politics;Digital Signal Processing
Christina
Advanced Programing;Computer Network;Graduate English;Data Mining
David
Graduate English;Data Mining;Politics;Digital Signal Processing
说明: 文件中第一部分为本学期开设的课程科目(Num Course),每门课程成的名称和学分
第二部分为学生人数(Num Student),每个学生规定选课门数(Num Limited
Course),每个学生姓名和所选则课程(课程名称用分号隔开),老师输入学生姓名后
,程序打印出该学生的选课信息,包括每门所选课程的名称,学分和选择该门的人数。例如
一次运行显示如下
Please input student name:Petter
Course Table of Petter
Advanced Programing
Credit 4
Classmates Number 8
Computer Network
Credit 4
Classmates Number 5
Politics
Credit2
Classmates Number 9
Digital Signal Processing
Credit 3
Classmates Number 6
[解决办法]
struct course
{
int credit;
int classMember;
string courseName;
};
struct student
{
string name;
vector <course> courseList;
};
提供两个数据结构,一起讨论,也可以用类实现。
[解决办法]
就是建立一个结构,然后读文件的时候 边读边填充 结构变量。。。
[解决办法]
建议把文本导到数据库里去
[解决办法]
CStdioFile f(TEXT( "文件绝对路径 "), CStdioFile::normal);
CString str;//一次读一行,然后解析
for(BOOL b =f.ReadString(str); b;b =f.ReadString(str))
printf( "%s\n ", str);
[解决办法]
查询的实现挺复杂的,除非练手,否则还是用数据库比较现实.
[解决办法]
关注