当前位置: 首页 > news >正文

大连响应式网站制作jsp做物流网站

大连响应式网站制作,jsp做物流网站,百度号码认证平台首页,作文网有哪些目录 书籍存储的实现规划 ​编辑 前置准备#xff1a; 书籍结构体#xff1a; 书籍展示的初始化和文件加载 书籍展示的销毁和文件保存 书籍展示的容量检查 书籍展示的尾插实现 书籍展示的书籍增加 书籍展示的书籍打印 书籍删除展示数据 书籍展示修改数据 在指定位置之前…目录 书籍存储的实现规划 ​编辑 前置准备 书籍结构体 书籍展示的初始化和文件加载 书籍展示的销毁和文件保存 书籍展示的容量检查 书籍展示的尾插实现 书籍展示的书籍增加 书籍展示的书籍打印 书籍删除展示数据 书籍展示修改数据 在指定位置之前删除数据 书籍查找展示数据 测试文件 源代码文件 书籍存储的实现规划 前置准备 文件前置创建 BookList.h  -  头文件声明BookList.c  -  实现功能text.c           -  测试文件 创建书籍结构体创建动态内存 BookList 结构体的创建  为了方便后续更改我们有以下定义  1.书名  2.作者  3.价格  4.分类  5.编号 #define BOOKNAME 100 #define AUTHOR 50 #define TYPE 30 #define ID 50 书籍结构体 typedef struct BookList {char book_name[BOOKNAME]; //书名char author[AUTHOR]; //作者float price; //价格char type[TYPE]; //分类char id[ID]; //编号 }BookList; 定义类型方便更改 typedef BookList SLDataType; 创建动态顺序表  typedef struct Book {SLDataType* arr; //指针变量指向结构体类型元素的数组int size; //有效数据的个数int capacity; //空间容量大小 }Book; 书籍展示的初始化和文件加载 void BookInit(Book* book); void LoadBook(Book* book); // 书籍展示的初始化和文件加载 void BookInit(Book* book) {book-arr NULL;book-size book-capacity 0;LoadBook(book); }void LoadBook(Book* book) {FILE* pf fopen(booklist, rb);if (NULL pf){perror(fopen booklist error!);return;}//加载文件BookList b2;while (fread(b2, sizeof(BookList), 1, pf)){//尾插BookPushBack(book, b2);}printf(数据加载成功\n);fclose(pf);pf NULL; } 书籍展示的销毁和文件保存 void BookDestroy(Book* book); void SaveBook(Book* book);// 书籍展示的销毁和文件保存 void SLDestroy(Book* ps) {if (ps-arrNULL) //判断ps-arr是否为NULL,如果不为NULL,说明空间需要释放{free(ps-arr);}ps-arr NULL;ps-size ps-capacity 0; }void BookDestroy(Book* book) {SaveBook(book);SLDestroy(book); }// 图书书籍存储 void SaveBook(Book* book) {FILE* pd fopen(booklist, wb);if (NULL pd){perror(fopen booklist error!);return;}// 存储书籍数据for (int i 0; i book-size; i){fwrite(book-arri, sizeof(BookList), 1, pd);}printf(数据保存成功\n);fclose(pd);pd NULL; } 书籍展示的容量检查 void BookCheckCapacity(Book* book); // 书籍展示的容量检查 void BookCheckCapacity(Book* book) {if (book-capacity book-size){int newcapacity book-capacity 0 ? 4 : book-capacity * 2;//动态内存分配SLDataType* tmp (SLDataType*)realloc(book-arr, newcapacity * sizeof(SLDataType));if (NULL tmp){perror(realloc error!);return;}book-arr tmp;book-capacity newcapacity;} } 书籍展示的尾插实现 void BookPushBack(Book* book, SLDataType x); // 书籍展示的尾插实现 void BookPushBack(Book* book, SLDataType x) {assert(book);//尾插之前检查内存是否够BookCheckCapacity(book);//进行尾插book-arr[book-size] x; } 书籍展示的书籍增加 void BookAdd(Book* book); // 书籍展示的书籍增加 void BookAdd(Book* book) {// 1.书名 2.作者 3.价格 4.分类 5.编号BookList b1;printf(请输入你要添加的书籍名字\n);scanf(%s, b1.book_name);printf(请输入你要添加的书籍作者\n);scanf(%s, b1.author);printf(请输入你要添加的书籍价格\n);scanf(%f, (b1.price));printf(请输入你要添加的书籍分类\n);scanf(%s, b1.type);printf(请输入你要添加的书籍编号\n);scanf(%s, b1.id);// 添加数据BookPushBack(book, b1);printf(添加成功\n); } 书籍展示的书籍打印 void BookPint(Book* book); // 书籍展示的书籍打印 void BookPint(Book* book) {// 1.书名 2.作者 3.价格 4.分类 5.编号printf(%-10s %-10s %-10s %-10s %-15s\n, 书名, 作者, 价格, 分类, 编号);printf(-------------------------------------------------------------\n);for (int i 0; i book-size; i){printf(%-10s %-10s %-10.1f %-10s %-15s\n,book-arr[i].book_name,book-arr[i].author,book-arr[i].price,book-arr[i].type,book-arr[i].id);} } 书籍删除展示数据 void BookDel(Book* book); //删除书籍展示数据 void BookDel(Book* book) {// 在删除之前先检查数据存不存在char name[BOOKNAME];printf(请输入您需要删除的书籍\n);scanf(%s, name);int find FindByName(book, name);if (find 0){printf(无法找到需要删除的图书\n);return;}SLErase(book, find);printf(删除成功\n); } 书籍展示修改数据 void BookModify(Book* book); //书籍展示修改数据 void BookModify(Book* book) {//要修改的书籍需要存在char name[BOOKNAME];printf(请输入你需要修改的图书名字\n);scanf(%s, name);//查找书籍看是否存在int find FindByName(book, name);if (find 0){printf(无法找到需要修改的图书\n);return;}//直接修改printf(请输入新的图书名字\n);scanf(%s, book-arr[find].book_name);printf(请输入新的图书作者\n);scanf(%s, book-arr[find].author);printf(请输入新的图书价格\n);scanf(%f, (book-arr[find].price));printf(请输入新的图书分类\n);scanf(%s, book-arr[find].type);printf(请输入新的图书编号\n);scanf(%s, book-arr[find].id);printf(修改成功\n); } 在指定位置之前删除数据 void SLErase(Book* book, int pos); //在指定位置之前删除数据 void SLErase(Book* book, int pos) {assert(book);//断言防止传入空指针//判断删除的数据是否合法if (pos 0 pos book-size){// 删除数据for (int i pos; i book-size - 1; i){book-arr[i] book-arr[i 1];//ps-[size-2]ps-arr[size-1]}--book-size;} } 书籍查找展示数据 void BookFind(Book* book); //查找图书数据 void BookFind(Book* book) {char name[BOOKNAME];printf(请输入你要查找的书籍名字\n);scanf(%s, name);//检查图书数据是否存在int find FindByName(book, name);if (find 0){printf(您要查找的书籍不存在!\n);return;}// 1.书名 2.作者 3.价格 4.分类 5.编号printf(%-10s %-10s %-10s %-10s %-15s\n, 书名, 作者, 价格, 分类, 编号);printf(-------------------------------------------------------------\n);//找到了printf(%-10s %-10s %-10.1f %-10s %-15s\n,book-arr[find].book_name,book-arr[find].author,book-arr[find].price,book-arr[find].type,book-arr[find].id); } 测试文件 #define _CRT_SECURE_NO_WARNINGS 1 #include BookList.h #include windows.henum book_name {ExitBook, // 0AddBook, // 1DelBook, //...PrintBook,ChangeBook,CheckBook };void book_print() {printf(*****************书籍录*********************\n);printf(*************1. 增添图书********************\n);printf(*************2. 删除图书********************\n);printf(*************3. 打印图书********************\n);printf(*************4. 修改图书********************\n);printf(*************5. 查找图书********************\n);printf(*************0. 退出图书录******************\n); }int main() {Book b1;// 创建通讯录对象实际上就是顺序表对象等价于 SL sl//顺序表的创建BookInit(b1);int op -1;do{book_print();printf(请选择你的操作\n);scanf(%d, op);switch (op){case ExitBook:printf(退出图书录系统...\n);Sleep(1000);break;case AddBook:BookAdd(b1);Sleep(1000);break;case DelBook:BookDel(b1);Sleep(1000);break;case PrintBook:BookPint(b1);Sleep(1000);break;case ChangeBook:BookModify(b1);Sleep(1000);break;case CheckBook:BookFind(b1);Sleep(1000);break;default:printf(选择错误请重新选择\n);Sleep(1000);break;}} while (op ! 0);// 顺序表的销毁BookDestroy(b1);return 0; } 源代码文件 BookList_2024_4_5 · 34c38d2 · 阳区欠/C语言学习路程 - Gitee.com
http://www.hkea.cn/news/14441874/

相关文章:

  • 海尔商务网站建设做常识的网站
  • 高端品牌网站建设(杭州)html编辑器在哪里
  • 兰州网站设计哪个平台好wordpress订单
  • 网站模板安装教程麒麟区住房和城乡建设局网站
  • 厦门做网站设计最新百度快速排名技术
  • 网站站内优化案例百科创建
  • 网站更改域名免费wordpress托管服务商
  • 网站定制开发wordpress data
  • 做设计用的素材下载网站广州嘉怡服饰有限公司网站建设
  • 慈溪做网站公司哪家好wordpress tag list
  • 网站免费正能量软件直播汕头网站建设科技有限公司
  • 网站开发一般用什么软件有哪些中文wordpress插件
  • 江西省网站备案山东网站定制策划
  • 制作网站river网站展示模板psd下载
  • 如何向谷歌提交网站小程序推广运营公司
  • 肯德基网站建设的目标天眼查询个人怎么查
  • 深圳网站建设公司联缤纷销客crm
  • 滕州微信网站做外国网用哪些网站有哪些
  • 局域网内服务器做网站服务器吗放几个网站
  • 轻奢风格装修图片德州网站建设优化
  • 二极管 东莞网站建设济南定机票网站建设
  • 如何做网站程序湛江网站建设服务
  • 做软件跟网站哪个难yahoo提交网站入口
  • hanchengkeji杭州网站建设门户网站制作模板
  • 网站域名缴费十年图片wordpress主题
  • 做气球装饰可以上哪些网站创业网站平台排名
  • 建设专业网站中国纪检监察报社社长
  • 石家庄手机网站建设公司html 新手入门
  • 100个最全的免费网站网页设计电脑配置推荐
  • 做信息网站怎么样网站建设销售好