版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计说明书设计名称:计算机操作系统课程设计题目:操作系统命令接口设计学生姓名:张协鎏专业:计算机科学与技术班级:13计算机科学与技术2班学号:2013314209指导教师:任朝晖、曾凡智、黄营、周燕日期:2015年9月20日计算机科学与技术专业2013年级2班张协鎏设计题目操作系统命令接口设计目的和要求(1)本设计的目的是通过设计一些简单的操作系统的命令接口,使学生掌握操作系统接口的设计方法。(2)要求学生在熟悉操作系统的命令接口及程序接口的基础上,利用C语言设计简单的命令接口。命令接口基于DOS的命令行接口。设计内容利用C语言、DOS中断中21H与屏幕显示相关的中断调用完成设计,具体包括:命令解释器列目录命令显示时间命令显示日期命令回显字符串命令创建目录命令删除目录命令更改路径命令显示当前工作目录命令删除文件命令打印文本命令文件重新命名显示文本命令显示版本命令显示目录结构命令清除当前显示内容命令上述内容中,所有命令通过命令解释器能够执行,即启动命令解释器以后,输入相应命令,按照输入指令执行相应功能,并在屏幕上显示相应结果。voidfile(charfilename1[80],charfilename2[80]):文件重新命名功能,调用DOS中断21H的56H的文件改名命名命令;voidshowlist():显示当前工作目录功能,调用DOS中断21H的47H的显示当前工作目录命令;voidrewords():键盘输入字符并回显字符功能,调用DOS中断21H的09回显字符串的命令;clrscr():清除当前显示内容功能。2、程序调试运行结果分析开始运行功能选择界面输入功能号1显示当前系统时间,输入功能号2输出当前系统日期,输入功能号3输出当前系统DOS版本,输入功能号5创建目录,工作目录成功创建文件夹FILE输入功能号7文件改名,改名为NEWFILE,工作目录成功改名NEWFILE,输入功能号6删除NEWFILE文件夹成功,运行调试结果满足实验要求,退出程序,完成设计内容。三、程序设计总结体会通过连续两个星期的上机编程,我体会了从事C语言课程设计工作需要特别谨慎认真地态度和作风,一点都不能马虎。每个细微的细节都必须十分注意,如果不认真思考,就会出现或大或小的错误。如果把早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时会推倒很多前面做的工作。有时候,我自己觉得我写的程序非常正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间没有一点进展。这时候,我一般是先自己通过书本,手册和资料找解决办法,实在没辙才向老师同学请教。在开始编写程序的时候,我还不清楚DOS中断的知识,刚开始就在上网百度学习有关程序接口和中断调用相关知识,慢慢的开始知道怎么去调用DOS21H的功能号。回顾此次课程设计,至今我仍然很多感想,的确,自从拿到题目到完成整个编程,从理论到实践,这些日子里,可以学到很多很多的东西,同时不仅可以巩固以前所学的知识,而且学到了很多在书本上所没学到的知识,通过在这次课程设计使我懂得了理论知识与实践动手能力组合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 通过一段时间的课程设计,我明白了程序一定要要亲手做过,不管它是否有结果。你要学的是知识,是解决问题的方法和思想,要端正学习态度,一时的成败不足以论英雄,每一次突破都是一种收获,就是在这样的过程中我们才能不断提高。在从开始接到课程设计,再到报告的完成,每走一步都渗透着努力和汗水。在收获知识的同时收获快乐。对给过我帮助的所有同学和各位指导老师再次表示衷心的感谢!四、源代码<在TurboC3.0环境>#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<dos.h>#include<bios.h>#defineINTER0x21voidmenu(){ printf("0.Exit\n1.Displaycurrrenttime\n2.Displaycurrrentday\n"); printf("3.DisplaycurrrentMos-dos\n4.Deletefile\n5.Createcontents\n");printf("6.Deletecontents\n7.Filename\n8.Displaycurrrentlist\n"); printf("9.Echostring\n10.ReadingFile\n11.Clearscreen\n");}voidtime(){ unionREGSinregs,outregs;//定义中断信息结构体 structSREGSsegregs; inregs.h.ah=0x2C; int86x(INTER,&inregs,&outregs,&segregs); printf("Nowthetimeis:%d:%d,%d:%d\n",outregs.h.ch,outregs.h.cl,outregs.h.dh,outregs.h.dl); getchar();}voidday(){unionREGSinregs,outregs;//定义中断信息结构体 structSREGSsegregs; inregs.h.ah=0x2a; int86x(INTER,&inregs,&outregs,&segregs); printf("Nowthedayis:%d,%d,%d,Week:%d\n",outregs.x.cx,outregs.h.dh,outregs.h.dl,outregs.h.al); getchar();}voiddos(){unionREGSinregs,outregs;//定义中断信息结构体 structSREGSsegregs; inregs.h.ah=0x30; int86x(INTER,&inregs,&outregs,&segregs); printf("TheDOSversionofthismachineis:%d,%d,%d,%d:%d\n",outregs.h.al,outregs.h.ah,outregs.h.bh,outregs.h.ah,outregs.x.cx); getchar();}voidDeleteFile(charfilename[80]){ unionREGSinregs,outregs; structSREGSsegregs; inregs.h.ah=0x41;//DOS中断号41是删除文件 inregs.x.dx=FP_OFF(filename); segregs.ds=FP_SEG(filename); int86x(INTER,&inregs,&outregs,&segregs);if(02==outregs.x.ax)//02表示文件未找到 { printf("\nFILE%sisnotexist!\n",filename); } printf("\nTheFile:%shasbeendeletesuccessfully\n",filename);}voidCreatefile(charfilename[80]){unionREGSinregs,outregs; structSREGSsegregs; inregs.h.ah=0x39; inregs.x.dx=FP_OFF(filename); segregs.ds=FP_SEG(filename); int86x(INTER,&inregs,&outregs,&segregs); if(02==outregs.x.ax)//02表示文件为找到 { printf("\nFILE%sisnotexist!\n",filename); } printf("success!\n");}voidDeletefile(charfilename[80]){unionREGSinregs,outregs; structSREGSsegregs; inregs.h.ah=0x3A; inregs.x.dx=FP_OFF(filename); segregs.ds=FP_SEG(filename); int86x(INTER,&inregs,&outregs,&segregs); if(02==outregs.x.ax)//02表示文件为找到 { printf("\nFILE%sisnotexist!\n",filename); } printf("success!\n");}voidfile(charfilename1[80],charfilename2[80]){ unionREGSinregs,outregs; structSREGSsegregs; inregs.h.ah=0x56;//DOS中断号56是重命名文件 inregs.x.dx=FP_OFF(filename1); segregs.ds=FP_SEG(filename1); inregs.x.di=FP_OFF(filename2); segregs.es=FP_SEG(filename2); int86x(INTER,&inregs,&outregs,&segregs); if(outregs.x.ax==02) { printf("\nFILE%sisnotexist!\n",filename1); } printf("success!\n");}voidshowlist(){ charlist[80]; unionREGSreg; structSREGSsegreg; reg.h.ah=0x47; reg.h.dl=0; reg.x.si=FP_OFF(list); segreg.ds=FP_SEG(list); intdosx(®,®,&segreg); printf("Thecurrentworkingdirectoryis:%s\n",list);}voidrewords(){ unionREGSreg,reg1; structSREGSsreg; charword[200]; for(inti=0;i<200;i++) word[i]='$'; scanf("%s",&word); reg1.x.dx=FP_OFF(word); sreg.ds=FP_SEG(word); reg1.h.ah=0x09; int86x(INTER,®1,®1,&sreg); printf("\n");}voidReadFromFile(charfilename[80]){ unionREGSinregs,outregs; structSREGSsegregs; intresult; charReadContents[20]; inregs.h.ah=0x3D; inregs.x.dx=FP_OFF(filename); segregs.ds=FP_SEG(filename); inregs.h.al=2; intdosx(&inregs,&outregs,&segregs); result=outregs.x.ax; if(2==result) { printf("\nCannotreadcontentsfromfile:%s!Thefilemaynotexist\n",filename); } else { inregs.x.bx=result; inregs.h.ah=0x3F; inregs.x.dx=FP_OFF(ReadContents); segregs.ds=FP_SEG(ReadContents); inregs.x.cx=20; intdosx(&inregs,&outregs,&segregs); printf("%sfilebytenumber:%d\n",filename,outregs.x.ax); printf("%scontentsis:",filename); for(inti=0;i<outregs.x.ax;i++) { printf("%c",ReadContents[i]); } printf("\n"); }}intmain(){ charDeleteFileName[80]; charReadingFileName[80]; charfile1[80],file2[80]; inta; do { menu(); scanf("%d",&a); switch(a) { case1: time(); break; case2: day(); break; case3: dos(); break; case4: printf("\nInputthenameofexistingfiletodelete:"); scanf("%s",&DeleteFileName);DeleteFile(DeleteFileName); break; c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第1课时 1000以内数的认识
- 第2章 一元二次方程(单元自测-拔尖卷)(解析版)
- 2026资源共享面试题及答案
- 2026年一建市政实务考前密押通关试卷及答案
- 2026年一建民航实务考前仿真测评冲刺试卷及答案
- 2026年一建矿业实务考前高分冲刺通关试卷及答案
- 2026年一建经济考前摸底测评试卷及答案
- 2026儿童旅行证面试题及答案
- 2026高架桥噪音面试题及答案
- 2026购物车支付面试题及答案
- 餐饮服务质量与卫生标准
- 创新创业大赛赛前辅导
- 人教版八年级下册英语:期末学情调研测试卷(含答案)
- DB41T 2415-2023 高标准农田 建设项目验收规程
- 签订承诺防诈骗协议书范文模板
- HG/T 6270-2024 防雾涂料(正式版)
- 圆度、圆柱度测量仪检定规程
- DB32T4036-2021中小学食堂管理服务规范
- 机械制图标注规范课件
- 企业员工halal清真培训
- 高中毕业生登记表填写样表(四川版)
评论
0/150
提交评论