基于linuxshell的cd管理系统

基于linuxshell的cd管理系统

ID:28020634

大小:97.00 KB

页数:15页

时间:2018-12-07

基于linuxshell的cd管理系统_第1页
基于linuxshell的cd管理系统_第2页
基于linuxshell的cd管理系统_第3页
基于linuxshell的cd管理系统_第4页
基于linuxshell的cd管理系统_第5页
资源描述:

《基于linuxshell的cd管理系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于LinuxShell的CD管理系统需求假如我们有一个扩展的CD集合.要使得我们的生活更为简单,我们设计和实现在一个管理CD的程序.用我们所学的Linux编程的知识来实现一个电子FI录似乎是一个很不错的主意.我们希望,至少最初是这样的,我们的程序可以存储基本的CD信息,例如标签,音乐种类或是艺术家.我们还希望可以保存一些跟踪信息.我们希望可以在每一个CD项0上进行搜索,但是却不会在跟踪细节上进行搜索.为了使得我们的程序完整,我们希望可以输入,更新,删除任何信息.设计我们在上面所说的三个需求一更新,搜索,显示数据一指明了我们要实现一个简单的菜单程序.所有我们要存储的内容都是文本的,而且我们

2、在这里假设我们的CD集合并不是很大.我们并不需要一个完整的数据库,我们只需要一些简单的文本就可以了.将信息存放在一个文本文件中可以使得我们的程序保持简单,而且如果我们的需求发生变化,处理文本文件总是耍比其他类型的文件简单得多.作为最后的一个手段,我们可以手工使用文木编辑器来输入和删除数据,而并需要编写一个程序来完成这样的工作.我们必须为我们的数据存储做出一个重要的设计决定:是不是单一的一个文件就足够了呢?如果是这样,那么他应是什么格式的文件呢?我们所希望存储的大多数的数据信息对于每一个CD来说只有一次,当然这样排除跟踪信息.所有的CD将会有多于一个跟踪信息.我们是否应在我们要存储的每一个C

3、D上设置一个数字的极限呢?这看起来是任意的和不必需的限制,所以我们立刻否决了这样的想法.如果我们允许灵活的跟踪数目,我们有下面的三个选项:1使用单一的文件,使用一行来存放CD的标题类信息并使用N行来存放CD的跟踪信息.2将CD的所冇信息放在一行,允许行继续直到没有跟踪信息需要存入为止.3将标题信息与跟踪信息相分离并使用一个不同的文件进行存储.只有第三个选项可以允许我们灵活的来修正文件的格式,如果曾经希望将我们的数据库转换为相关的格式我们可以做出这样的选择,所以在这里我们会选择第三个选项.下一个决定就是我们要在我们的文件中存放什么内容:最初,对于每一个CD标题,我们会选择存放:1CD目录标号

4、2标题3类型4作曲家或艺术家对于轨迹N容,我们会简单的存放:1轨迹标号2轨迹名字为了能够合并这两个文件,我们必须将轨迹信息与CD的其他信息相关联.为了这样做,我们会使用CD0录编号.因为这对于每一个CD来说是唯一的,这样他就会在标题文件和轨迹文件屮只出现一次.下面让我们来看一下一个简单的标题文件的例子:目录标题类型作曲家CD123CoolsaxJazzBixCD234ClassicviolinClassicalBachCD345Hits99PopVarious他们所对应的轨迹信息如下:目录轨迹标号标题CD1231SomejazzCD1232MorejazzCD3451DizzyCD2341

5、SonatainDminor这两个文件使用目录域进行联合.在这里我们要记住,对于标题文件中的每一个实体在轨迹文件中会有多行与之对应.我们要做的最后一件事就是如何来区分这些实体.在关系数据库中通常采用确定宽度的域,但是并不总是合适的.另一个常用的办法就是逗号,而这也是我们这里所采用的方法.在我们下面的部分中,为了使得我们不至于迷惑,我们会使用下面的一些函数:get_return()getconfirm()setmenuchoice()insert_title()insert_track()add_record_tracks()add_rccords()findcd()update_cd()c

6、ount_cds()remove_records()listtracks()一个CD程序1在我们的例子程序中,第一行总是要保证这个程序要作为一个Shell脚本来执行,接下来的是一些版权信息:#VerysimpleexampleshellscriptformanagingaCDcollection.#Copyright(C)1996-2003WroxPress.林Thisprogramisfreesoftware;youcanredistributeitand/ormodifyit#underthetermsoftheGNUGeneralPublicLicenseaspublishedbyt

7、he#FreeSoftwareFoundation;citherversion2oftheLicense,or(atyour#option)anylaterversion.#Thisprogramisdistributedinthehopesthatitwillbeuseful,but林WITHOUTANYWARRANTY;withouteventheimpliedwarrantyofftMERCHANTABILITYo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。