语c言课程设计影碟信息管理系统大学论文Word格式.docx
《语c言课程设计影碟信息管理系统大学论文Word格式.docx》由会员分享,可在线阅读,更多相关《语c言课程设计影碟信息管理系统大学论文Word格式.docx(35页珍藏版)》请在冰豆网上搜索。
2.写出详细设计说明(至少包括功能实现分析和模块流程图)
3.编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)
4.设计完成的软件要便于操作和使用
5.设计完成后提交课程设计报告(请严格按照模板进行排版)
四、进度安排
第一天
选择课程设计题目,分析课题的要求
第二天
编程
第三天
编程及调试
第四天
写课程设计报告
第五天
提交课程设计报告(打印稿及电子稿)
五、评分标准
1.根据平时上机考勤、表现和进度,教师将每天点名和检查
2.根据课程设计完成情况,必须有可运行的软件。
3.根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。
第一章需求分析
1.1引言
一直以来人们使用传统的人工方式管理影碟店的日常工作,租借和归还过程主要依靠手工。
这样无论是销售人员还是购买人员都很不方便。
为方便对影碟店光盘、影碟资料、借还影碟等进行高效的管理,特编写程序以提高影碟店的管理效率。
1.2任务概述
1目标
本影碟管理系统主要应用与小型的影碟音像店中,方便管理员对大量的影碟信息,包括电影名、导演、电影公司、上市日期等进行增加、查询、保存等操作。
2运行环境
本系统对于硬件要求不高,软件只要是windows2000及以上版本都可以使用。
3用户特点
本系统对用户的要求不高,一般懂得一些基本的电脑操作即可。
维护人员为本小组的开发人员,均为计算机专业本科教育,懂得VC++6.0编程。
1.3数据描述
系统数据类型有:
整型int,字符型char,结构体struct;
自己定义的数据类型有:
DATE,CD
1.4功能需求
影碟管理系统可分为三部分:
信息管理;
借阅处理;
查询
(1)信息管理功能:
能对影碟的各种信息进行管理、登记,保存等。
(2)借阅处理功能:
对影碟的借阅进行管理登记,保存记录。
(3)查询功能:
让管理人员对影碟的信息进行查阅。
1.5性能需求
1时间特性
本系统对时间的要求较高,时间反应要快,在查询时必须能在几秒时间内作出反应,弹出所要查询的各类图书信息以及借阅者信息。
2兼容性和扩展性
仅限在影碟音像店内部电脑使用
1.6运行需求
VisualC++或者CodeBlocks
1.7任务计划
用数组或者链表实现函数的功能,使其能实现信息管理,借阅处理,查询编辑功能。
巩固和加深对C语言课程的基本知识的理解和掌握,提高用C语言解决实际问题的能力。
第二章概要设计
2.1总体设计
程序的需求是设计影碟信息管理系统,能够进行录入和修改操作等,要求有菜单界面和退出功能。
首先如果设计一个添加函数把要录入的碟片录入一个文件中,再建立一个借阅者文件把借阅人放入其中。
然后建立添加、浏览删除、查询、借阅和归还等函数,通过函数的层层调用来实现程序的逻辑结构。
中间通过文件的打开和关闭实现对文件内容所包含的数据的操作。
整个程序的设计思路到此结束。
2.2数据类型设计(或数据结构设计)
数据项描述={数据项名,数据类型,长度};
影片信息={
影片ID,CHAR,10;
片名,CHAR,20;
导演,CAHR,20;
介绍,CAHR,200;
上映时间,DATE,10
};
租借记录={
记录项ID,CHAR,10;
借出时间,DATE,10;
归还时间,DATE,10;
租金,INT,4
}
2.3接口设计
N
Y
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输入模块设计
voidadd(void)//
{
FILE*a;
//文件指针
printf("
提示:
当输入多个人名或片名时请用逗号隔开!
!
\n"
);
printf("
请输入碟片名称:
scanf("
%s"
CD[cd_number].film_name);
请输入出品公司:
CD[cd_number].film_gongsi);
请输入导演姓名:
CD[cd_number].film_daoyan);
请输入主演姓名:
CD[cd_number].film_zhuyan);
请输入上映时间:
CD[cd_number].shijie);
getchar();
n=1;
//修改借阅标记
if(0==cd_number)
{
a=fopen("
cd.txt"
"
wb"
fwrite(&
CD[cd_number],sizeof(structcd),1,a);
}
else
ab"
CD[cd_number],sizeof(structcd),1,a);
cd_number++;
影片添加成功\n"
fclose(a);
输入任意键返回"
getch();
3.2输出模块设计
voidread(void)
{
inti;
system("
cls"
for(i=1;
i<
cd_number;
i++)
\n\n"
碟片名称:
"
%s\n"
CD[i].film_name);
出品公司:
CD[i].film_gongsi);
导演姓名:
CD[i].film_daoyan);
主演姓名:
CD[i].film_zhuyan);
上映时间:
CD[i].shijie);
输入任意键返回"
3.3查找模块设计
voidcheck(void)//
charcd_name[10];
请要查询的输入碟片名:
cd_name);
for(i=0;
i<
cd_number;
if(strcmp(CD[i].film_name,cd_name)==0)
break;
if(i==cd_number)
抱歉,不能找到。
3.4借阅及归还模块设计
voidrent(void)
intn;
charuser_name[10];
//
FILE*b;
intk=0;
inti,j;
a=fopen("
rent.txt"
r"
b=fopen("
for(i=0;
fread(&
CD[i],sizeof(structcd),1,b);
user_number;
RENT[i],sizeof(structrent),1,a);
请输入借阅人:
user_name);
请输入碟片名称\n"
请再次输入碟片名称:
RENT[i].film_name[k]);
k++;
已借%d张\n"
k);
for(j=0;
j<
j++)
if((strcmp(CD[j].film_name,cd_name))==0)
n=0;
请输入借出日期:
%d"
&
RENT[i].rent_time);
借阅成功\n"
fclose(b);
voidreturnn(void)//
intj;
intk=0;
CD[i],sizeof(structcd),1,b);
RENT[i],sizeof(structrent),1,a);
请输入借阅人:
if((strcmp(user_name,RENT[i].username))==0)
输入要归还的碟片名:
借出日期:
%d\n"
RENT[i].rent_time);
归还日期:
RENT[i].return_time);
if(((RENT[i].return_time-RENT[i].rent_time)%3)==0)
RENT[i].money=(RENT[i].return_time-RENT[i].rent_time)/3;
RENT[i].money=(RENT[i].return_time-RENT[i].rent_time)/3+1;
租金:
RENT[i].money);
3.5删除及读取模块设计
voidshanchu(void)
inti,j,key;
请输入要删除的碟片:
cd_name);
if(cd_name==0)return;
for(i=0;
cd_number--;
for(j=i;
j<
strcpy(CD[i].film_name,CD[j+1].film_name);
strcpy(CD[i].film_gongsi,CD[j+1].film_gongsi);
strcpy(CD[i].film_daoyan,CD[j+1].film_daoyan);
strcpy(CD[i].film_zhuyan,CD[j+1].film_zhuyan);
strcpy(CD[i].shijie,CD[j+1].shijie);
key=1;
删除成功!
if(key!
=1)
无此碟片!
您可以与管理员取得联系,希望对您有所帮助!
voidcheck2(void)//
charcd_zhuyan[10];
请输入要查询的主演名:
cd_zhuyan);
if(strcmp(CD[i].film_zhuyan,cd_zhuyan)==0)
附录:
程序代码
#include<
stdio.h>
stdlib.h>
string.h>
#include<
conio.h>
voidcheck2(void);
voidadd(void);
//新片上架函数
voidread(void);
//浏览碟片
voidshanchu(void);
//删除碟片
voidcheck(void);
//碟片查询函数
voidrent(void);
//碟片借阅函数
voiduseradd(void);
//使用者添加
voidreturnn(void);
//碟片归还函数
intuser_number=2;
//定义会员函数
intcd_number=1;
//定义碟片函数
structcd//碟片结构体
charfilm_name[100];
//碟片名称
charfilm_gongsi[100];
//出品公司
charfilm_daoyan[100];
//导演姓名
charfilm_zhuyan[100];
//主演姓名
charshijie[5];
//上映时间
};
intn;
//借阅标记
structrent//碟片借阅结构体
charusername[10];
//使用者名
charuserxingbie[10];
//使用者性别
intuserage;
//使用者年龄
intyear;
//使用者出生年份
intmonth;
//使用者出生月份
intday;
//使用者出生天数
charfilm_name[10][10];
intrent_time;
//借出日期
intreturn_time;
//归还日期
intmoney;
//租金
structcdCD[1000];
//定义CD函数
structrentRENT[1000];
//定义出租函数
//-----------------------主函数------------------------------------
intmain()//主函数
charchoice;
charop;
title=影碟管理系统"
color0C"
a:
\n\n\t\t\t\t欢迎进入影片信息管理系统\n"
\t\t\t\t------------------------\n"
\t\t\t\t1:
影片添加\n"
\t\t\t\t2:
碟片查询\n"
\t\t\t\t3:
碟片借阅\n"
\t\t\t\t4:
碟片归还\n"
\t\t\t\t5:
借阅者注册\n"
\t\t\t\t6:
碟片浏览\n"
\t\t\t\t7:
碟片删除\n"
\t\t\t\t0:
退出程序\n"
\t\t\t\t请输入你的选择:
\n"
%c"
choice);
switch(choice)//多条件选择判断
case'
1'
:
add();
//碟片添加函数
2'
1.影碟名查询\n"
2.主演名查询\n"
op);
switch(op)
check();
check2();
3'
rent();
//碟片借出函数
4'
returnn();
//碟片归还函数
case'
5'
useradd();
//使用者注册函数
6'
read();
//浏览函数
7'
shanchu();
//删除函数
0'
printf("
感谢您对此系统的使用,再见!
exit(0);
//退出函数
gotoa;
//----------------碟片添加-----------------------
voidadd(void)//新片添加