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小时内删除。