这是我大一时的课程设计报告,当时经过老师指点并且获得了优95分的成绩。
里面有我完整的报告内容。
用c语言设计一个简单的计算器,要求能够对输入的数(1)进行+,-,*,/,运算;
(2)可以带括号();
(3)不限定运算式的输入长度,(要求:1.源文件采用多文件的工程结构2.采用面向工程方法设计3.功能完善,适当的注释)
2023/8/16 5:37:43 172KB c语言 课程设计 计算器
1
把关键字、算符、界符称为语言固有的单词,标识符、常量称为用户自定义的单词。
为此设置三个全程量:SYM,ID,NUM。
SYM:存放每个单词的类别,为内部编码的表示形式。
ID:存放用户所定义的标识符的值,即标识符字符串的机内表示。
NUM:存放用户定义的数。
GETSYM要完成的任务:1. 滤掉单词间的空格。
2. 识别关键字,用查关键字表的方法识别。
当单词是关键字时,将对应的类别放在SYM中。
如IF的类别为IFSYM,THEN的类别为THENSYM。
3. 识别标识符,标识符的类别为IDENT,IDRNT放在SYM中,标识符本身的值放在ID中。
关键字或标识符的最大长度是10。
4. 拼数,将数的类别NUMBER放在SYM中,数本身的值放在NUM中。
5. 拼由两个字符组成的运算符,如:>=、<=等等,识别后将类别存放在SYM中。
6. 打印源程序,边读入字符边打印。
由于一个单词是由一个或多个字符组成的,所以在词法分析程序GETSYM中定义一个读字符过程GETCH。
2023/8/13 6:20:38 4KB 编译原理 词法分析
1
猜单词游戏程序设计报告;
(1)单词管理:程序中用来做谜题的单词必须存放在磁盘文件中,文件中的单词数不得少于200个。
(2)玩家纪录:程序要求记录前五名成绩。
成绩指标自行设计,必须包括时间。
记录的时候要求有排名、玩家姓名、成绩三项,并保存在文件中。
在程序开始运行的时候就必须读入,以便随时供玩家查询、及时更新成绩。
(3)猜词过程:①先请用户输入猜的单词数量,可以有一个默认值。
②随机抽取单词,对每个单词,系统根据谜底单词长度在屏幕上显示相应个数'-',假设谜底单词为"hello",则在屏幕上输出"-----"。
③玩家输入一个字母进行猜测,如果这个字母不在单词中,系统提示玩家不对;
如果猜对字母,比如玩家输入了一个'l',则在屏幕上输出"--ll-"。
④重复③,直到玩家在规定的次数内猜出了单词或者超过次数游戏失败。
⑤显示玩家每个单词猜对与猜错次数等统计信息。
如果玩家猜出单词,计算成绩,如进入前五名提示玩家并记录存储到记录文件中。
⑥询问玩家是否开始新一轮猜词,如果玩家选“否”,则系统退到外面的菜单。
(4)系统设置:猜词次数可以为默认值。
玩的时候,可以对其进行修改。
2023/8/12 20:01:04 241KB 猜单词
1
进程间通信设计题目要求:消息的创建,发送和接收。
设计思路:使用系统调用msgget(),msgsnd(),msgrcv()及msgctl()编制一长度为1K的消息的发送和接收程序。
(站在巨人的肩膀上)
2023/8/12 5:46:48 705B msgctl() msgrcv() msgget()
1
文件包括详尽的rs编译码程序,并且可以根据需要改变rs编码的长度,下载即可用!!
2023/8/12 2:29:30 10KB matlab rs码
1
最近有项目要做一个高性能网络服务器,去网络上搜到到的都是C++版本而且是英文或者简单的DEMO,所以自己动手写了C#的DEMO。
网络上只写接收到的数据,没有说怎么处理缓冲区数据,本DEMO简单的介绍如何处理接收到的数据。
简单易用,希望对大家有用.1、在C#中,不用去面对完成端口的操作系统内核对象,Microsoft已经为我们提供了SocketAsyncEventArgs类,它封装了IOCP的使用。
请参考:http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socketasynceventargs.aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1。
2、我的SocketAsyncEventArgsPool类使用List对象来存储对客户端来通信的SocketAsyncEventArgs对象,它相当于直接使用内核对象时的IoContext。
我这样设计比用堆栈来实现的好处理是,我可以在SocketAsyncEventArgsPool池中找到任何一个与服务器连接的客户,主动向它发信息。
而用堆栈来实现的话,要主动给客户发信息,则还要设计一个结构来存储已连接上服务器的客户。
3、对每一个客户端不管还发送还是接收,我使用同一个SocketAsyncEventArgs对象,对每一个客户端来说,通信是同步进行的,也就是说服务器高度保证同一个客户连接上要么在投递发送请求,并等待;
或者是在投递接收请求,等待中。
本例只做echo服务器,还未考虑由服务器主动向客户发送信息。
4、SocketAsyncEventArgs的UserToken被直接设定为被接受的客户端Socket。
5、没有使用BufferManager类,因为我在初始化时给每一个SocketAsyncEventArgsPool中的对象分配一个缓冲区,发送时使用Arrary.Copy来进行字符拷贝,不去改变缓冲区的位置,只改变使用的长度,因此在下次投递接收请求时恢复缓冲区长度就可以了!如果要主动给客户发信息的话,可以new一个SocketAsyncEventArgs对象,或者在初始化中建立几个来专门用于主动发送信息,因为这种需求一般是进行信息群发,建立一个对象可以用于很多次信息发送,总体来看,这种花销不大,还减去了字符拷贝和消耗。
6、测试结果:(在我的笔记本上时行的,我的本本是T420I78G内存)100客户100,000(十万次)不间断的发送接收数据(发送和接收之间没有Sleep,就一个一循环,不断的发送与接收)耗时3004.6325秒完成总共10,000,000一千万次访问平均每分完成199,691.6次发送与接收平均每秒完成3,328.2次发送与接收整个运行过程中,内存消耗在开始两三分种后就保持稳定不再增涨。
看了一下对每个客户端的延迟最多不超过2秒。
2023/8/10 0:44:45 64KB C# IOCP TCP 完成端口
1
1概述文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NANDFlash的固态硬盘)或分区上的文件的方法和数据结构;
即在存储设备上组织文件的方法。
操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。
从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。
具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
本次实验我们实现了多级目录下的文件管理系统,具备文件系统的文件创建、删除、读写以及目录的创建、删除等操作,并在内存中开辟一块空间,模拟虚拟磁盘,成功地展示出文件系统的功能和属性。
2课程设计的任务和要求2.1设计任务在下列内容中任选其一:1、多用户、多级目录结构文件系统的设计与实现;
2、WDM驱动程序开发;
3、存储管理系统的实现,主要包括虚拟存储管理调页、缺页统计等;
4、进程管理系统的实现,包括进程的创建、调度、通信、撤消等功能;
5、自选一个感兴趣的与操作系统有关的问题加以实现,要求难度相当。
2.2设计要求1、在深入理解操作系统基本原理的基础上,对于选定的题目,以小组为单位,先确定设计方案;
2、设计系统的数据结构和程序结构,设计每个模块的处理流程。
要求设计合理;
3、编程序实现系统,要求实现可视化的运行界面,界面应清楚地反映出系统的运行结果;
4、确定测试方案,选择测试用例,对系统进行测试;
5、运行系统并要通过验收,讲解运行结果,说明系统的特色和创新之处,并回答指导教师的提问;
6、提交课程设计报告。
集体要求:1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。
2.文件物理结构可采用显式链接或其他方法。
3.磁盘空闲空间的管理可选择位示图或其他方法。
如果采用位示图来管理文件存储空间,并采用显式链接分配方式,则可以将位示图合并到FAT中。
4.文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。
目录组织方式可以不使用索引结点的方式,但使用索引结点,则难度系数为1.2。
5.设计一个较实用的用户界面,方便用户使用。
要求提供以下相关文件操作:(1)具有login(用户登录)(2)系统初始化(建文件卷、提供登录模块)(3)文件的创建:create(4)文件的打开:open(5)文件的读:read(6)文件的写:write(7)文件关闭:close(8)删除文件:delete(9)创建目录(建立子目录):mkdir(10)改变当前目录:cd(11)列出文件目录:dir(12)退出:logout................................................
2023/8/9 10:27:48 1001KB 操作系统C++
1
一个字符串中的任意一个子序列,若子序列中个字符值均相等,则称为字符平台。
写一算法,输入任意一字符串S,输出S中长度最大的所有字符平台的起始位置及所含字符。
注意:最大字符平台有可能不止一个。
2023/8/6 13:02:43 52KB 数据结构 实验 最大字符平台
1
(信息安全概论作业)DES是分组长度为64比特的分组加密算法,密钥长度也是64比特,其中每8比特有一位奇偶校验位,因此有效密钥长度位56比特。
DES算法是公开的,其安全性依赖于密钥的保密程度。
2023/8/6 1:30:18 8.44MB C++ DES加密
1
支持VSC#编程-使用PRODAVE6_IE.dll类库,其中的接口均为中文接口;-读取的数据长度测试最长为40组数据;-PRODAVE6.Dll控件请与接口类库控件放在一起使用;-类库使用没有任何限制;-西门子通讯的前提需要安装西门子编程软件,建立好控制面板的西门子PG/PC通讯通道,并设定好指定符对应的硬件通道,比如S7ONLINE通道名称对应的硬件通道;-类库支持西门子MPI/DP/网卡接口;-类库在前人类库基础上进行了优化,并接口中文化;-类库经过了几十台工控设备的检测验证;-类库使用上没有任何限制;
2023/8/4 13:18:11 394KB PRODAVE
1
共 571 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡