一、 设计内容。
2、设计开发一个图书管理程序:实现图书的添加、查询、删除、修改、删除等操作。图书信息包括书号、书名、作者、出版社、出版年、库存量等。
具体实现的管理功能要求如下,其中同一操作下不同方式的功能实现采用二级菜单。
1) 输入并显示多部图书的信息。
2) 按照作者、出版社对图书信息进行查询。
3) 对图书信息按照书号、书名进行删除,删除信息前需要进一步确认。
4) 按照书号或书名对图书信息进行修改。
5) 可根据需要添加图书信息到指定位置。
程序所显示的菜单内容如下:
图书管理系统:1、创建2、添加3、查询4、删除5、修改6、显示7、退出请选择:
二、 设计要求。
1、 用c语言实现系统;
2、 利用数组或结构体实现上述题目的数据结构设计;
3、 系统具有增加、查询、修改、删除、排序等基本功能;
4、 系统各部分功能的使用采用菜单选择形式;
5、 系统的各个功能模块要求用函数的形式实现;
6、 完成设计任务并书写课程设计报告。
注:显示或输出可根据需要显式输出(即选择菜单中的输出或显示)或隐式输出(完成某项操作后即刻输出);
三、 设计分析。
create:
menu:menu0
findadd
delete:
四、 课程设计小结。
1、 熟练掌握链表的创建、添加、查找、修改、删除、输出。
2、熟练掌握自定义函数及主函数调用。
3、熟练掌握c语言基础知识。
4、 插入指针new时,要有newnext=null。
5、 fflush(stdin);用于消除缓冲区,无法正确输入时要消除缓冲区。
五、 附源**。
#include <>
#include <>
#include <>
#define null 0
#include <>
structtushu /*结构体*/
char cno[8],cname[12],cwiter[8],cpublish[8];
int ikc;
struct tushu *next;
struct tushu *create
struct tushu *output(struct tushu *head
void menu();
int menu0
struct tushu *find(struct tushu *head);
struct tushu* witerfind (struct tushu *head) ;
struct tushu *publishfind (struct tushu *head);
void menu00();
struct tushu *find0(struct tushu *head);
void error();
void change(struct tushu *head);
struct tushu * delete(struct tushu *head);
void seek(struct tushu *head);
struct tushu * add (struct tushu *head);
menu000();
struct tushu * nofind(struct tushu *head);
struct tushu *find0(struct tushu *head);
struct tushu *namefind(struct tushu *head
structtushu*create() 创建*/
struct tushu *head=null,*new,*tail;
int ii=1;
clrscr();
fflush(stdin);
while(1)
printf("\into name:")
gets(new->cname);
printf("\into witer:")
gets(new->cwiter);
printf("\into publish:")
gets(new->cpublish);
printf("\into ku cun:")
scanf("%d",&new->ikc);
printf("");
if(ii==1)
elseii++;
struct tushu *output(struct tushu *head输出*/
struct tushu *p=head;
clrscr();
printf("no\tname\twiter\tpublish\tku cun");
if(p==null)
while(p!=null)
fflush(stdin);
getchar();
voidmenu() 主菜单*/
int i,ii=1;
for(i=0;i<8;i++)printf("");
printf("\t\t ")
for(i=1;i<27;i++)
printf("%c",ii);
printf("\t\t %c welcome to book system %c",ii,ii);
printf("\t\t ")
for(i=1;i<27;i++)
printf("%c",ii);
printf("\t\t\t %cchoose:",ii+4);
intmenu0() 选择菜单*/
int choose;
scanf("%d",&choose);
fflush(stdin);
return choose;
structtushu*find(structtushu*head查找(书号、书名)*/
int choose;
char witer[8],publish[8],no,name;
struct tushu *p=head,*q;
clrscr();
menu00();
choose=menu0();
while(choose!=3)
switch(choose)
case 1 :
clrscr();
printf("put into witer name:")
gets(witer);
while(p!=null&&strcmp(p->cwiter,witer)!=0)
p=p->next;
if(p==null)
printf("no position");fflush(stdin);getchar();break;
elsereturn p;
case 2 :
clrscr();
printf("put into publish name:")
gets(publish);
while(p!=null&&strcmp(p->cpublish,publish)!=0)
C语言课程课程设计
课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...