计算机操作系统课程设计_第1页
计算机操作系统课程设计_第2页
计算机操作系统课程设计_第3页
计算机操作系统课程设计_第4页
计算机操作系统课程设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计报告课程名称计算机操作系统学科名称车辆数量统计系统一、设计内容及设计要求一、课程设计的目的充分熟悉和掌握计算机系统和系统软件的基本知识,增强运用不同问题的能力,灵活选择合适的数据结构来描述算法,熟悉程序的编译和调试技巧,掌握几种行之有效的分析方法提高实践能力,增强面向对象编程的概念,熟悉C+语言编程,养成提供文档的习惯和常规编程的思想,打下扎实的基础用于后续课程的实验和课程设计。进一步提高动手能力,培养使用计算机解决实际问题的能力,为后续课程(数据结构、数据库和JAVAC#语言编程课程)的实验和课程设计打下坚实的基础,尤其是自学学习和完成毕业论文的基础知识。2.项目标的三个计数器计算通

2、过高速公路的汽车数量。三个计数器不能重复计数,独立工作。工作人员从柜台取号码。外卖时高速公路关闭,柜台不计算在内。当柜台没有号码时,工作人员无法获取数据。三、设计要求:主要模块:1.计数器统计过程具有以下功能:1.计数器统计计数 2.统计计数互斥 3.统计计数冲突错误 4.友情提示 5.退出系统2. 工作人员收集数据具有以下功能:1.友情提示 2.员工取数据 3.取数据为零时出错 4.取数据时冲突计数失败 5.退出系统要求:1)设计正确,方案合理。2)界面友好,易于使用。3) 程序细化,结构清晰。4) 设计报告5000字以上,包括程序设计说明、系统功能框图、流程图、源程序列表等。5)实际运行过

3、程中遇到的问题及解决方法:设计总结和经验。6)上机演示。2. 时间表第 19 周 周二晚 18:00-22:00周四晚 18:00-22:00周五 8:00-12:00 下午 13:00-17:00 下午第 20 周 周一 8:00 am-12:00 am周二下午 14:00-18:00目录 TOC o 1-3 h z u HYPERLINK l _Toc328495758 1系统需求分析 PAGEREF _Toc328495758 h 1 HYPERLINK l _Toc328495759 2整体设计 PAGEREF _Toc328495759 h 1 HYPERLINK l _Toc328

4、495760 2.1总体设计图 PAGEREF _Toc328495760 h 1 HYPERLINK l _Toc328495761 2.2系统各功能模块 PAGEREF _Toc328495761 h 2 HYPERLINK l _Toc328495762 3详细设计 PAGEREF _Toc328495762 h 2 HYPERLINK l _Toc328495763 3.1各模块的详细设计 PAGEREF _Toc328495763 h 2 HYPERLINK l _Toc328495764 3.2函数之间的调用关系 PAGEREF _Toc328495764 h 5 HYPERLIN

5、K l _Toc328495765 4程序调试中的问题 PAGEREF _Toc328495765 h 5 HYPERLINK l _Toc328495766 5运行结果 PAGEREF _Toc328495766 h 7 HYPERLINK l _Toc328495767 5.1初始界面 PAGEREF _Toc328495767 h 7 HYPERLINK l _Toc328495768 5.2计数统计界面 PAGEREF _Toc328495768 h 7 HYPERLINK l _Toc328495769 5.3进入柜台的车辆数量 PAGEREF _Toc328495769 h 8 H

6、YPERLINK l _Toc328495770 5.4结束计数作业 PAGEREF _Toc328495770 h 8 HYPERLINK l _Toc328495771 5.5获取车辆数量界面 PAGEREF _Toc328495771 h 9 HYPERLINK l _Toc328495772 5.6显示车辆数量 PAGEREF _Toc328495772 h 10 HYPERLINK l _Toc328495773 5.7退出采集界面 PAGEREF _Toc328495773 h 10 HYPERLINK l _Toc328495774 5.8友情提示 PAGEREF _Toc328

7、495774 h 11 HYPERLINK l _Toc328495775 5.9系统错误 PAGEREF _Toc328495775 h 11 HYPERLINK l _Toc328495776 6经验 PAGEREF _Toc328495776 h 13 HYPERLINK l _Toc328495777 7附录 PAGEREF _Toc328495777 h 14 HYPERLINK l _Toc328495778 7.1源代码 PAGEREF _Toc328495778 h 14 HYPERLINK l _Toc328495779 7.2参考文献 PAGEREF _Toc3284957

8、79 h 19 HYPERLINK l _Toc328495780 8成绩单 PAGEREF _Toc328495780 h 201 系统需求分析使用C+语言和相关知识设计开发了高速公路车辆统计系统,三个计数器统计通过高速公路的车辆数量,三个计数器不能重复计数,独立工作。工作人员从柜台取号码。外卖时高速公路关闭,柜台不计算在内。当柜台没有号码时,工作人员无法获取数据。2 整体设计2.1 总体设计图如图2-1所示:主函数主函数统计数据退出菜单输入数据获取数据计算数据友好提示退出菜单友好提示图 2-1 总体设计图2.2 系统各功能模块int tishi() :提示用户操作事务;int shuru(

9、int a,int b,int c,int &x) :车辆数据信息的入口;void tuichu(int &g) : 退出统计界面;int tongji(int a,int b,int c,int &g,int &m) :统计车辆数量;void tuichu1(int &g) : 退出数据采集界面;int jisuan(int &g,int k) :计算车辆数量进行统计;void huoqu(int &g,int k) :工作人员取出数据;int main() : 主函数。3详细设计3.1 各模块的详细设计(1) 统计车辆数量用户选择需要的操作,在该界面选择序号1,进行统计计数工作。int t

10、ongji(int a,int b,int c,int &g,int &m)系统(“cls”);诠释 x=0,k=0;g=1;而(x!=3)cout=计数器统计过程=endl;cout1,计数器统计计数endl;cout2、友好提示endl;cout3, 退出endl;cout= x;开关(x)案例1:k=shuru(a,b,c,m);break;案例 2:tishi();break;案例3:tuichu(g);break;default:cout输入错误!endl;返回 k;(2)友情提示方便用户查询必要的操作注意事项,避免不必要的错误。int tishi()系统(“cls”);诠释我=1;

11、而(我!= 0)系统(“cls”);cout1.在统计过程中,无法进行取数据过程,必须先关闭统计过程,才能进行取数据过程endl;cout2.取数据过程中,不能进行统计统计过程,必须先关闭数据过程,才能进行统计统计过程endl;cout3.当计数器没有数字时,工作人员无法取数据endl;cout4.三个计数器不能重复计数endl;cout5.系统初始状态为统计计数状态endlendlendl;cout请输入0返回我;返回0;(3) 退出统计菜单计数器统计过程中,用户选择序号3退出统计和计数菜单,以便选择继续其他操作。void tuichu(int &g)系统(“cls”);int i=0,*g

12、1=&g;cout*退出界面*endl;cout1.返回上一界面endl;cout2.退出统计过程我;如果(我=2)*g1=0;(4) 得到用户可以获得上一次统计车辆数量的结果。void huoqu(int &g,int k)如果(g=1)cout统计计数冲突错误endl;别的几算(g,k);(5) 计算车辆数量用户在该界面选择序列号1进行取指操作,系统将相应上报结果。int jisuan(int &g,int k)系统(“cls”);诠释 j=0,l=0;g=2;而(j!=3)cout= 员工取数据=endl;cout1、员工获取数据endl;cout2、友好提示endl;cout3, 退出

13、endl;cout= =j;开关(j)case 1:if(k=0)cout获取数据为零并报错endl;else l=k;cout汽车数量为:l结束;打破;案例 2:tishi();break;案例3:tuichu1(g);break;default:cout输入错误!endl;返回 l;(6) 退出计算在工作人员取数据的界面,用户选择序号3退出,停止统计车辆数量。void tuichu1(int &g)系统(“cls”);int i=0,*g2=&g;cout*退出界面*endl;cout1.上一个界面endl;cout2.退出数据获取过程我;如果(我=2)*g2=0;3.2 函数之间的调用关

14、系如图 3-1 所示:main()main()tongji(int tongji(int a,int b,int c,int &g,int &m)huoqu(int &g,int k)tuichu()jisuan(int &g,int k)tuichu()jisuan(int &g,int k)shuru(int a,int b,int c,int &x)tishi()shuru(int a,int b,int c,int &x)tishi()tishi()tishi()tuichu1()tuichu1()图3-1 各函数调用关系4 程序调试中的问题(1)初始化函数BOOL CLendOutD

15、lg:OnInitDialog()在程序设计之初并没有加入到程序中,所以在输入阅读器代码和书籍代码后,信息保存在BORROW表中,而这个函数是添加。(2)程序中原本有两个CLendOutDlg:OnCONFIRM()函数,其中一个为空,但删除后会报错。在Dialog的IDD_LENDOUT中找到“Create Class Wizard”,将对话框按钮和对话框按钮删除。一个具有不同名称的就足够了。(3) 如果没有UpdateData(FALSE);更新数据(真);在CLendOutDlg:OnCONFIRM()函数中,会发生错误。老师帮助发现错误后,添加,使程序正常运行。(4) CLendOut

16、Dlg:OnCancel()函数只需要一个语句,开头就用到了很多其他函数,如:DisplayRecord();SetButtonState();SetTextState();但是会出现没有定义等错误,因为头文件中根本没有这些函数的定义,所以会出现这个错误。(5) 在消息映射函数中,每个空格和按钮应该只对应一组ON_BN_CLICKED (IDC_XX , XX ) ,并且我的程序全部编译后,IDC_后面是BUTTON。虽然很乱,但程序运行时没有错误或警告,所以我删除了所有 BUTTON;当我再次运行它时,发生了错误。错误原因及解决方法: 原因是在绘制的“借书”界面上,阅读器条码和图书代码属性中

17、的标题没有改变。当界面上的所有空格和按钮属性全部更改为对应时, ON_BN_CLICKED(IDC_XX ,XX )只有一组,运行无误。(6) 在结束模块的框图开头,按“确定”和“取消”按钮不会连接到程序,以后可以在ClassWizard中添加。然后双击出现的按钮。(7) 读者代码、书籍代码应定义为数字,否则会识别输入的字符和特殊符号,不符合实际情况。开头没有初始化函数BOOL CLendOutDlg:OnInitDialog() ,这样输入读者码和书码后,BORROW表中就没有这个信息了,加了这个函数。(9)程序中有两个confirm函数,其中一个是空函数,但删除后出现错误。找到后,从“创建

18、类向导”中删除一个。更新数据(假);更新数据(真);在确认功能中,会发生错误。老师帮助找出错误后,添加。(11) 取消函数只需要一句话CDialog:OnCancel() ;一开始我用了很多其他的函数,比如: DisplayRecord();SetButtonState();SetTextState();但是会出现没有定义等错误,因为头文件中没有这样的函数,所以会出现这样的错误。5运行结果5.1 初始界面图 5-1 初始化界面5.2 计数统计界面图 5-2 统计界面5.3 进入柜台的车辆数量图 5-3 车辆数量输入界面5.4 结束计数工作图 5-4 结束扫描图 5-5 退出计数界面5.5 获取

19、车辆数量界面图 5-6 获取界面5.6 显示车辆数量图 5-7 统计结果5.7 退出采集界面图 5-8 退出界面5.8 友情提示图5-9 友好提示界面5.9 系统错误图 5-10 选择计数器错误图 5-11 统计计数互斥图 5-12 冲突错误报告图 5-13 获取数据时的错误信息图 5-14 选择错误6 经验与大一相比,今年的课程设计没有那么仓促。可能是我经历过几次,已经很熟悉了。回想从一下刚从老师那里拿到题目的时候,我并没有太大的压力,因为我觉得利用所学的基础知识,参考一些文献,基本可以拿下这门课。就像人家说的“说的比做的容易” ,仔细想了想题目之后,我大致写下了程序中会用到的结构和需要的功

20、能,写完整个程序的时候调查了一下,没有很多错误。同类型的有两三个,还有一些低级的错误没犯过,比如分号少。这是因为我已经扎实地学习了C语言。程序可以运行,但运行结构不尽如人意。我检查了整个程序,找不到原因。这个问题给了我很大的打击,我一直在想下一次,最后发现我不知道从哪里开始。因此,我对前两个课程设计感到困惑和失望。我不知道什么类型的定义可以输出所有这些信息,以及如何实现这些功能。参考了一些文献后,我重新编写并修改了程序,结果终于正确了。那种喜悦真是难以言喻。真的是每一次努力的回报!通过这次课程设计,我发现了我在这门课程中还存在的一些漏洞和不足。我没有完全掌握所学的课程,同时也弥补了自己的一些漏

21、洞和不足。当然,老师和同学的耐心和帮助也是不可或缺的一部分。我也明白,要成功地写出更精炼的程序并实现其特定功能并不是一件容易的事,需要更多的努力和更多的时间,只有耐心和永不气馁的精神才能成功。更重要的是,我意识到,最好不要半信半疑,不要留下疑惑,而是要充分了解一切。同时,我深刻体会到团队的力量是强大的,团队精神对于高效完成任务至关重要。总而言之,这次课程设计让我受益匪浅。7 附录7.1 源代码#include#include#include使用命名空间标准;int tishi()系统(“cls”);诠释我=1;而(我!= 0)系统(“cls”);cout1.在统计过程中,无法进行取数据过程,必

22、须先关闭统计过程,才能进行取数据过程endl;cout2.取数据的过程中,不能进行统计统计过程,必须先关闭数据过程才能进行统计统计过程endl;cout3.当计数器没有数字时,工作人员无法取数据endl;cout4.三个计数器不能重复计数endl;cout5.系统初始状态为统计计数状态endlendlendl;cout请输入0返回我;返回0;int shuru(int a,int b,int c,int &x)系统(“cls”);int 静态 *p1=a,*p2=b,*p3=c;int h,j,i=0;字符 k1=y;而(k1=Y|k1=y)cout请选择计数器编号(1,2,3)小时;如果(h

23、!=1&h!=2&h!=3)cout输入错误!请重新输入。endl;continue;如果(h=1)cout请输入车辆序列号j;对于(p2=b;p2b+100;p2+)如果(*p2=j)休息;对于(p3=c;p3c+100;p3+)如果(*p3=j)休息;如果(p2=(b+100)|p3=(c+100)*p1=j;p1+;x+;别的cout统计计数互斥endl;否则如果(h=2)cout请输入车辆序列号j;for(p1=a;p1a+100;p1+)如果(*p1=j)休息;对于(p3=c;p3c+100;p3+)如果(*p3=j)休息;如果(p1=(a+100)|p3=(c+100)*p2=j;

24、p2+;x+;别的cout统计计数互斥endl;别的cout请输入车辆序列号j;for(p1=a;p1a+100;p1+)如果(*p1=j)休息;对于(p2=b;p2b+100;p2+)如果(*p2=j)休息;如果(p2=(b+100)|p3=(c+100)*p3=j;p3+;x+;别的cout统计计数互斥endl;cout继续扫描车辆?(Y OR N)k1;返回 x;void tuichu(int &g)系统(“cls”);int i=0,*g1=&g;cout*退出界面*endl;cout1.返回上一界面endl;cout2.退出统计过程我;如果(我=2)*g1=0;int tongji(int a,int b,int c,int &g,int &m)系统(“cls”);诠释 x=0,k=0;g=1;而(x!=3)cout=计数器统计过程=endl;cout1,计数器统计计数endl;cout2、友好提示endl;cout3, 退出endl;cout= =x;开关(x)案例1:k=shuru(a,b,c,m);break;案例 2:tishi();break;案例3:tuichu(g);break;default:cout输入错误!endl;返回 k;void tuichu1(int &g)系统(“cls”);int i=0,*g2=&g;cout*退出界面*end

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论