会议记录管理系统课设报告.docx
《会议记录管理系统课设报告.docx》由会员分享,可在线阅读,更多相关《会议记录管理系统课设报告.docx(25页珍藏版)》请在冰豆网上搜索。
会议记录管理系统课设报告
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;aList.name[a]=information[a];
f.seekp(-long(sizeof(Meetinglist)),ios:
:
cur);
f.write((char*)&List,sizeof(List));
return;
case2:
cin>>information;
for(a=0;aList.number[a]=information[a];
f.seekp(-long(sizeof(Meetinglist)),ios:
:
cur);
f.write((char*)&List,sizeof(List));
return;
case3:
cin>>information;
for(a=0;aList.department[a]=information[a];
f.seekp(-long(sizeof(Meetinglist)),ios:
:
cur);
f.write((char*)&List,sizeof(List));
return;
case4:
cin>>information;
for(a=0;aList.address[a]=information[a];
f.seekp(-long(sizeof(Meetinglist)),ios:
:
cur);
f.write((char*)&List,sizeof(List));
return;
case5:
cin>>information;
for(a=0;aList.time[a]=information[a];
f.seekp(-long(sizeof(Meetinglist)),ios:
:
cur);
f.write((char*)&List,s