|
|
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
extern int n=0;
class Student
{
public:
Student() {}
Student(string na,int n):name(na),num(n {} //有参的构造函数
string name;
int num;
};
//********************新建学生信息***************************//
void Newlist()
{
Student stu[20];
cout < <"请输入学生人数";
cin>>n;
ofstream outfile("stu.txt",ios: ut); //定义文件流对象,打开磁盘文件"stu.txt"
ofstream outfile2("num.txt",ios::out);
if(! outfile) //如果打开失败,outfile返回0值
{
cerr < <"打开失败" < <endl;
abort();
}
cout < <"请按照姓名,学号来输入信息" < <endl;
for(int i=0;i <n;i++)
{
cin>>stu.name>>stu.num;
outfile < <stu.name < <' ' < <stu.num < <endl;//向磁盘文件输出数据
}
outfile2 < <n;
outfile.close(); //关闭磁盘文件
outfile2.close();
cout < <"学生信息已经建立";
}
//********************增加学生信息***************************//
void InsertList()
{
Student stu1;
int m;
ofstream outfile("stu.txt",ios::app);
fstream outfile2("num.txt",ios::in|ios::out);
if(! outfile)
{
cerr < <"打开失败" < <endl;
abort();
}
cout < <"请依次输入学生的姓名,学号" < <endl;
cin>>stu1.name>>stu1.num;
outfile < <stu1.name < <' ' < <stu1.num < <endl;
outfile2>>m; //疑惑行!!!!!!!!!!!!!!!
m=1+m; //疑惑行!!!!!!!!!!!!!!!
outfile2 < <m; //疑惑行!!!!!!!!!!!!!!!
outfile.close();
outfile2.close();
cout < <"添加成功" < <endl;
}
void main()
{
Student stu[20];
int c;
do
{
cout < <"\n-------------------------------成绩管理系统-----------------------------------\n\n" < <endl;
cout < <"0 新建学生信息" < <endl;
cout < <"-------------------------------------------------" < <endl;
cout < <" 1增加学生信息 " < <endl;
cout < <" 请输入您的选择(0--1):" < <endl;
cin>>c;
switch(c)
{
case 0:Newlist();break; //新建学生信息
case 1:InsertList();break; //增加学生信息
}
}while(c!=0&&c!=1);
cout < <"谢谢使用!" < <endl;
}
我想做一个学生信息程序,这些代码是其中的一部分,然后我想把创建的学生信息放到“stu.txt”中,然后再把"stu.txt"中已经统计的人数放入"num.txt"中。。。。但是当我运行“增加学生信息”代码时, “num.txt”中的数不跟着增长,求大神们帮我看看程序。。。我就是想在“//疑惑行!!!!!!!!!!!!!!!”中实现添加,但是总不成功。。。帮忙看看 |
|