大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
C语言课程设计报告
第
第 PAGE 1 页
《程序设计语言-C》
课程设计报告
题目:图书管理系统
班级:
学号:
姓名:
2016年5月12日
目录
程序总体功能
新增功能
函数调用关系
主要算法流程图
排序算法流程图
插入算法流程图
过程难点及解决方法
附录:源程序
一:程序总体功能
本图书管理系统可以实现图书管理的基本功能,包括图书信息的录入、输出、排序、删除、查找及批量导入/导出等。图书属性信息包括书号、书名、第一作者、版次、出版年信息。
二:新增功能
数据校验功能:即在程序运行之前对输入数据的有效性进行判断,若输入数据不合逻辑则输出“数据输入有误,请核实后再输”不再执行后续程序,以此增加程序运行的效率。在本课程设计的删除记录功能中,按照要求输入要删除图书的书名后要接着输入书号来删除图书,若所输入书号不在正确书号范围内(书号输入错误),将直接终止程序,不再执行后续的删除程序。
三:函数调用关系
函数说明:
0.退出系统
1.数据输入函数:int Input(Bookinfo books[],int n)
2.数据输出函数:void Display(Bookinfo books[],int n)
3.删除记录函数(1):int Delete(Bookinfo books[],int n,char *book)
删除记录函数(2):int Delete_a_record(Bookinfo books[],int n)
4.排序函数:void Sort_by_name(Bookinfo books[],int n)
5.有序插入函数(1):int Insert(Bookinfo books[],int n, Bookinfo *s)
有序插入函数(2):int Insert_a_record(Bookinfo books[],int n)
数据查询函数(1):int Query(Bookinfo books[],int n,char *book)
数据查询函数(2):void Query_a_record(Bookinfo books[],int n)
从文件导入数据函数:int AddfromText(Bookinfo books[],int n)
记录数据写入文件函数:void WritetoText(Bookinfo books[],int n)
主菜单函数:int menu_select()
主函数:void main()
函数调用关系:(箭头指向被调用函数)
数据输入函数11
数据输入函数1
主函数10
主函数10
数据输出函数22
数据输出函数2
循环调用
循环调用
删除记录函数3(1)
删除记录函数3(1)
删除记录函数3(2)
排序函数4
排序函数4
主菜单函数9有序插入函数5
主菜单函数9
有序插入函数5(1)
有序插入函数5(2)
数据查询函数6(
数据查询函数6(1)
数据查询函数6(2)
从文件导入数据函数7
从文件导入数据函数7
将记录数据写入文件函数8
将记录数据写入文件函数8
8
退出系统
0
四:主要算法流程图
排序算法(数组按书名升序排序)
已有结构体数组Bookinfo books[]及数组元素个数n;
定义整型量i,j,p;
定义结构体变量 l;
开始
i=0; j=0;p=0;
否
i
是
p=i
j=i+1
否 j
是
strcmp(books[j].book,books[p].book)=-1
是
否p=j
否
j=j+1
否
p≠ii=i+1
是
l=books[p]
books[p]=books[i]
books[i]=l
结束
插入算法(输入图书信息,按书名有序插入)
已有结构体数组Bookinfo books[]及数组元素个数n;
(1)输入待插入的图书信息,调用Insert函数
开始
Bookinf
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183216.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...