C语言课程设计报告
图书信息管理系统设计
55071-13
陈 杰
指导老师:刘文中
C 语言程序设计
编程实践是学习C语言程序设计的一重要环节,上机实习和课程设计是提高同学们程序设计能力的有效途径,能够使同学们初步掌握程序设计的基本方法和调试技能。学校安排上机时间有限,老师也只能教给我们一些方法,而我们自己需要投入很大的时间和精力来锻炼。
1、题目要求
设计“图书信息管理系统”
要求:
图书信息包括:登录号,书名,作者名,分类号,出版单位,出版时间,价格等。使之提供以下功能:c语言编程软件是系统软件吗
(1) 系统以菜单方式工作。
(2) 图书信息录入功能。(图书信息用文件保存)。
(3) 图书信息浏览功能。
(4) 图书信息查询功能。
(5) 图书信息的删除和修改。
2、分析:
根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中,所以应该提供一个结构体和文件的输入输出
等操作;在程序中需实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。
3、总体设计:
根据题目要求,可以将系统分为六个模块:
(1) 管理员登录系统模块。
(2) 菜单选择模块。
(3) 图书信息录入功能模块。
(4) 图书信息浏览功能。
(5) 图书信息查询功能。
(6) 图书信息的删除和修改。
第1页
管理员登录系统模块
菜单选择模块。
菜单选择模块。
菜单选择模块。
菜单菜单选择模块。
(7) 择模块。
图书信息录入功能模块
图书信息浏览功能模块
图书信息查询功能模块
图书信息的删除和修改
图书信息管理系统
4、详细设计:
头函数名:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/*********图书信息结构体*********/
/***包括登录号,书名,作者名,分类号,出版单位,出版时间,价格等***/
struct bookinf
{ int num; ******************************************************登录号
char bname[20];*************************************** 书名
char wname[10];*************************************** 作者名
char clanum[14];*************************************** 分类号
char pubcom[10];*************************************** 出版单位
char pubtime[10];*************************************** 出版时间
float price;********************************************* 价格
};
一管理员登录系统模块:
(1) 来到图书信息管理系统页面
void index()
{
char input; 注释:运行时
printf("\n\n\t\t\t*****************************\n"); 直接进入
printf("\t\t\t 图书信息管理系统\n"); 这个页面
printf("\t\t\t*****************************\n\n\n");
printf(" ------------------------------------------------------------------------------\n");
printf("\t<按任意键进入>\n\t");
input=getchar();
}
(2) 管理员登陆进入功能菜单页面
第2页
开始
输入管理员帐号和密码
输入正确与否
进入功能菜单页面
结束
N
FILE *fp;
struct manage pswd;
if ((fp=fopen("","r"))==NULL)
{
printf("\n\n\n\tCannot open file!\n\t");
}
else
{
do
{
printf("\n\n\t请输入管理员帐号:");
scanf("%s",name);
printf("\n\n\t请输入管理员密码:");
scanf("%s",password);
fp=fopen("","r");
fread(&pswd,sizeof(struct manage),1,fp);
fclose(fp);
w=strcmp(pswd.manage_name,name);
k=strcmp(pswd.password,password);
adm_servelist();
}
while (w!=0||k!=0);
adm_servelist();
}
}
(3)来到功能菜单页面
第3页
void adm_servelist()
{
void book_add();
void book_view();
void change();
void del();
void book_search();
void login();
void pwchange();
int in; 注释:菜单列出的服务种类
char input; 从1,2,3,4,5,6
do 所对应的功能进行选择
{
printf("\n\n\n\t--欢迎使用信息管理系统--");
printf("\n\n\t1.图书信息录入\n");
printf("\t2.图书信息浏览\n");
printf("\t3.图书信息查询\n");
printf("\t4.图书信息删除\n");
printf("\t5.图书信息修改\n");
printf("\t6.退出管理模式\n");
printf("\n\t请选择服务种类:");
scanf("%d",&in);
if (in!=1&&in!=2&&in!=3&&in!=4&&in!=5&&in!=6)
{
printf("\n\t没有这项服务~\n");
printf("\t按任意键重新选择");
input=getchar();
}
}
while (in!=1&&in!=2&&in!=3&&in!=4&&in!=5&&in!=6);
switch (in)
{
case 1: book_add(); break; 注释:选择自己所需要
case 2: book_view(); break; 后摁下数字键则
case 3: book_search(); break; 则进入此功能页面
case 4: del(); break;
case 5: change();break;
case 6: login(); break;
}
}
(3) 图书信息录入功能模块
void book_add()
{
第4页
void adm_servelist();
void book_add();
int i=0,j;
FILE *fp;
char input; 注释:输入的图书信息
struct bookinf books; 是通过文件进行
struct bookinf book_taxis[30]; 保存的
printf("\n\n\n\t---请输入图书信息---\n\n");
printf("\t登录号:");
scanf("%d",&books.num);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论