C语言课程设计-影碟信息管理系统(27页).doc

上传人:1595****071 文档编号:36394619 上传时间:2022-08-26 格式:DOC 页数:27 大小:195.50KB
返回 下载 相关 举报
C语言课程设计-影碟信息管理系统(27页).doc_第1页
第1页 / 共27页
C语言课程设计-影碟信息管理系统(27页).doc_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《C语言课程设计-影碟信息管理系统(27页).doc》由会员分享,可在线阅读,更多相关《C语言课程设计-影碟信息管理系统(27页).doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-C语言课程设计-影碟信息管理系统-第 25 页内蒙古科技大学本科生课程设计说明书题 目:C语言课程设计 影碟信息管理系统学生姓名:学 号:专 业:软件工程班 级:软件一班指导教师:日 期:2016年1月5日内蒙古科技大学课程设计任务书课程名称C语言课程设计设计题目影碟信息管理系统指导教师时间2016.1.5-2016.1.9一、教学要求1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选

2、择一题,独立完成,题目选定后不可更换。影碟信息管理系统图影碟息包括:电影名称、出品公司、导演姓名、主演姓名(至少2个)、上映时间、库存数量、价格等。试设计一影碟信息管理系统,使之能提供以下功能:v 影碟信息录入功能(影碟信息用文件保存)输入;影碟信息浏览功能输出v 查询或排序功能:(至少两种查询方式)算法按电影名称查询 按主演姓名查询v 影碟信息的插入、删除与修改v 影碟的借出与归还三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代

3、码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。目 录内蒙古科技大学课程设计任务书I第一章 需求分析31.1引言

4、31.2任务概述31.3数据描述31.4功能需求31.5性能需求31.6运行需求41.7任务计划4第二章概要设计52.1总体设计52.2数据类型设计(或数据结构设计)52.3接口设计 /函数声明52.4运行界面设计5第三章详细设计73.1输入模块设计73.2输出模块设计73.3查找模块设计73.4借阅及归还模块设计73.5删除及读取模块设计7第撕章课程设计总结10附录:程序代码11参考文献12第一章 需求分析1.1 引言一直以来人们使用传统的人工方式管理影碟店的日常工作,租借和归还过程主要依靠手工。这样无论是销售人员还是购买人员都很不方便。为方便对影碟店光盘、影碟资料、借还影碟等进行高效的管理

5、,特编写程序以提高影碟店的管理效率。1.2 任务概述1目标本影碟管理系统主要应用与小型的影碟音像店中,方便管理员对大量的影碟信息,包括电影名、导演、电影公司、上市日期等进行增加、查询、保存等操作。2运行环境本系统对于硬件要求不高,软件只要是windows2000及以上版本都可以使用。3用户特点本系统对用户的要求不高,一般懂得一些基本的电脑操作即可。维护人员为本小组的开发人员,均为计算机专业本科教育,懂得VC+6.0编程。1.3 数据描述系统数据类型有:整型int,字符型char,结构体struct;自己定义的数据类型有:DATE , CD1.4 功能需求 影碟管理系统可分为三部分:信息管理;借

6、阅处理;查询(1)信息管理功能:能对影碟的各种信息进行管理、登记,保存等。(2)借阅处理功能:对影碟的借阅进行管理登记,保存记录。(3)查询功能:让管理人员对影碟的信息进行查阅。1.5 性能需求1时间特性本系统对时间的要求较高,时间反应要快,在查询时必须能在几秒时间内作出反应,弹出所要查询的各类图书信息以及借阅者信息。2兼容性和扩展性仅限在影碟音像店内部电脑使用1.6 运行需求Visual C+或者Code Blocks1.7 任务计划用数组或者链表实现函数的功能,使其能实现信息管理,借阅处理,查询编辑功能。巩固和加深对C语言课程的基本知识的理解和掌握,提高用C语言解决实际问题的能力。第二章

7、概要设计2.1 总体设计程序的需求是设计影碟信息管理系统,能够进行录入和修改操作等,要求有菜单界面和退出功能。首先如果设计一个添加函数把要录入的碟片录入一个文件中,再建立一个借阅者文件把借阅人放入其中。然后建立添加、浏览删除、查询、借阅和归还等函数,通过函数的层层调用来实现程序的逻辑结构。中间通过文件的打开和关闭实现对文件内容所包含的数据的操作。整个程序的设计思路到此结束。2.2 数据类型设计(或数据结构设计)数据项描述=数据项名,数据类型,长度;影片信息=影片ID,CHAR,10; 片名,CHAR,20;导演,CAHR,20;介绍,CAHR,200;上映时间,DATE,10租借记录=记录项I

8、D,CHAR,10;借出时间,DATE,10;归还时间,DATE,10;租金,INT,42.3 接口设计 开始NY请根据菜单进行选择结束是否退出菜单4.碟片借阅归还3.碟片信息查询2.浏览碟片信息1.录入碟片信息5.用户信息添加2.4 运行界面设计进入主菜单图1.1 选择1进行碟片添加图1.2选择2进行查询图1.3选择(1)碟片名查询图1.4选择(2)演员名查询图1.5选择5进行借阅人注册图1.6选择3进行碟片借阅 图1.7选择6进行碟片浏览图1.8选择4碟片归还图1.9选择7碟片删除图1.10第三章 详细设计3.1 输入模块设计void add(void)/FILE *a; /文件指针 pr

9、intf(提示:当输入多个人名或片名时请用逗号隔开!n);printf(请输入碟片名称:n); scanf(%s,CDcd_number.film_name); printf(请输入出品公司:n); scanf(%s,CDcd_number.film_gongsi); printf(请输入导演姓名:n); scanf(%s,CDcd_number.film_daoyan); printf(请输入主演姓名:n); scanf(%s,CDcd_number.film_zhuyan); printf(请输入上映时间:n); scanf(%s,CDcd_number.shijie); getchar(

10、); n = 1; /修改借阅标记 if(0=cd_number) a=fopen(cd.txt,wb); fwrite(&CDcd_number,sizeof(struct cd),1,a); else a=fopen(cd.txt,ab); fwrite(&CDcd_number, sizeof(struct cd), 1, a); cd_number+; printf(影片添加成功n); fclose(a); printf( 输入任意键返回); getch();3.2 输出模块设计void read(void) int i; system(cls); for(i=1; icd_numbe

11、r; i+) printf(nn); printf( 碟片名称 :); printf(%sn,CDi.film_name); printf( 出品公司 :); printf(%sn,CDi.film_gongsi); printf( 导演姓名 :); printf(%sn,CDi.film_daoyan); printf( 主演姓名 :); printf(%sn,CDi.film_zhuyan); printf( 上映时间 :); printf(%sn,CDi.shijie); printf(输入任意键返回); getch();3.3 查找模块设计void check(void)/ int i

12、; char cd_name10; system(cls); printf(请要查询的输入碟片名:n); scanf(%s,cd_name); for(i = 0; i cd_number; i+) if(strcmp(CDi.film_name,cd_name)=0) printf(nn); printf( 碟片名称 :); printf(%sn,CDi.film_name); printf( 出品公司 :); printf(%sn,CDi.film_gongsi); printf( 导演姓名 :); printf(%sn,CDi.film_daoyan); printf( 主演姓名 :);

13、 printf(%sn,CDi.film_zhuyan); printf( 上映时间 :); printf(%sn,CDi.shijie); break; if(i=cd_number) printf(抱歉,不能找到。n); getchar(); printf( 输入任意键返回); getch();3.4 借阅及归还模块设计void rent(void) int n; char user_name10; char cd_name10; FILE *a;/ FILE *b;/ int k=0; int i,j; a = fopen(rent.txt,r); b = fopen(cd.txt,r)

14、; for (i = 0; i cd_number; i+) fread(&CDi, sizeof(struct cd),1,b); for (i = 0; i user_number; i+) fread(&RENTi,sizeof(struct rent),1,a); printf(请输入借阅人:n); scanf(%s,user_name); getchar(); printf(请输入碟片名称n); scanf(%s,cd_name); getchar(); printf(请再次输入碟片名称:n); scanf(%s,RENTi.film_namek); k+; getchar(); p

15、rintf(已借%d张n,k); for (j = 0; j cd_number; j+) if(strcmp(CDj.film_name, cd_name)=0) n=0; printf(请输入借出日期:n); scanf(%d,&RENTi.rent_time); printf(借阅成功n); fclose(a); fclose(b); printf( 输入任意键返回); getch();void returnn (void) / int n; char user_name10; char cd_name10; FILE *a; FILE *b; int i; int j; int k =

16、 0; a = fopen(rent.txt,r); b = fopen(cd.txt,r); for (i = 0; i cd_number; i+) fread(&CDi, sizeof(struct cd), 1, b); for (i = 0; i user_number; i+) fread(&RENTi, sizeof(struct rent), 1, a); printf(请输入借阅人:n); scanf(%s,user_name); for (i = 0; i user_number; i+) if (strcmp(user_name, RENTi.username)=0) p

17、rintf(输入要归还的碟片名:n); scanf(%s,cd_name); for (j = 0; j cd_number; j+) if(strcmp(CDj.film_name, cd_name)=0) n = 1; break; printf(借出日期:%dn,RENTi.rent_time); printf(归还日期:n); scanf(%d,&RENTi.return_time); getchar(); if (RENTi.return_time - RENTi.rent_time) % 3)=0) RENTi.money = (RENTi.return_time - RENTi.

18、rent_time) / 3; else RENTi.money = (RENTi.return_time - RENTi.rent_time) / 3 + 1; printf(租金:%dn,RENTi.money); printf( 输入任意键返回); getch(); fclose(a); fclose(b);3.5 删除及读取模块设计void shanchu(void) int i,j,key; char cd_name10; system(cls); printf(请输入要删除的碟片:); scanf(%s,&cd_name); if(cd_name=0) return; for(i=

19、0; icd_number; i+) if(strcmp(CDi.film_name,cd_name)=0) cd_number-; for(j=i; jcd_number; j+) strcpy(CDi.film_name,CDj+1.film_name); strcpy(CDi.film_gongsi,CDj+1.film_gongsi); strcpy(CDi.film_daoyan,CDj+1.film_daoyan); strcpy(CDi.film_zhuyan,CDj+1.film_zhuyan); strcpy(CDi.shijie,CDj+1.shijie); key=1;

20、printf(删除成功!); getchar(); printf( 输入任意键返回); getch(); if(key!=1) printf(无此碟片!); printf(您可以与管理员取得联系,希望对您有所帮助!); getchar(); printf( 输入任意键返回); getch();void check2(void)/ int i; char cd_zhuyan10; system(cls); printf(请输入要查询的主演名:n); scanf(%s,cd_zhuyan); for(i = 0; i cd_number; i+) if(strcmp(CDi.film_zhuyan

21、,cd_zhuyan)=0) printf(nn); printf( 碟片名称 :); printf(%sn,CDi.film_name); printf( 出品公司 :); printf(%sn,CDi.film_gongsi); printf( 导演姓名 :); printf(%sn,CDi.film_daoyan); printf( 主演姓名 :); printf(%sn,CDi.film_zhuyan); printf( 上映时间 :); printf(%sn,CDi.shijie); break; if(i=cd_number) printf(抱歉,不能找到。n); getchar(

22、); printf( 输入任意键返回); getch();附录:程序代码#include #include #include #includevoid check2(void);void add(void); /新片上架函数void read(void);/浏览碟片void shanchu(void);/删除碟片void check(void); / 碟片查询函数void rent(void); /碟片借阅函数void useradd(void); /使用者添加void returnn (void);/ 碟片归还函数int user_number =2; /定义会员函数int cd_numbe

23、r =1; /定义碟片函数struct cd/碟片结构体 char film_name100; /碟片名称 char film_gongsi100; /出品公司 char film_daoyan100; /导演姓名 char film_zhuyan100; /主演姓名 char shijie5; /上映时间int n;/借阅标记struct rent/碟片借阅结构体 char username10;/使用者名 char userxingbie10;/使用者性别 int userage;/使用者年龄 int year;/使用者出生年份 int month;/使用者出生月份 int day;/使用

24、者出生天数 char film_name1010; /碟片名称 int rent_time; /借出日期 int return_time; /归还日期 int money; /租金struct cd CD1000; /定义CD函数struct rent RENT1000; /定义出租函数/-主函数-int main() /主函数 char choice; char op; system(title=影碟管理系统); system(color 0C); system(cls);a: printf(nntttt欢迎进入影片信息管理系统n); printf(tttt-n); printf(tttt1

25、:影片添加 n); printf(tttt2:碟片查询 n); printf(tttt3:碟片借阅 n); printf(tttt4:碟片归还 n); printf(tttt5:借阅者注册 n); printf(tttt6:碟片浏览 n); printf(tttt7:碟片删除 n); printf(tttt0:退出程序 n); printf(tttt-n); printf(tttt请输入你的选择: n); scanf(%c,&choice); switch(choice) /多条件选择判断 case 1: system(cls); add(); /碟片添加函数 break; case 2: s

26、ystem(cls); printf(1.影碟名查询 n); printf(2.主演名查询 n); getchar(); scanf(%c,&op); switch (op) case 1: system(cls); check(); break; case 2: system(cls); check2(); break; break; case 3: system(cls); rent(); /碟片借出函数 break; case 4: system(cls); returnn();/碟片归还函数 break; case5: system(cls); useradd();/使用者注册函数 b

27、reak; case6: system(cls); read();/浏览函数 break; case7: system(cls); shanchu(); /删除函数 break; case0: system(cls); printf (感谢您对此系统的使用,再见!n); exit(0);/退出函数 system(cls); goto a;/-碟片添加-void add(void)/新片添加 FILE *a; /文件指针 printf(提示:当输入多个人名或片名时请用逗号隔开!n); printf(请输入碟片名称:n); scanf(%s,CDcd_number.film_name); prin

28、tf(请输入出品公司:n); scanf(%s,CDcd_number.film_gongsi); printf(请输入导演姓名:n); scanf(%s,CDcd_number.film_daoyan); printf(请输入主演姓名:n); scanf(%s,CDcd_number.film_zhuyan); printf(请输入上映时间:n); scanf(%s,CDcd_number.shijie); getchar(); n = 1; /修改借阅标记 if(0=cd_number) a=fopen(cd.txt,wb); fwrite(&CDcd_number,sizeof(stru

29、ct cd),1,a); else a=fopen(cd.txt,ab); fwrite(&CDcd_number, sizeof(struct cd), 1, a); cd_number+; printf(影片添加成功n); fclose(a); printf( 输入任意键返回); getch();/-浏览影碟信息-void read(void) int i; system(cls); for(i=1; icd_number; i+) printf(nn); printf( 碟片名称 :); printf(%sn,CDi.film_name); printf( 出品公司 :); printf

30、(%sn,CDi.film_gongsi); printf( 导演姓名 :); printf(%sn,CDi.film_daoyan); printf( 主演姓名 :); printf(%sn,CDi.film_zhuyan); printf( 上映时间 :); printf(%sn,CDi.shijie); printf(输入任意键返回); getch();/-影碟信息查询-void check(void)/ int i; char cd_name10; system(cls); printf(请要查询的输入碟片名:n); scanf(%s,cd_name); for(i = 0; i 10

31、0|RENTuser_number.userage18) scanf (%d,&RENTuser_number.userage); if( RENTuser_number.userage100) printf(输入有误,请重新输入:); getchar(); a = fopen(rent.txt,ab);/追加方式打开 fwrite(&RENTuser_number, sizeof(struct rent), 1, a);/把a中一个rent结构体赋给RENTuser_number printf( 添加成功 n); user_number+; fclose(a); printf( 输入任意键返回); getch();/-碟片借阅函数-void rent(void) / int n; char user_name10; c

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁