2 forver1314 forver1314 于 2014.12.13 20:47 提问

求大神改个程序,改成用文件操作的,我的程序VC++2005 写的

#include
#include
#include
using namespace std;
typedef struct stu//定义一个结构体作为类的私有成员
{
int num;
string name;
};
class student //学生类为基类
{
protected:
stu a[100];
int i, n;
static int d;//计算输入学生总数
public:
student();//构造函数
char menu();//菜单界面
void activity();//进行各种操作的一个平台

void input();//输入函数
void display(); //显示函数
void append();//追加函数
void searach();//查找函数
};
class teacher:public student
{
public:
teacher():student(){};
//下面几个函数是对其他函数的重定义
char menu();//增加了其他函数的菜单界面
void activity();//进行各种操作的一个平台
void mod();//修改函数
void shanchu();//删除函数
};
int student::d=0;//计数器赋值为0
student::student()//构造函数
{
cout<<"*************************欢迎进入学生管理系统 ***********************"< }
char student::menu()//学生菜单界面
{
char m;
cout cout cout cout cout cin>>m;
return m;
}
char teacher::menu()//教师菜单界面
{
char m;
cout<<"*********1:输入学生信息***********"< cout cout cout cout cout cout cin>>m;
return m;
}
void student::activity()//学生各种操作界面
{
char k;
while(1)
{
k=menu();
switch (k)
{
case '1':input();break;
case '2':display();break;
case '3':append();break;
case '4':searach();break;
case '0':cout<<"**********thanks you !bye bye**********!"< default:cout }
}
}
void teacher::activity()//教师各种操作界面
{
cout string pass;
cin>>pass;
string useer;
cout<<"请输入密码"< cin>>useer;
if(useer==pass)
{cout<<"密码正确"<<endl;}
else
{ cout<<"密码错误,从新输入"<<endl;}

char k;
while(1)
{
k=menu();
switch (k)
{
case '1':input();break;
case '2':display();break;
case '3':append();break;
case '4':searach();break;
case '5':mod();break;
case '6':shanchu();break;
case '0':cout<<"**********thanks you !bye bye**********!"< default:cout }
}
}
void student:: input()//输入函数
{
cout cin>>n;
for(i=0;i { cout cin>>a[i].num;
cout<<"学生的姓名是 : "< cin>>a[i].name;
d++;
}
cout<<"工作完成! "< display();
}
void student::display()//显示函数
{
cout for(i=0;i {
cout }
}
void student::append()//追加
{
int m;
cout cin>>m;
for(i=n;i {
cout cin>>a[i].num;
cout<<"学生的姓名是 : "< cin>>a[i].name;
d++;
}
cout<<"工作完成! "< display();
}
void student::searach()//查找
{
int nu,g=0;
cout cin>>nu;
for(i=0;i {
if(a[i].num==nu)
{
cout cout g=1;
}
}
if(g==0)
cout cout }
void teacher::mod()//修改
{
int nu;
cout cin>>nu;
for(i=0;i {
if(nu==a[i].num)
{
cout cin>>a[i].num;
cout<<"学生的姓名是 : "< cin>>a[i].name;
}
}
cout<<"工作完成! "< display();
}
void teacher::shanchu()//删除函数
{ int nu,s=-1;
cout cin>>nu;
for(i=0;i<=d;i++)
{
if(nu==a[i].num)
{s=i;
for(i=s+1;i<d;i++)

{
a[i-1].num=a[i].num;
a[i-1].name=a[i].name;
}
d--;
}
}
if(s==-1)
cout<<"没有找到学生信息!"<<endl;
cout<<"工作完成! "<<endl;
display();
}
void stu()//一级菜单,进入学生操作界面
{
student stud;
stud.activity();
}
void teach()//一级菜单,进入教师操作界面
{
teacher t;
t.activity();
}
int main()
{

char c;
cout<<"***************************欢迎进入学生管理系统***********************"< cout cout cout cin>>c;
switch(c)
{
case 's': stu();break;
case 't':teach();break;
default :cout<<"you are wrong !";
}
return 0;
}

2个回答

wangyaninglm
wangyaninglm   Ds   Rxr 2014.12.13 21:36

定义文件流,把密码等等学生信息,写到文件中。

VisualEleven
VisualEleven   Ds   Rxr 2014.12.22 16:52

fopen/fread/fwrite/fclose()
CreateFile/ReadFile/WriteFile/CloseHandle()
CFile::Open/Read/Write/Close()

Csdn user default icon
上传中...
上传图片
插入图片