语c言课程设计影碟信息管理系统大学论文.docx

上传人:b****6 文档编号:7209774 上传时间:2023-01-21 格式:DOCX 页数:35 大小:160.74KB
下载 相关 举报
语c言课程设计影碟信息管理系统大学论文.docx_第1页
第1页 / 共35页
语c言课程设计影碟信息管理系统大学论文.docx_第2页
第2页 / 共35页
语c言课程设计影碟信息管理系统大学论文.docx_第3页
第3页 / 共35页
语c言课程设计影碟信息管理系统大学论文.docx_第4页
第4页 / 共35页
语c言课程设计影碟信息管理系统大学论文.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

语c言课程设计影碟信息管理系统大学论文.docx

《语c言课程设计影碟信息管理系统大学论文.docx》由会员分享,可在线阅读,更多相关《语c言课程设计影碟信息管理系统大学论文.docx(35页珍藏版)》请在冰豆网上搜索。

语c言课程设计影碟信息管理系统大学论文.docx

语c言课程设计影碟信息管理系统大学论文

内蒙古科技大学

本科生课程设计说明书

 

题目:

C语言课程设计

——影碟信息管理系统

学生姓名:

学号:

专业:

软件工程

班级:

软件一班

指导教师:

日期:

2016年1月5日

 

内蒙古科技大学课程设计任务书

课程名称

C语言课程设计

设计题目

影碟信息管理系统

指导教师

时间

2016.1.5-2016.1.9

一、教学要求

1.巩固和加深学生对C语言课程的基本知识的理解和掌握

2.掌握C语言编程和程序调试的基本技能

3.利用C语言进行基本的软件设计

4.掌握书写程序设计说明文档的能力

5.提高运用C语言解决实际问题的能力

二、设计资料及参数

每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。

影碟信息管理系统

图影碟息包括:

电影名称、出品公司、导演姓名、主演姓名(至少2个)、上映时间、库存数量、价格等。

试设计一影碟信息管理系统,使之能提供以下功能:

v影碟信息录入功能(影碟信息用文件保存)--输入;影碟信息浏览功能--输出

v查询或排序功能:

(至少两种查询方式)--算法

●按电影名称查询●按主演姓名查询

v影碟信息的插入、删除与修改

v影碟的借出与归还

三、设计要求及成果

1.分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)

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("请输入碟片名称:

\n");

scanf("%s",CD[cd_number].film_name);

printf("请输入出品公司:

\n");

scanf("%s",CD[cd_number].film_gongsi);

printf("请输入导演姓名:

\n");

scanf("%s",CD[cd_number].film_daoyan);

printf("请输入主演姓名:

\n");

scanf("%s",CD[cd_number].film_zhuyan);

printf("请输入上映时间:

\n");

scanf("%s",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

{

a=fopen("cd.txt","ab");

fwrite(&CD[cd_number],sizeof(structcd),1,a);

}

cd_number++;

printf("影片添加成功\n");

fclose(a);

printf("输入任意键返回");

getch();

}

3.2输出模块设计

voidread(void)

{

inti;

system("cls");

for(i=1;i

{

printf("\n\n");

printf("碟片名称:

");

printf("%s\n",CD[i].film_name);

printf("出品公司:

");

printf("%s\n",CD[i].film_gongsi);

printf("导演姓名:

");

printf("%s\n",CD[i].film_daoyan);

printf("主演姓名:

");

printf("%s\n",CD[i].film_zhuyan);

printf("上映时间:

");

printf("%s\n",CD[i].shijie);

}

printf("输入任意键返回");

getch();

}

3.3查找模块设计

voidcheck(void)//

{

inti;

charcd_name[10];

system("cls");

printf("请要查询的输入碟片名:

\n");

scanf("%s",cd_name);

for(i=0;i

{

if(strcmp(CD[i].film_name,cd_name)==0)

{

printf("\n\n");

printf("碟片名称:

");

printf("%s\n",CD[i].film_name);

printf("出品公司:

");

printf("%s\n",CD[i].film_gongsi);

printf("导演姓名:

");

printf("%s\n",CD[i].film_daoyan);

printf("主演姓名:

");

printf("%s\n",CD[i].film_zhuyan);

printf("上映时间:

");

printf("%s\n",CD[i].shijie);

break;

}

if(i==cd_number)

printf("抱歉,不能找到。

\n");

}

getchar();

printf("输入任意键返回");

getch();

}

3.4借阅及归还模块设计

voidrent(void)

{

intn;

charuser_name[10];

charcd_name[10];

FILE*a;//

FILE*b;//

intk=0;

inti,j;

a=fopen("rent.txt","r");

b=fopen("cd.txt","r");

for(i=0;i

{

fread(&CD[i],sizeof(structcd),1,b);

}

for(i=0;i

{

fread(&RENT[i],sizeof(structrent),1,a);

}

printf("请输入借阅人:

\n");

scanf("%s",user_name);

getchar();

printf("请输入碟片名称\n");

scanf("%s",cd_name);

getchar();

printf("请再次输入碟片名称:

\n");

scanf("%s",RENT[i].film_name[k]);

k++;

getchar();

printf("已借%d张\n",k);

for(j=0;j

{

if((strcmp(CD[j].film_name,cd_name))==0)

{

n=0;

}

}

printf("请输入借出日期:

\n");

scanf("%d",&RENT[i].rent_time);

printf("借阅成功\n");

fclose(a);

fclose(b);

printf("输入任意键返回");

getch();

}

voidreturnn(void)//

{

intn;

charuser_name[10];

charcd_name[10];

FILE*a;

FILE*b;

inti;

intj;

intk=0;

a=fopen("rent.txt","r");

b=fopen("cd.txt","r");

for(i=0;i

{

fread(&CD[i],sizeof(structcd),1,b);

}

for(i=0;i

{

fread(&RENT[i],sizeof(structrent),1,a);

}

printf("请输入借阅人:

\n");

scanf("%s",user_name);

for(i=0;i

{

if((strcmp(user_name,RENT[i].username))==0)

{

printf("输入要归还的碟片名:

\n");

scanf("%s",cd_name);

for(j=0;j

{

if((strcmp(CD[j].film_name,cd_name))==0)

{

n=1;

break;

}

}

}

}

printf("借出日期:

%d\n",RENT[i].rent_time);

printf("归还日期:

\n");

scanf("%d",&RENT[i].return_time);

getchar();

if(((RENT[i].return_time-RENT[i].rent_time)%3)==0)

{

RENT[i].money=(RENT[i].return_time-RENT[i].rent_time)/3;

}

else

{

RENT[i].money=(RENT[i].return_time-RENT[i].rent_time)/3+1;

}

printf("租金:

%d\n",RENT[i].money);

printf("输入任意键返回");

getch();

fclose(a);

fclose(b);

}

3.5删除及读取模块设计

voidshanchu(void)

{

inti,j,key;

charcd_name[10];

system("cls");

printf("请输入要删除的碟片:

");

scanf("%s",&cd_name);

if(cd_name==0)return;

for(i=0;i

{

if(strcmp(CD[i].film_name,cd_name)==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;

printf("删除成功!

");

getchar();

printf("输入任意键返回");

getch();

}

}

if(key!

=1)

{

printf("无此碟片!

");

printf("您可以与管理员取得联系,希望对您有所帮助!

");

getchar();

printf("输入任意键返回");

getch();

}

}

voidcheck2(void)//

{

inti;

charcd_zhuyan[10];

system("cls");

printf("请输入要查询的主演名:

\n");

scanf("%s",cd_zhuyan);

for(i=0;i

{

if(strcmp(CD[i].film_zhuyan,cd_zhuyan)==0)

{

printf("\n\n");

printf("碟片名称:

");

printf("%s\n",CD[i].film_name);

printf("出品公司:

");

printf("%s\n",CD[i].film_gongsi);

printf("导演姓名:

");

printf("%s\n",CD[i].film_daoyan);

printf("主演姓名:

");

printf("%s\n",CD[i].film_zhuyan);

printf("上映时间:

");

printf("%s\n",CD[i].shijie);

break;

}

}

if(i==cd_number)

printf("抱歉,不能找到。

\n");

getchar();

printf("输入任意键返回");

getch();

}

附录:

程序代码

#include

#include

#include

#include

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;

system("title=影碟管理系统");

system("color0C");

system("cls");

a:

printf("\n\n\t\t\t\t欢迎进入影片信息管理系统\n");

printf("\t\t\t\t------------------------\n");

printf("\t\t\t\t1:

影片添加\n");

printf("\t\t\t\t2:

碟片查询\n");

printf("\t\t\t\t3:

碟片借阅\n");

printf("\t\t\t\t4:

碟片归还\n");

printf("\t\t\t\t5:

借阅者注册\n");

printf("\t\t\t\t6:

碟片浏览\n");

printf("\t\t\t\t7:

碟片删除\n");

printf("\t\t\t\t0:

退出程序\n");

printf("\t\t\t\t------------------------\n");

printf("\t\t\t\t请输入你的选择:

\n");

scanf("%c",&choice);

switch(choice)//多条件选择判断

{

case'1':

{

system("cls");

add();//碟片添加函数

break;

}

case'2':

{

system("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;

}

case'5':

{

system("cls");

useradd();//使用者注册函数

break;

}

case'6':

{

system("cls");

read();//浏览函数

break;

}

case'7':

{

system("cls");

shanchu();//删除函数

break;

}

case'0':

system("cls");

printf("感谢您对此系统的使用,再见!

\n");

exit(0);//退出函数

}

system("cls");

gotoa;

}

//----------------碟片添加-----------------------

voidadd(void)//新片添加

{

FILE*a;//文件指针

printf("提示:

当输入多个人名或片名时请用逗号隔开!

\n");

printf("请输入碟片名称:

\n");

scanf("%s",CD[cd_number].film_name);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1