会议记录管理系统课设报告.docx
- 文档编号:11215575
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:31
- 大小:612.51KB
会议记录管理系统课设报告.docx
《会议记录管理系统课设报告.docx》由会员分享,可在线阅读,更多相关《会议记录管理系统课设报告.docx(31页珍藏版)》请在冰豆网上搜索。
会议记录管理系统课设报告
1题目容及设计要求1
2总体设计1
2.1总体功能框图1
2.2类的设计说明1
2.3主要算法流程图1
3程序清单及注释1
4运行结果与分析1
5总结2
6参考文献2
1题目容及设计要求
题目:
会议记录管理系统
容:
定义会议信息类classConference
会议信息包括:
会议编号,会议名称、部门名称、会议地点,会议日期,会议主持人,
会议记录人,出席人员,会议摘要。
会议信息以二进制形式存储在文件中。
(1)添加会议记录
(2)浏览所有会议记录信息
(3)按不同字段(会议编号,会议名称等)查询会议记录
(4)修改会议记录
(5)删除会议记录
2总体设计
2.1总体功能框图
图2-1总体功能框图
2.2类的设计说明
定义类为struckMeetinglist
使用Struck不仅可用于C++也可兼容于C上。
而且struct可直接默认所有属性和方法为public。
voidAdd(fstream)//添加会议记录
voidmodification(fstream);//修改会议记录
voidDelete(fstream);//删除会议记录
voidInquire(fstream);//按不同字段(会议编号)查询会议记录和浏览所
有会议记录信息
2.3主要算法流程图
图2-2主算法流程图
输入会议记录人
图2-3添加会议算法流程图
Y
N
图2-3修改会议算法流程图
Y
N
Y
N
图2-4删除会议算法流程图
N
Y
图2-5按不同字段(会议编号)
查询会议记录和浏览所
有会议记录信息
3程序清单及注释
#include
#include
#include
#include
structMeetinglist//定义类Meetinglist
{
charname[10];
charnumber[50];
chardepartment[40];
charaddress[40];
chartime[15];
charmoderator[20];
charrecoder[15];
charpresentmembers[300];
chardigest[500];
};
voidAdd(fstream);//添加会议记录
voidmodification(fstream);//修改会议记录
voidDelete(fstream);//删除会议记录
voidInquire(fstream);//按不同字段(会议编号)查询会议记录和浏
览所有会议记录信息
voidmain()
{intchoice;
fstreamfield("F:
\\aaa.dat",ios:
:
in|ios:
:
out|ios:
:
binary);
if(!
field)
{cerr<<"文件不能打开"< return; } while(choice) {cout<<"**会议记录管理系统**\n"; cout<<"1.添加会议记录: \n" <<"2.修改会议记录: \n" <<"3.删除会议记录: \n" <<"4.按不同字段(会议编号)查询会议记录和浏览所有会议记录信息: \n" <<"0.退出! \n"; do { cin>>choice; } while(choice! =0&&choice! =1&&choice! =2&&choice! =3&&choice! =4&&choice! =5); switch(choice) { case1: Add(field);break; case2: modification(field);break; case3: Delete(field);break; case4: Inquire(field);break; case0: cout<<"退出系统! \n";return; default: cout<<"输入错误,请重新输入\n"; } } field.close(); } voidAdd(fstreamf) { Meetinglistlist; cout<<"请输入会议名称: \n"; cin>>list.name; cout<<"请输入会议编号(3位): \n"; cin>>list.number; cout<<"請输入部门名称: \n"; cin>>list.department; cout<<"请输入会议地点: \n"; cin>>list.address; cout<<"请输入会议日期: \n"; cin>>list.time; cout<<"请输入会议主持人: \n"; cin>>list.moderator; cout<<"请输入会议记录人: \n"; cin>>list.recoder; cout<<"请输入出席人员: \n"; cin>>list.presentmembers; cout<<"请输入会议摘要: \n"; cin>>list.digest; f.write((char*)&list,sizeof(Meetinglist)); } voidmodification(fstreamf) { MeetinglistList; inta=0; intm=0; intchoice; charnum[50]; charinformation[50]; f.seekg(0,ios: : end); longposEnd=f.tellg(); f.seekg(0,ios: : beg); cout<<"*请输入要修改会议记录的编号: *\n"; cin>>num; do { f.read((char*)&List,sizeof(Meetinglist)); for(inti=0;i<50;i++) { if(num[i]==List.number[i]) m++; if(num[i]! =List.number[i]) { m=0; break; } } } while(m! =50&&posEnd! =f.tellg()); if(m<=50) cout<<"*找到这个会议*\n" <<"1.修改会议名称: \n" <<"2.修改会议编号: \n" <<"3.修改部门名称: \n" <<"4.修改会议地点: \n" <<"5.修改会议日期: \n" <<"6.修改会议主持人: \n" <<"7.修改会议记录人: \n" <<"8.修改出席人员: \n" <<"9.修改会议摘要: \n" <<"0.退出: \n"; if(m! =50) { cout<<"*没有这个会议*! \n"; return; } while(choice) { do { cin>>choice; } while(choice! =1&&choice! =2&&choice! =3&&choice! =4&&choice! =5&& choice! =6&&choice! =7&&choice! =8&&choice! =9&&choice! =0); switch(choice) { case1: cin>>information; for(a=0;a List.name[a]=information[a]; f.seekp(-long(sizeof(Meetinglist)),ios: : cur); f.write((char*)&List,sizeof(List)); return; case2: cin>>information; for(a=0;a List.number[a]=information[a]; f.seekp(-long(sizeof(Meetinglist)),ios: : cur); f.write((char*)&List,sizeof(List)); return; case3: cin>>information; for(a=0;a List.department[a]=information[a]; f.seekp(-long(sizeof(Meetinglist)),ios: : cur); f.write((char*)&List,sizeof(List)); return; case4: cin>>information; for(a=0;a List.address[a]=information[a]; f.seekp(-long(sizeof(Meetinglist)),ios: : cur); f.write((char*)&List,sizeof(List)); return; case5: cin>>information; for(a=0;a List.time[a]=information[a]; f.seekp(-long(sizeof(Meetinglist)),ios: : cur); f.write((char*)&List,sizeof(List)); return; case6: cin>>information; for(a=0;a List.moderator[a]=information[a]; f.seekp(-long(sizeof(Meetinglist)),ios: : cur); f.write((char*)&List,sizeof(List)); return; case7: cin>>information; for(a=0;a List.recoder[a]=information[a]; f.seekp(-long(sizeof(Meetinglist)),ios: : cur); f.write((char*)&List,sizeof(List)); return; case8: cin>>information; for(a=0;a List.presentmembers[a]=information[a]; f.seekp(-long(sizeof(Meetinglist)),ios: : cur); f.write((char*)&List,sizeof(List)); return; case9: cin>>information; for(a=0;a List.digest[a]=information[a]; f.seekp(-long(sizeof(Meetinglist)),ios: : cur); f.write((char*)&List,sizeof(List)); return; case0: cout<<"退出! \n";return; } } } voidDelete(fstreamf) { Meetinglistlist; intm=0; chara; charnum[50]; charFill[80]={''}; cout<<"*请输入要删除的会议的编号Y/N: *"< cin>>num; f.seekg(0,ios: : end); longposEnd=f.tellg(); f.seekg(0,ios: : beg); do { f.read((char*)&list,sizeof(Meetinglist)); for(inti=0;i<50;i++) { if(num[i]==list.number[i]) m++; if(num[i]! =list.number[i]) { m=0; break; } } } while(m! =50&&posEnd! =f.tellg()); if(m<=50) cout<<"*找到这个会议*\n"; if(m! =50) { cout<<"*没有这个会议! *\n"; return; } cout<<"*确定删除这个会议? *"< do { cin>>a; } while(a! ='Y'&&a! ='N'&&a! ='y'&&a! ='n'); if(a=='Y'||a=='y') { for(inti=0;i { list.name[i]=Fill[i]; } for(i=0;i { list.number[i]=Fill[i]; } for(i=0;i { list.department[i]=Fill[i]; } for(i=0;i { list.address[i]=Fill[i]; } for(i=0;i { list.time[i]=Fill[i]; } for(i=0;i { list.moderator[i]=Fill[i]; } for(i=0;i { list.recoder[i]=Fill[i]; } for(i=0;i { list.presentmembers[i]=Fill[i]; } for(i=0;i { list.digest[i]=Fill[i]; } f.seekp(-long(sizeof(Meetinglist)),ios: : cur); f.write((char*)&list,sizeof(list)); return; } if(a=='N'||a=='n') return; } voidInquire(fstreamf) {intchoice; Meetinglistlist; charnum[50]; f.seekg(0,ios: : end); longposEnd=f.tellg(); cout<<"**查询会议资料**\n"; while (1) {cout<<"请输入操作选项\n" <<"1: 按会议编号查询\t" <<"2: 浏览\t" <<"0: 退出\n"; cin>>choice; switch(choice) {case1: {f.seekg(0,ios: : beg); cout<<"会议编号: \n"; cin>>num; do {f.read((char*)&list,sizeof(Meetinglist)); }while(list.number! =num&&f.tellg()! =posEnd); if(list.number==num) cout< < < < < < < < < else {cout<<"*会议编号输入错误*\n"; continue; } break; } case2: {f.seekg(0,ios: : beg); do {f.read((char*)&list,sizeof(Meetinglist)); cout< < < < < < < < < } while(list.number! =num&&f.tellg()! =posEnd); break; } case0: return; } } } 4运行结果与分析 图4-1运行结果图(添加会议) 图4-2运行结果图(按编号查询会议) 通过会议编号查询编号为2的会议 将编号为2的会议中会议日期从2013.5.25改为2013.6.20 通过编号查询编号为2的会议记录 图4-3、4、5运行结果图(修改会议记录) 图4-6运行结果图(浏览所有会议记录) 图4-7运行结果图(删除编号为2的会议记录) 5总结 (课程设计过程中出现的问题及其解决方案,可扩充的功能及设计等。 ) 6参考文献 [1]爱华,程磊著.面向对象程序设计(C++语言).: 清华大学,2010 [2]振安,燕君著.C++程序设计课程设计.: 机械工业,2004 [3]谭浩强著.C++程序设计实践指导.: 清华大学,2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 会议记录 管理 系统 报告