欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    图书销售系统 C语言 C++ 数据结构 链表 课程设计.docx

    • 资源ID:3377718       资源大小:38.89KB        全文页数:23页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    图书销售系统 C语言 C++ 数据结构 链表 课程设计.docx

    图书销售系统 C语言 C+ 数据结构 链表 课程设计#include&ltstdio.h&gt#include&ltstdlib.h&gt#include&ltmemory.h&gt#include&ltstring.h&gt#include&ltconio.h&gt/* 销售信息结构定义 */typedef struct Bookchar id32;char sn32;char name32;char author32;char type32;char press32;char publish_time32;char price32;char sale_time32;char salesman32;char number32;struct Book* next;/* 指向链表的下一个节点 */Book;/* 链表头 */Book* head = NULL;/* 记录条数 */int size = 0;/* 从键盘得到一项数据 */void get_item(char* name, char* value)printf("%s:", name);scanf("%s", value);/* 输入一条新纪录 */Book* new_recordBook* book = malloc(sizeof(Book);memset(book, 0, sizeof(Book);fflush(stdin);get_item("id", book-&gtid);get_item("sn", book-&gtsn);get_item("name", book-&gtname);get_item("author", book-&gtauthor);get_item("type", book-&gttype);get_item("press", book-&gtpress);get_item("publish time", book-&gtpublish_time);get_item("price", book-&gtprice);get_item("sale time", book-&gtsale_time);get_item("salesman", book-&gtsalesman);get_item("number", book-&gtnumber);return book;/* 保存一项数据 */void save_item(FILE* fp, char* value)fwrite(value, 32, 1, fp);/* 从文件读取一项数据 */void load_item(FILE* fp, char* value)fread(value, 32, 1, fp);/* 保存到文件 */void saveBook* book = head;FILE* fp = fopen("BookSale.txt", "wb");fwrite(&size, sizeof(size), 1, fp);while(book)save_item(fp, book-&gtid);save_item(fp, book-&gtsn);save_item(fp, book-&gtname);save_item(fp, book-&gtauthor);save_item(fp, book-&gttype);save_item(fp, book-&gtpress);save_item(fp, book-&gtpublish_time);save_item(fp, book-&gtprice);save_item(fp, book-&gtsale_time);save_item(fp, book-&gtsalesman);save_item(fp, book-&gtnumber);book = book-&gtnext;fclose(fp);/* 向链表中添加新纪录 */void add_record(Book* book)if(head=NULL)head = book;elseBook* temp = head;while(temp-&gtnext)temp = temp-&gtnext;temp-&gtnext = book;/* 从文件中读取所有记录 */void loadint i;FILE* fp = fopen("BookSale.txt", "rb");fread(&size, sizeof(size), 1, fp);if(feof(fp)size = 0;return;for(i=0; i&ltsize; i+)Book* book = malloc(sizeof(Book);memset(book, 0, sizeof(Book);load_item(fp, book-&gtid);load_item(fp, book-&gtsn);load_item(fp, book-&gtname);load_item(fp, book-&gtauthor);load_item(fp, book-&gttype);load_item(fp, book-&gtpress);load_item(fp, book-&gtpublish_time);load_item(fp, book-&gtprice);load_item(fp, book-&gtsale_time);load_item(fp, book-&gtsalesman);load_item(fp, book-&gtnumber);add_record(book);fclose(fp);/* 从链表中删除一条记录 */void remove_record(Book* book)Book* temp = head; if(book=head)head = book-&gtnext;while(temp)if(temp-&gtnext=book)temp-&gtnext = book-&gtnext;break;temp = temp-&gtnext;free(book);size-;save;/* 根据name查询 */Book* get_by_nameint i = 0;char name32;Book* temp = head;Book* books = malloc(sizeof(Book*)*size);memset(books, 0, sizeof(Book*)*size);printf("Please input the book name:");scanf("%s", name);while(temp)if(strcmp(temp-&gtname, name)=0) booksi+ = temp;temp = temp-&gtnext;return books;/* 根据name排序 */Book* sort_by_nameBook* books = malloc(sizeof(Book*)*size);int i = 0, j;Book* temp = head;while(temp)booksi+ = temp;temp = temp-&gtnext;for(i=0; i&ltsize-1; i+)for(j=1; j&ltsize-i; j+)if(strcmp(booksj-&gtname, booksj-1-&gtname)&lt0)Book* t = booksj;booksj = booksj-1;booksj-1 = t;return books;Book* get_by_authorint i = 0;char author32;Book* temp = head;Book* books = malloc(sizeof(Book*)*size);memset(books, 0, sizeof(Book*)*size);printf("Please input the author:");scanf("%s", author);while(temp)if(strcmp(temp-&gtauthor, author)=0) booksi+ = temp;temp = temp-&gtnext;return books;Book* sort_by_authorBook* books = malloc(sizeof(Book*)*size);int i = 0, j;Book* temp = head;while(temp)booksi+ = temp;temp = temp-&gtnext;for(i=0; i&ltsize-1; i+)for(j=1; j&ltsize-i; j+)if(strcmp(booksj-&gtauthor, booksj-1-&gtauthor)&lt0)Book* t = booksj;booksj = booksj-1;booksj-1 = t;return books;Book* get_by_timeint i = 0;char time32;Book* temp = head;Book* books = malloc(sizeof(Book*)*size);memset(books, 0, sizeof(Book*)*size);printf("Please input the time:");scanf("%s", time);while(temp)if(strcmp(temp-&gtsale_time, time)=0) booksi+ = temp;temp = temp-&gtnext;return books;Book* sort_by_timeBook* books = malloc(sizeof(Book*)*size);int i = 0, j;Book* temp = head;while(temp)booksi+ = temp;temp = temp-&gtnext;for(i=0; i&ltsize-1; i+)for(j=1; j&ltsize-i; j+)if(strcmp(booksj-&gtsale_time, booksj-1-&gtsale_time)&lt0)Book* t = booksj;booksj = booksj-1;booksj-1 = t;return books;Book* get_by_salesmanint i = 0;char salesman32;Book* temp = head;Book* books = malloc(sizeof(Book*)*size);memset(books, 0, sizeof(Book*)*size);printf("Please input the salesman:");scanf("%s", salesman);while(temp)if(strcmp(temp-&gtsalesman, salesman)=0) booksi+ = temp;temp = temp-&gtnext;return books;Book* sort_by_salesmanBook* books = malloc(sizeof(Book*)*size);int i = 0, j;Book* temp = head;while(temp)booksi+ = temp;temp = temp-&gtnext;for(i=0; i&ltsize-1; i+)for(j=1; j&ltsize-i; j+)if(strcmp(booksj-&gtsalesman, booksj-1-&gtsalesman)&lt0)Book* t = booksj;booksj = booksj-1;booksj-1 = t;return books;/* 向屏幕输出一项数据 */void put_item(char* name, char* value)printf("%s:t%sn", name, value);/* 向屏幕输出一条记录 */void output(Book* book)put_item("id", book-&gtid);put_item("sn", book-&gtsn);put_item("name", book-&gtname);put_item("author", book-&gtauthor);put_item("type", book-&gttype);put_item("press", book-&gtpress);put_item("publish time", book-&gtpublish_time);put_item("price", book-&gtprice);put_item("sale time", book-&gtsale_time);put_item("salesman", book-&gtsalesman);put_item("number", book-&gtnumber);printf("n");/* 输出整个链表内容 */void output_listBook* temp = head;while(temp)output(temp);temp = temp-&gtnext;/system("pause");getch;/* 输出查询或排序结果的数组 */void output_array(Book* books)int i;for(i=0; i&ltsize; i+)if(booksi=0)break;output(booksi);/system("pause");getch;/* 显示菜单 */int menuint key = 0;/system("cls");clrscr;printf("ttttBook Sale Systemn");printf("ttt1.Add new record n");printf("ttt2.Delete record n");printf("ttt3.Browse all recordsn");printf("ttt4.Query by namen");printf("ttt5.Query by authorn");printf("ttt6.Query by sale timen");printf("ttt7.Query by salesmann");printf("ttt8.Sort by namen");printf("ttt9.Sort by authorn");printf("ttt10.Sort by sale timen");printf("ttt11.Sort by salesmann");printf("ttt12.Quitn");fflush(stdin);scanf("%d", &key);return key;/* 删除一条数据 */void delete_recordchar id32;Book* book = head;printf("Please input the id of record:");scanf("%s", id);while(book)if(strcmp(book-&gtid, id)=0)remove_record(book);break;book = book-&gtnext;/* 主函数 */void mainload;while(1)int key = menu;switch(key)case 1:add_record(new_record);size+;save;break;case 2:delete_record;save;break;case 3:output_list;break;case 4:output_array(get_by_name);break;case 5:output_array(get_by_author);break;case 6:output_array(get_by_time);break;case 7:output_array(get_by_salesman);break;case 8:output_array(sort_by_name);break;case 9:output_array(sort_by_author);break;case 10:output_array(sort_by_time);break;case 11:output_array(sort_by_salesman);break;case 12:return;break;default:break;

    注意事项

    本文(图书销售系统 C语言 C++ 数据结构 链表 课程设计.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开