cerr<<\错误:数据文件不能打开!\\n\ else {
while(p) {
outfile< p=p->next; } k=false; cout<<\保存成功!\ } } void S::Exit() { char s='Y'; if(k) //判断数据是否修改 { cout<<\数据已经改变,是否保存?(y/n):\ cin>>s; if(s=='y'||s=='Y') SSave(); } cout<<\已安全退出,\ system(\ exit(0); } void S::showMenu() { cout<<\ cout<<\ 教师管理子系统 |\ cout<<\cout<<\ 1.登陆 |\ cout<<\ 2.上传课件 |\ cout<<\ 3.删除课件 |\ cout<<\ 4.查找课件 |\ cout<<\ 5.修改信息 16 |\ cout<<\ 6.显示所有课件 |\ cout<<\ 7.存储 |\ cout<<\ 0.退出:安全的退出本系统 |\cout<<\} void S::showMenu1() { cout<<\ cout<<\ 学生管理子系统 |\ cout<<\cout<<\ 1.登录 |\ cout<<\ 2.浏览信息 |\ cout<<\ 3.查询信息 |\ cout<<\ 4.下载课件 |\ cout<<\ 5.修改信息 |\ cout<<\ 0.退出:安全的退出本系统 |\cout<<\} void S::showMenu2() { cout<<\ cout<<\ 系统管理员子系统 |\ cout<<\cout<<\ 1.登录 |\ cout<<\ 2.页面维护 |\ cout<<\ 3.处理注册申请 |\ cout<<\ 4.修改个人信息 |\ cout<<\ 0.退出:安全的退出本系统 |\ 17 cout<<\} void S::showTip() { cout< cout<<\操作完成---------------------\ cout<<\选择继续下一个操作----------------\ cout<<\请选择:\} void S::doMenu(char n) { switch(n) { case '1': SClear(); break; case '2': SInsert(); break; case '3': SDelete(); break; case '4': SFind(); break; case '5': SModify(); break; case '6': SView(); break; case '7': SSave(); break; case '0': Exit(); break; default: cout<<\输入错误!\ } } 18 void display() { cout<<\ cout<<\ 远程网络教学管理系|\ cout<<\cout<<\ 1. 学|\ cout<<\ 2. 教统 生 师 |\ cout<<\ 3. 系统管|\ cout<<\} int main() { S c; char i='9'; display(); cout<<\选择对应数字的登陆人员:\ cin>>i; switch(i) { case '1': c.showMenu1(); cout<<\选择对应数字进行操作:\ while(1) { cin>>i; system(\清除屏幕 c.showMenu1(); c.doMenu(i); c.showTip(); } case '2': c.showMenu(); cout<<\选择对应数字进行操作:\ while(1) { cin>>i; system(\清除屏幕 c.showMenu(); c.doMenu(i); c.showTip(); 19 理员 } case '3': c.showMenu2(); cout<<\选择对应数字进行操作:\ while(1) { cin>>i; system(\清除屏幕 c.showMenu1(); c.doMenu(i); c.showTip(); } default: cout<<\输入错误!\ } return 0; } 4.5本章小结 动态模型描述与操作时间和顺序有关的系统特征、影响更改的事件、事件的序列、事件的环境以及事件的组织。借助时序图、状态图和活动图,可以描述系统的动态模型。动态模型的每 个图均有助于理解系统的行为特征。对于开发人员来说,动态建模具有明确性、可视性和简易性的特点。 20