forver1314 2014-12-13 12:47 采纳率: 0%
浏览 1615

求大神改个程序,改成用文件操作的,我的程序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条回答

  • shiter 人工智能领域优质创作者 2014-12-13 13:36
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘