会议记录管理系统课设报告.docx

上传人:b****3 文档编号:26462298 上传时间:2023-06-19 格式:DOCX 页数:30 大小:612.67KB
下载 相关 举报
会议记录管理系统课设报告.docx_第1页
第1页 / 共30页
会议记录管理系统课设报告.docx_第2页
第2页 / 共30页
会议记录管理系统课设报告.docx_第3页
第3页 / 共30页
会议记录管理系统课设报告.docx_第4页
第4页 / 共30页
会议记录管理系统课设报告.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

会议记录管理系统课设报告.docx

《会议记录管理系统课设报告.docx》由会员分享,可在线阅读,更多相关《会议记录管理系统课设报告.docx(30页珍藏版)》请在冰豆网上搜索。

会议记录管理系统课设报告.docx

会议记录管理系统课设报告

 

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1