1、图书管理系统以UNIX系统文件部分系统调用为基础设计一个简易的图书管理系统。
要求实现:图书的录入、查询、借阅、清理、统计等功能、还要实现对每天的借阅情况进行统计并打印出统计报表,操作界面要尽量完善。
图书资料信息必须保存在文件中。
2、信号通信与进程控制(l)进程的创建:编写一段程序,使用系统调用fork()创建两个或多个子进程。
当此程序运行时,在系统中有一个父进程和其余为子进程在活动。
(2)进程的控制:在程序中使用系统调用lockf()来给每一个进程加锁,实现进程之间的互斥。
(3)进程通信:①软中断通信;
②在程序中使用实例signal(SIGINT,SIG_IGN)和signal(SIGQUIT,SIG_IGN)进行通信操作,观察执行结果,并分析原因。
(4)软中断的捕获与重定义。
首先定义一个服务函数function(),然后利用signal(sig,function)系统调用来实现中断的捕获与改道。
(5)使用操作系统保留给用户的信号SIGUSR1和SIGUSR2进行通信。
(6)扩展程序,使之成为信号或事件驱动的应用程序。
3、管道通信利用UNIX系统提供的管道机制实现进程间的通信。
(1)管道通信。
利用pipe()和lockf()系统调用,编写程序,实现同族进程间的通信。
使用系统调用pipe()建立一条管道线;
创建子进程P1、P2、…。
子进程Pi分别向管道各写信息,而父进程则从管道中读出来自于各子进程的信息,实现进程家族间无名管道通讯。
扩展之,使之成为客户/服务器模式,并完成一定的任务(自己定义)。
(2)命名管道通信:利用mkfifo(name,mode)或mknod(name,mode,0)创建一个命名管道,然后利用它和文件部分系统调用实现不同进程间的通信。
改造之,使之成为客户/服务器模式,并完成一定的任务(自己定义)。
4、进程间通信(IPC):消息机制(1)消息的创建、发送和接收使用系统调用msgget(),msgsnd(),msgget(),及msgctl()编制一长度为1K的消息发送和接收的程序。
1)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程,SERVER和CLIENT,进行通信。
SERVER和CLIENT也可分别为2个各自独立的程序。
2)SERVER端建立一个Key为175的消息队列,等待其他进程发来的消息。
当遇到类型为1的消息,则作为结束信号,取消该队列,并退出SERVER。
SERVER每接收到一个消息后显示一句“(server)received”。
3)CLIENT端使用key为175的消息队列,先后发送类型从10到1的消息,然后退出。
最后的一个消息,即是SERVER端需要的结束信号。
CLIENT每发送一条消息后显示一句“(client)sent”。
4)父进程在SERVER和CLIENT均退出后结束。
(2)功能扩展:在sever端创建一个服务函数,从而实现C/S通讯要求SERVER每接收到一次数据后不仅仅显示“(server)received”,而是做一些其它事情,比如读取或查询某个文件,或者执行一个shell命令等。
此功能可由设计者自己定义。
在此基础上可以扩展客户端,比如设计一个菜单界面,接收不同的选项,并发送到服务器端,请求对方提供服务。
5、进程间通信(IPC):共享内存机制(1)共享存储区的创建,附接和断接使用系统调用shmget(),shmat(),msgdt(),shmctl(),编制一长度为1K的消息发送和接收的程序。
1)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程,SERVER和CLIENT,进行通信。
SERVER和CLIENT也可分别为2个各自独立的程序。
2)SERVER端建立一个Key为375的共享区,并将第一个字节置为-1,作为数据空的标志,等待其他进程发来的消息。
当该字节的值发生变化时,表示收到了信息,并进行处理。
然后再次把它的值设为-1。
如果遇到的值为0,则视为结束信号,取消该队列,并退出SERVER。
SERVER每接收到一次数据后显示“(server)received”。
3)CLIENT端建立一个Key为375的共享区,当共享取得第一个字节为-1时,SERVER端空闲,可发送请求。
CLIENT随即填入9到0。
期间等待Server端的再次空闲。
进行完这些操作后,CLIENT退出。
CLIENT每发送一次数据后显示“(client)sent”。
4)父进程在SERVER和CLIENT均退出后结束。
(2)功能扩展:在sever端创建一个服务函数,从而形成C/S通讯模式要求SERVER每接收到一次数据后不仅仅显示“(server)received”,而是做一些其它事情,比如
2024/7/19 3:04:26 918KB 操作系统
1
1、系统用户管理,合法用户许可访问(使用)本系统;
2、信息录入,包括记录的追加和插入;
3、信息删除;
4、信息修改;
5、信息排序和查询;
6、信息的保存和装载;
7、简单的帮助。
2024/7/18 5:40:03 448KB java
1
画板的实现非常有趣,首先要新建一张HBITMAP来保存原来的绘制内容,然后需要创建一个可拉伸的输入框,供用户输入文字。
必要时还得提供UnDo功能,供用户取消上一次绘制的功能。
利用业余时间,我制作了一个画板程序,包含了以下几个功能:1.可动态拉伸及移动位置的编辑框,供用户输入文字。
2.可画直线,圆圈,箭头,线段及线条。
3.可使用CTRL+Z组合键,撤销上一次的绘制。
原文博客:http://blog.csdn.net/renstarone/article/details/19901585">画板的实现非常有趣,首先要新建一张HBITMAP来保存原来的绘制内容,然后需要创建一个可拉伸的输入框,供用户输入文字。
必要时还得提供UnDo功能,供用户取消上一次绘制的功能。
利用业余时间,我制作了一个画板程序,包含[更多]
2024/7/16 0:43:47 282KB VC++ 画板程序
1
读取envi的数据并存为mat格式数据,或将mat数据保存为envi可读写的hdr文件。
2024/7/15 19:48:22 2KB envi matlab读写
1
批量查询高考成绩,并保存到excel表中。
2024/7/13 13:27:29 2.22MB 成绩查询
1
本游戏基本实现了fc坦克大战的所有功能,额,除了计算得分比如说:1.页面上绘制出了坦克,墙块,基地,子弹以及道具,利用双缓冲使得页面不闪屏,很流畅2.坦克可以发射子弹,子弹可以打掉砖墙,可以打掉基地(这个时候会导致游戏结束),可以打爆坦克3.游戏有背景音效,比如游戏开始的音效,坦克发出子弹的音效,坦克爆炸的音效,子弹撞击的音效,游戏结束的音效4.玩家坦克可以捡道具,有六种道具第一种:坦克道具,这个吃到了坦克的生命数会加1第二种:定时器道具,这个吃到了过后地方坦克会不行动两秒第三种:炸弹道具:这个吃到了过后,会让页面上所有地方坦克立即原地爆炸第四种:星星道具,这个吃到了会增加坦克的移动速度和攻击速度(发射子弹的速度),累计三个可以变成钢枪第五钟:钢枪道具,这个吃到了过后可以打掉页面上所有的墙,无论草坪,河流,钢砖,砖墙第六种:钢撬道具,这个吃到了过后可以让保护基地的砖墙全部变成钢砖5.自定义地图:我们可以按照自己的想法,画出自己喜欢的地图,并且保存起来更多详细,请参考博文:https://blog.csdn.net/qq_36737934/article/details/80306363
2024/7/7 22:25:48 59.38MB Java 坦克大战 背景音乐 自定义地图
1
调用第三方Spire.Pdf的例子。
保存进行打印。
Spire.Pdf
2024/7/7 22:31:49 12.59MB 打印 C# Spire.Pdf
1
privatevoidbutton1_Click(objectsender,System.EventArgse) {//保存为EXCEL文件 if(this.listView1.Items.Count0) { MyRange=MyWorkSheet.get_Range("A2",Missing.Value); object[,]MyData=newObject[this.listView1.Items.Count,3]; foreach(ListViewItemlviinthis.listView1.Items) { MyData[lvi.Index,0]=lvi.Text; MyData[lvi.Index,1]=lvi.SubItems[1].Text; MyData[lvi.Index,2]=lvi.SubItems[2].Text; } MyRange=MyRange.get_Resize(this.listView1.Items.Count,3); MyRange.Value2=MyData; MyRange.EntireColumn.AutoFit(); } MyExcel=null; } catch(ExceptionErr) { MessageBox.Show("调用EXCEL程序时出现错误!"+Err.Message,"信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information); } }
2024/7/7 20:16:32 627KB EXCEL
1
开发一个小型动态网站,实现用户注册、登录、浏览商品、选购商品等功能。
二、实验内容1、开发一个小型动态网站,实现用户注册、登录、浏览商品、选购商品等功能。
2、各页面功能:(1)Reg.html:注册表单中至少要有用户名、密码,提交后转到后台reg.asp处理;
(2)reg.asp:使用request对象接收注册信息,把用户名、密码保存到users表里,然后重定向到登录页面Login.html;
(3)Login.html:在登录表单里输入用户名、密码,提交后转到shop.asp;
登录页面和注册页面要互有超级链接;
(4)Login.asp:接收登录时输入的用户名、密码,与数据库中的users表中的用户名、密码比较:如果都相等则登录成功,页面将重定向到购物页面Shop.html,里面有商品浏览信息,用户可以从中选择自己想要的商品。
如归登录失败,重定向到登录页面Login.html重新登录,未注册的可以由登录页面上的超级链接转到注册页面去注册;
2024/7/7 2:33:10 387KB 小型动态网站的开发
1
一、软件的具体操作1.建一个文件夹,里面必须有四个文件(Dblank;
deap;
deap.000;
123.dta)前三个文件在一般下载的DEAPVersion2.1中都有,直接复制过来就可以,第四个文件是一个数据文件,一般先在excel中先输入,再复制到一个记事本下就可以,注意在记事本下的数据只有数据,不包括决策单元的名称和投入、产出的名称,并且一定要先放产出,后是投入。
例子具体见123电子表格和123记事本。
2.对命令Dblank文件进行修改,修改后保存为123.ins文件3.打开deap软件,运行123.ins4,回车后自动会有123.out注意事项:(1)123.dta;
Dblank;
123.ins都用记事本打开;
(2)数据文件名和命令文件名一定要一样,如例子中都用123(3)文件夹中一定要包括deap.000文件,如果没有这个文件,打开deap软件,就会出现一闪就没有了的情况。
二,结果的分析在文件夹中打开123.out,看如下:1)firmcrstevrstescale10.6871.0000.687drs20.8141.0000.814drs30.3190.7090.450drs41.0001.0001.000-51.0001.0001.000-60.3360.4250.791drs70.6420.6480.991irs80.3790.3810.994irs90.7020.7500.936irs101.0001.0001.000-110.3040.4610.659irs120.3521.0000.352irs131.0001.0001.000-140.5940.9290.639irs150.4021.0000.402irsmean0.6350.8200.781firm:代表例子中的15的样本crste:技术效率,也叫综合效率vrste:纯技术效率scale:规模效率(drs:规模报酬递减;
-:规模报酬不变;
irs:规模报酬递增)crste=vrste×scale2)Resultsforfirm:3Technicalefficiency=0.709Scaleefficiency=0.450(drs)PROJECTIONSUMMARY:variableoriginalradialslackprojectedvaluemovementmovementvalueoutput17326.3800.0000.0007326.380output2119.9100.0000.000119.910input115427.000-4496.0100.00010930.990input25257.970-1532.371-1643.8282081.771第三个样本的具体分析如下:纯技术效率=0.709规模效率=0.450(drs):规模报酬应该递减第三个样本的投入产出情况分析:第一、二产出均没有冗余情况(因为其radialmovement和slackmovement均为零)第一个投入要素有投入冗余4496.010;
第二投入要素有投入冗余3176.199=1532.371+1643.828这个意思是说按第三个样本现在的产出冗余第一个投入要素可以减少4496.010,第二个投入要素可以减少3176.199Resultsforfirm:8Technicalefficiency=0.381Scaleefficiency=0.994(irs)PROJECTION
2024/7/6 21:06:54 193KB DEA软件
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡