欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《C语言程序》课程设计-图书管理系统(共15页).doc

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

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

    《C语言程序》课程设计-图书管理系统(共15页).doc

    精选优质文档-倾情为你奉上C语言程序课程设计报告书设计题目: 图书管理系统 专业:软件工程 班级: 3班 学生姓名: 张欣然 学号: 指导教师: 陈莉娜 设计题目图书管理系统主要包括管理图书的库存信息、每一本书的借阅信息以及每一个人的借书信息。每一种图书的库存信息包括编号、书名、作者、出版社、出版日期、金额、类别、总入库数量、当前库存量、已借出本数等。每一本被借阅的书都包括如下信息:编号、书名、金额、借书证号、借书日期、到期日期、罚款金额等。每一个人的借书信息包括借书证号、姓名、班级、学号等。系统功能包括以下方面:A、借阅资料管理要求把书籍、期刊、报刊分类管理,这样的话操作会更加灵活和方便,可以随时对其相关资料进行添加、删除、修改、查询等操作。B、借阅管理  (1) 借出操作    (2) 还书操作    (3) 续借处理提示:以上处理需要互相配合以及赔、罚款金额的编辑等操作完成图书借还业务的各种登记。例如:读者还书时不仅更新图书的库存信息,还应该自动计算该书应罚款金额。并显示该读者所有至当日内到期未还书信息。C、读者管理   读者等级:对借阅读者进行分类处理,例如可分为教师和学生两类。并定义每类读者的可借书数量和相关的借阅时间等信息。 读者管理:对读者信息可以录入,并且可对读者进行挂失或注销、查询等服务的作业。D、统计分析      随时可以进行统计分析,以便及时了解当前的借阅情况和相关的资料状态,统计分析包括借阅排行榜、资料状态统计和借阅统计、显示所有至当日内到期未还书信息等功能分析。E 系统参数设置:可以设置相关的罚款金额,最多借阅天数等系统服务器参数。根据题目分析总体作品分为6个模块1. 图书数据2. 借书人信息3. 借书模块4. 还书模块5. 图书管理6. 查询模块第一模块:书号,书名,作者,出版时间,价格,册数,页数。第二模块:姓名,单位,所借书目,借阅时间第三模块:输入书名,编号,借书证第四模块:登记借书号,还书操作,罚款处理第五模块:对书库中的书进行管理,新书入库,旧书删除,书库查询第六模块:书的查询。 数据测试 源代码汉字菜单的编写可参照以下代码:#include "stdio.h". main() char c; int i; do clrscr(); for(i=0;i<80;i+) printf("*"); printf("t 1: add booksn"); printf("t 2: list booksn"); printf("t 3: sreach booksn"); printf("t 4: borrow booksn"); printf("t 5: return booksn"); printf(“t6: exitn”) printf("t请选择输入选项123456:n"); do c=getchar(); while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&!=6); getchar(); switch(c) case '1': input(); break; case '2': del(); break; case '3': find(); break; case '4': arrange(); break; case 5: right(); break;case '6': exit(0); printf(" 按任意键返回主菜单:n"); getchar(); clrscr(); while(1); #include <stdio.h>#include <stdlib.h>#include <string.h>#define BORROWED     1#define NOBORROW     0/* 定义图书结构 */struct Book    int   _id;            / 编号,唯一    char _name32;    / 图书的名称,不唯一    int   _type;        / 图书的类型,不唯一    int   _status;        / 图书的状态,借出/没有借出    int   _count;        / 图书借出的次数    struct Book* _next; / 下一本书    struct Book* _prev; / 上一本书;/* 定义图书类型 */typedef struct Book Book;/* 操作的目录提示 */char book_menu32 =    "add books",    "list books",    "search books",    "borrow books",    "return books",    "exit",    "",;/* 操作的目录提示1 */char book_menu_sub32 =    "search books by name",    "search books by type",    "",;/* 添加图书类型,用户信息显示 */char book_types32 =    "type0",    "type1",    "type2",    "",;/* 添加图书状态,用户信息显示 */char book_status32 =    "noborrow",    "borrowed",    "",;/* 增加图书,id自动排号 */int add_books(Book* head, Book* book_for_add)    Book* p = head;    if (!p)        return -1;    while (p->_next)            p = p->_next;    ;    p->_next = book_for_add;    book_for_add->_id = p->_id+1;    book_for_add->_prev = p;    book_for_add->_next = NULL;    book_for_add->_count = 0;    book_for_add->_status = 0;    return 0;/* 建立图书管理链表 */Book* create_list(Book* book_head)    if (book_head)            book_head->_prev = book_head;        book_head->_next = NULL;        book_head->_id = 1;        book_head->_count = 0;        book_head->_status = 0;        return book_head;/* 释放链表 */void free_list(Book* book_head)    Book *p, *p1;    p = book_head;    while(p)            p1 = p->_next;        free(p);        p = p1;    /* 打印图书信息 */void print_book(Book* book)    printf("id:%d, name:%s, type:%s, status:%s, times:%d n",           book->_id, book->_name, book_typesbook->_type,           book_statusbook->_status, book->_count);/* 列出所有登记的图书 */void list_books(Book* book_head)    Book* p = book_head;    while (p)            print_book(p);        p = p->_next;    /* 借书,返回该书的指针,否则就返回NULL,可能不存在图书,或者已经被借走了 */Book* borrow_books(Book* book_head, int id)    Book* p = book_head;    while (p)            if (p->_id = id)            break;        p = p->_next;        if (!p)/* 不存在 */        return NULL;    if (p->_status != 0) /* 已经被借走 */        return NULL;    p->_status = 1; /* 借书登记 */    p->_count+;     /* 被借阅次数+1 */    return p;/* 查找书名称,返回查找到的数量,书名可能有重复的,一本书可能也有很多本,但是ID却是唯一的 */int search_books_by_name(Book* book_head, char* name)    int count = 0;    Book* p = book_head;    while (p)            if (strcmp(p->_name, name) = 0)                    print_book(p);            +count;                p = p->_next;        return count;/* 查找书类型,返回查找到的数量,一个类型会有很多书 */int search_books_by_type(Book* book_head, int type)    int count = 0;    Book* p = book_head;    while (p)            if (p->_type = type)                    print_book(p);            +count;                p = p->_next;        return count;/* 还书,正常归还就返回该书的指针,否则就返回NULL */Book* return_books(Book* book_head, int id)    Book* p = book_head;    while (p)            if (p->_id = id && p->_status != 0)                    p->_status = 0; /* 还书登记 */            break;                p = p->_next;        return p;/* 打印操作选项 */void print_menu(char menus32)    int no = 0;    printf("nPLEASE SELECT ID LIKE 1 or 2 .n");    while (strlen(menusno)            printf("%d   t%sn", no+1, menusno);        +no;        printf("OPTION(");    while (no)            printf("/%d", no-);        printf("):");/* 主函数 */int main(void)    char key = 0;    char ss128;    int loop = 1;    Book first_book, *pBooks, *pTmp;    strcpy(first_book._name, "nihao");    first_book._type = 0;    pBooks = create_list(&first_book);    while (loop)            print_menu(book_menu);        gets(ss);        key = ss0 - 48;        if(key < 0 | key > 6)            printf("Error input !n");        else            printf("INPUT:%dn", key);        switch (key)                case 1: / add books            pTmp = (Book*)malloc(sizeof(Book);            if(pTmp)                            printf("Add_Book input name:");                gets(ss);                strncpy(pTmp->_name, ss, 31);                print_menu(book_types);                gets(ss);                key = ss0 - 48;                if(key <= 0 | key > (sizeof(book_types)/32) )                    key = 1;                pTmp->_type = key - 1;                add_books(pBooks, pTmp);                        break;        case 2: / list books            list_books(pBooks);            break;        case 3: / search books            print_menu(book_menu_sub);            gets(ss);            key = ss0 - 48;            printf("INPUT:%dn", key);            switch (key)                        case 1: / search books by name                printf("input book name:");                gets(ss);                key = search_books_by_name(pBooks, ss);                if(key = 0)                    printf("no found!n");            case 2: / search books by type                print_menu(book_types);                gets(ss);                key = ss0 - 48;                key = search_books_by_type(pBooks, key-1);                if(key = 0)                    printf("no found!n");            default:                break;                        break;        case 4: / borrow books            printf("Borrow books, input book id:");            gets(ss);            key = atoi(ss);            pTmp = borrow_books(pBooks, key);            if (!pTmp)                printf("borrow books failed: %dn", key);            else                            printf("borrow books successful!n");                print_book(pTmp);                        break;        case 5: / return books            printf("Return books, input book id:");            gets(ss);            key = atoi(ss);            pTmp = return_books(pBooks, key);            if (!pTmp)                printf("return books failed: %dn", key);            else                            printf("return books successful!n");                print_book(pTmp);                        break;        case 6: / exit            loop = 0;            break;        default:            break;                printf("-pause-");        gets(ss);        free_list(pBooks);    return 0; 专心-专注-专业

    注意事项

    本文(《C语言程序》课程设计-图书管理系统(共15页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开