Linux shell编程 CD唱片管理

Linux shell编程 CD唱片管理

ID:43013612

大小:161.12 KB

页数:12页

时间:2019-09-25

Linux shell编程 CD唱片管理_第1页
Linux shell编程 CD唱片管理_第2页
Linux shell编程 CD唱片管理_第3页
Linux shell编程 CD唱片管理_第4页
Linux shell编程 CD唱片管理_第5页
资源描述:

《Linux shell编程 CD唱片管理》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Linux程序开发环境实验报告项目名称LinuxShell程序设计专业班级软件学号姓名实验成绩:批阅教师:批阅日期:2016年6月1日实验3LinuxShell程序设计1、实验目的(1)掌握Linuxshell程序运行方法(2)掌握LinuxShell程序基本语法(3)了解Linux环境变量(4)编写简单Linuxshell程序2、实验内容完成简单CD唱片管理系统。(1)需求假设你收集了大量的CD唱片,现在为了方便管理,需要设计和实现一个管理CD唱片的程序。程序至少能够把每张CD唱片的资料保存起来,如唱片的名称、音乐类型、艺

2、术家或作曲家的名字等;然后针对某张CD唱片而言,还需要保存一些简单的曲目信息;程序要可以以CD唱片为单位进行搜索,而不是以曲目为单位;为了使程序具备完整性,还需要实现对CD唱片资料的输入、修改和删除等功能。(2)设计把标题信息和曲目信息分开,用两个文本文件分别来存储。每张CD唱片保存如下信息:编号、标题、曲目类型(流行、爵士等)、作曲家等。曲目只保存下面两个信息:编号和曲名。如下表所示:表1.唱片信息唱片编号标题曲目类型作曲家CD123CoolsaxjazzBixCD234ClassicviolinclassicBachCD

3、345Hits99popVarious表2.曲目信息目录编号曲目编号曲名CD1231SomejazzCD1232MorejazzCD2341SonatainDminorCD3451Dizzy各项信息用逗号来分隔。(3)实现程序共包含如下函数:get_return()get_confirm()set_menu_choice()insert_title()insert_track()add_record_tracks()add_records()find_cd()update_cd()count_cds()remove_reco

4、rds()list_tracks()3.实验步骤(1)版权信息;#!/bin/bash#VerysimpleexampleshellscriptformanagingaCDcollection.#Copyright(C)2010-2013CentralSouthUniversity.(2)设置实验脚本程序将要用到的全局变量,包括标题文件、曲目文件和一个临时文件,同时设置Ctrl+C组合键的中断处理,确保在用户中断脚本程序时删除临时文件;menu_choice=”“current_cd=”“title_file=”title.

5、cdb”tracks_file=”tracks.cdb”temp_file=/tmp/cdb.$$trap‘rm-f$temp_file’EXIT(3)现在开始定义函数。最开始两个简单的工具型函数;get_return(){echo-e“Pressreturnc”readxreturn0}get_confirm(){echo-e“Areyousure?c”whiletruedoreadxcase“$x”iny

6、yes

7、Y

8、Yes

9、YES)return0;;n

10、no

11、N

12、No

13、NO)echoecho“Cancelled”r

14、eturn1;;*)echo“Pleaseenteryesorno”;;esacdone}(4)接下来是主菜单函数,菜单的内容是动态变化的,当用户选择了某张CD唱片后,主菜单中会多出几个选项;set_menu_choice(){clearecho“Options:-“echoecho“a)AddnewCD”echo“f)FindCD”echo“c)CounttheCDsandtracksinthecatalog”if[“$cdcatnum”!=“”];thenecho“l)Listtrackson$cdtitle”echo“

15、r)Remove$cdtitle”echo“u)Updatetrackinformationfor$cdtitle”fiecho“q)Quit”echoecho-e“Pleaseenterchoicethenpressreturnc”readmenu_choicereturn}(5)然后是两个很小的函数insert_title和insert_track,这两个函数用户向数据库文件中添加数据,在此基础上是一个比较大的函数add_record_tracks,该函数会用到上述两个小函数,使用模式匹配确保用户未输入逗号(因为本实验

16、脚本把逗号用做数据字段之间的分隔符),使用算术操作在用户输入曲目时递增当前曲目的编号;insert_title(){echo$*>>$title_filereturn}insert_track(){echo$*>>$tracks_filereturn}add_record_tracks()

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

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

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