欢迎来到天天文库
浏览记录
ID:12839667
大小:373.00 KB
页数:31页
时间:2018-07-19
《实验四linux_c_高级程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《Linux程序开发环境》实验报告实验成绩:批阅教师:年月日31实验4LinuxC高级程序设计一、实验目的(1)掌握基于dbm索引型数据库的程序设计方法二、实验内容在上次实验完成的基于curses库的CD唱片应用程序的基础上进行改进,用dbm进行数据的存储。三、实验要求(1)实验报告中提交系统的完整脚本;(2)记录实验过程中的心得体会。四、实验结果(1)cd_data.h是头文件,定义了数据的结构和访问这些数据的函数。cd_data.h/*Thecatalogtable*/#defineCAT_CAT_LEN30#defineCAT_TITLE_LEN70#defineCAT_TYPE_LE
2、N30#defineCAT_ARTIST_LEN70typedefstruct{charcatalog[CAT_CAT_LEN+1];chartitle[CAT_TITLE_LEN+1];chartype[CAT_TYPE_LEN+1];charartist[CAT_ARTIST_LEN+1];}cdc_entry;/*Thetrackstable,oneentrypertrack*/#defineTRACK_CAT_LENCAT_CAT_LEN#defineTRACK_TTEXT_LEN7031typedefstruct{charcatalog[TRACK_CAT_LEN+1];inttr
3、ack_no;chartrack_txt[TRACK_TTEXT_LEN+1];}cdt_entry;/*Forconveniencewealsoputtheprototypeforthefunctionstoaccessthedatahere*//*Initializationandterminationfunctions*/intdatabase_initialize(constintnew_database);voiddatabase_close(void);/*twoforsimpledataretrival*/cdc_entryget_cdc_entry(constchar*cd_
4、catalog_ptr);cdt_entryget_cdt_entry(constchar*cd_catalog_ptr,constinttrack_no);/*twofordataaddition*/intadd_cdc_entry(constcdc_entryentry_to_add);intadd_cdt_entry(constcdt_entryentry_to_add);/*twofordatadeletion*/intdel_cdc_entry(constchar*cd_catalog_ptr);intdel_cdt_entry(constchar*cd_catalog_ptr,c
5、onstinttrack_no);/*onesearchfunction*/cdc_entrysearch_cdc_entry(constchar*cd_catalog_ptr,int*first_call_ptr);31app_ui.c#define_XOPEN_SOURCE#include#include#include#include#include"cd_data.h"#defineTMP_STRING_LEN125/*thisnumbermustbelargerthanthebiggestsinglest
6、ringinanydatabasestructure*//*Menuoptions*/typedefenum{mo_invalid,mo_add_cat,mo_add_tracks,mo_del_cat,mo_find_cat,mo_list_cat_tracks,mo_del_tracks,mo_count_entries,mo_exit}menu_options;/*localprototypes*/staticintcommand_mode(intargc,char*argv[]);staticvoidannounce(void);31staticmenu_optionsshow_me
7、nu(constcdc_entry*current_cdc);staticintget_confirm(constchar*question);staticintenter_new_cat_entry(cdc_entry*entry_to_update);staticvoidenter_new_track_entries(constcdc_entry*entry_to_add_to);staticvoidde
此文档下载收益归作者所有