HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    c语言图书管理系统课程设计报告(c语言图书管理系统课程设计报告需求分析)

    发布时间:2023-04-25 01:26:33     稿源: 创意岭    阅读: 803        

    大家好!今天让创意岭的小编来大家介绍下关于c语言图书管理系统课程设计报告的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    创意岭作为行业内优秀企业,服务客户遍布全国,相关业务请拨打175-8598-2043,或微信:1454722008

    本文目录:

    c语言图书管理系统课程设计报告(c语言图书管理系统课程设计报告需求分析)

    一、c语言课设小型图书管理系统设计(c++)

    试着做了下这个题,结果和你一样前7项全解决了,就剩下第八个了,明天再试试,能做出来给你发代码。要是我做不出来,还请你给我指点一二。

    /*终于完成了,第八项也OK了。

    你自己多运行几组数据测试下,应该没问题了

    */

    // 20130718.cpp : Defines the entry point for the console application.

    //

    #include "stdafx.h"

    #include <string>

    #include <iomanip>

    #include <iostream>

    using namespace std;

    #define N 5

    void swap(string & a,string & b)

    {

    string c= a;

    a= b;

    b= c;

    }

    void swap1(int & a,int & b)

    {

    int c=a;

    a=b;

    b=c;

    }

    class A

    {

    private:

    string name[N];

    string writer[N];

    int num1[N];//书号

    int price[N];

    int num2[N];//数量

    public:

    void input();

    void add();

    void modify();

    void cut();

    void look();

    void seek();

    void display();

    };

    void A::input()

    {

    for(int i=0;i<N;i++)

    {

    int j;

    cout<<"请依次输入书名,作者,编号,单价及数量,用空格键分开"<<endl;

    cin>>name[i];

    cout<<"书名录入成功"<<endl;

    cin>>writer[i];

    cout<<"作者录入成功"<<endl;

    cin>>num1[i];

    cout<<"编号录入成功"<<endl;

    cin>>price[i];

    cout<<"单价录入成功"<<endl;

    cin>>num2[i];

    cout<<"数量录入成功"<<endl;

    cout<<"是否继续输入"<<endl;

    cout<<"1:继续"<<endl;

    cout<<"2:退出"<<endl;

    cin>>j;

    if(j==1) ;

    else break;

    }

    }

    void A::add()

    {

    for(int i=0;i<N;i++)

    {

    if(name[i]==writer[i])

    {

    int j;

    cout<<"请依次输入书名,作者,编号,单价及数量,用空格键分开"<<endl;

    cin>>name[i];

    cout<<"书名录入成功"<<endl;

    cin>>writer[i];

    cout<<"作者录入成功"<<endl;

    cin>>num1[i];

    cout<<"编号录入成功"<<endl;

    cin>>price[i];

    cout<<"单价录入成功"<<endl;

    cin>>num2[i];

    cout<<"数量录入成功"<<endl;

    cout<<"添加成功,是否继续添加"<<endl;

    cout<<"1:是"<<endl;

    cout<<"2:否"<<endl;

    cin>>j;

    if(j==1);

    else break;

    }

    }

    }

    void A::modify()

    {

    int i,j;

    cout<<"请输入要修改书的书号"<<endl;

    cin>>j;

    for(i=0;i<N;i++)

    {

    if(num1[i]!=j);

    else

    cout<<"书籍已找到"<<endl;

    cout<<"请重新输入书名,作者,编号,单价及数量,用空格键分开"<<endl;

    cin>>name[i];

    cout<<"书名录入成功"<<endl;

    cin>>writer[i];

    cout<<"作者录入成功"<<endl;

    cin>>price[i];

    cout<<"单价录入成功"<<endl;

    cin>>num2[i];

    cout<<"数量录入成功"<<endl;

    break;

    }

    }

    void A::cut()

    {

    int i,j;

    cout<<"请输入要删除的书的书号"<<endl;

    cin>>j;

    for(i=0;i<N;i++)

    {

    if(num1[i]==j)

    { name[i]=writer[i]=" ";

    num1[i]=price[i]=num2[i]=0;

    cout<<"初始化完成"<<endl;

    break;

    }

    }

    }

    void A::look()

    {

    int i;

    for(i=0;i<N;i++)

    {

    cout<<name[i]<<writer[i]<<num1[i]<<price[i]<<num2[i]<<endl;

    }

    }

    void A::seek()

    {

    int i,j;

    cout<<"请输入要查找的书的书号"<<endl;

    cin>>j;

    for(i=0;i<N;i++)

    {

    if(j==num1[i])

    cout<<num1[i]<<name[i]<<writer[i]<<price[i]<<num2[i]<<endl;

    else

    break;

    }

    }

    void A::display()//排序未解决,难。。。。。

    {

    int i,j,k/*,P,N1,N2*/;

    for(i=1;i<N;i++)

    {

    for(j=0;j<i;j++)

    {

    if(price[i]>price[j])

    {

    swap1(price[i],price[j]);

    swap(name[i],name[j]);

    swap(writer[i],writer[j]);

    swap1(num1[i],num1[j]);

    swap1(num2[i],num2[j]);

    }

    }

    }

    for(k=0;k<N;k++)

    {

    cout<<setw(5)<<price[k]<<setw(10)<<name[k]<<setw(5)<<writer[k]<<setw(3)<<num1[k]<<setw(3)<<num2[k]<<endl;

    }

    cout<<"排序完成"<<endl;

    }

    int main()

    {

    A a;

    int i;

    do

    {

    cout<<"1:信息录入"<<endl;

    cout<<"2:添加记录"<<endl;

    cout<<"3:信息修改"<<endl;

    cout<<"4:信息删除"<<endl;

    cout<<"5:信息浏览"<<endl;

    cout<<"6:信息查询"<<endl;

    cout<<"7:信息排序"<<endl;

    cout<<"8:退出系统"<<endl;

    cin>>i;

    switch(i)

    {

    case 1:a.input();break;

    case 2:a.add();break;

    case 3:a.modify();break;

    case 4:a.cut();break;

    case 5:a.look();break;

    case 6:a.seek();break;

    case 7:a.display();break;

    case 8:cout<<"成功退出"<<endl;break;

    default:cout<<"输入错误"<<endl;

    }

    }while(i!=8);

    return 0;

    }

    /*终于完成了,第八项也OK了。

    你自己多运行几组数据测试下,应该没问题了

    */

    二、C语言图书管理信息系统

    借书的限制:教师180天,借15本;学生120天,借10本

    图书的信息:      书的编号号,书名,作者,书的种类,书的总量以及书的剩余量

    学生/教师信息:   学号/工号(4位数字字符),姓名,借书日期,还书日期(以此判定是否超出有效期)

    (一)、查询:(无条件或有条件指按所有字段查询)

    一、单链表上实现图书信息管理

    利用链表结构实现图书存储

    二 、二叉排序树或平衡树上实现图书信息管理

    利用二叉排序树或平衡树实现图书的存储

    三、B_树的操作(手工题)

    插入、删除操作:

    从空的3阶B_树开始,依次插入20,30,50,52,60,68,70,10,80,90,40,75。画出建树过程,然后分别画出删除50,60,10,75,20的B_树状态。

    1.课程设计的题目内容要求

    2.数据结构的设计思想和任务的总体结构

    链接: https://pan.baidu.com/s/11BBC4ec7x3l62u83lJeGpw

    提取码:1234

    三、C语言程序设计 图书馆信息管理系统设计

    #include<windows.h>

    #include<stdio.h>

    #include<string.h>

    #include<stdlib.h>

    #include<conio.h>

    struct book{

    char number[100];

    char tittle[100];

    char writer[100];

    char publisher[100];

    char date[100];

    char price[100];

    char status[100];

    char reader[100];

    };

    void search_book();

    void borrow_book();

    void return_book();

    void add_book();

    void delete_book();

    void modify_book();

    void scan_book();

    int main()

    {

    int c1=0,c2,c3;

    int l,x,z;

    while(1)

    {

    system("color 2C");

    printf("\t\t\t ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^ \n");

    printf("\t\t\t| * - * - * -图书管理系统 * - * - * |\n");

    printf("\t\t\t* [1] 用户登录 *\n");

    printf("\t\t\t* [2] 管理员登录 *\n");

    printf("\t\t\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^ \n");

    printf("\n");

    printf("请选择你的操作 :");

    scanf("%d",&c1);

    system("cls");

    break;

    }

    if(c1==1)

    {

    while(1){

    system("color 2C");

    printf("\t\t\t ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^ \n");

    printf("\t\t\t| * - * - * -图书管理系统 * - * - * |\n");

    printf("\t\t\t* [1] 查询图书 *\n");

    printf("\t\t\t| [2] 借阅图书 |\n");

    printf("\t\t\t* [3] 借还图书 *\n");

    printf("\t\t\t* [4] 浏览图书信息 *\n");

    printf("\t\t\t| [5] 退出图书管理系统 |\n");

    printf("\t\t\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^ \n");

    printf("\n");

    printf("请选择你的操作 :");

    scanf("%d",&c2);

    getchar();

    switch(c2)

    {

    case 1:search_book(); break;

    case 2:borrow_book(); break;

    case 3:return_book(); break;

    case 4:scan_book(); break;

    case 5:system("cls"); return 0;

    }

    }

    }

    if(c1==2)

    {

    while(1){

    system("color 2C");

    printf("\t\t\t ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^ \n");

    printf("\t\t\t| * - * - * -图书管理系统 * - * - * |\n");

    printf("\t\t\t| [1] 添加图书 |\n");

    printf("\t\t\t* [2] 删减图书 *\n");

    printf("\t\t\t| [3] 修改图书信息 |\n");

    printf("\t\t\t* [4] 浏览图书信息 *\n");

    printf("\t\t\t| [5] 退出图书管理系统 |\n");

    printf("\t\t\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^ \n");

    printf("\n");

    printf("请选择你的操作 :");

    scanf("%d",&c3);

    getchar();

    switch(c3)

    {

    case 1:add_book(); break;

    case 2:delete_book(); break;

    case 3:modify_book(); break;

    case 4:scan_book(); break;

    case 5:system("cls"); return 0;

    }

    }

    }

    }

    /*查询图书*/

    void search_book()

    {

    FILE*fp;

    struct book n;

    struct book nn;

    int l,r;

    char x,z;

    fp=fopen("F:\\课程设计\\图书管理系统.txt","rb");

    while(1)

    {

    l=0;

    system("cls");

    printf("请输入图书名称:");

    scanf("%s",n.tittle);

    fflush(stdin);

    rewind(fp);

    while(1)

    {

    fread(&nn,sizeof(nn),1,fp);

    if(feof(fp))

    break;

    r=strcmp(n.tittle,nn.tittle );

    if(r==0)

    {

    l=1;

    break;

    }

    }

    if(l==0)

    {

    printf("没有要查询的图书!!!\n\n ");

    }

    else

    {

    printf("查询的图书为:");

    printf("\n");

    printf("****************************************\n");

    printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n");

    printf("\n");

    printf("%s %s %s %s %s %s %s",nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader);

    printf("\n\n\n");

    }

    printf("是否继续查询图书 ? [是(y)/否(n)] ? \n\n");

    do

    {

    x=getche();

    }while(x!='n'&&x!='y');

    if(x=='n')

    break;

    }

    fclose(fp);

    system("cls");

    }

    //添加

    void add_book()

    {

    FILE *fp;

    struct book n;

    struct book nn;

    char x,z;

    int l,r;

    fp=fopen("F:\\课程设计\\图书管理系统.txt","ab+");

    do

    {

    system("cls");

    do

    {

    l=0;

    printf("\n");

    printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n");

    fflush(stdin);

    scanf("%s %s %s %s %s %s %s %s",n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader);

    system("cls");

    rewind(fp);

    while(!feof(fp))

    {

    fread(&nn,sizeof(nn),1,fp);

    r=strcmp(n.tittle,nn.tittle);

    if(r==0)

    {

    l=1;

    printf(" 该图书已存在,请输入新的图书信息: \n\n");

    break;

    }

    }

    }while(l);

    fwrite(&n,sizeof(n),1,fp);

    printf("\n");

    printf("是否继续输入新的图书信息[y/n] \n\n");

    do

    {

    x=getche();

    }while(x!='n'&&x!='y');

    }while(x=='y');

    fclose(fp);

    system("cls");

    }

    //删除图书

    void delete_book()

    {

    FILE *fp,*fp1;

    char x,z;

    struct book n;

    struct book nn;

    int l,r;

    fp=fopen("F:\\课程设计\\图书管理系统.txt","ab+");

    while(1)

    {

    l=0;

    system("cls");

    printf("\n");

    printf("请输入需要删除的图书名: \n\n");

    fflush(stdin);

    scanf("%s",&n.tittle);

    rewind(fp);

    while(1)

    {

    fread(&nn,sizeof(nn),1,fp);

    if(feof(fp))

    break;

    r=strcmp(n.tittle,nn.tittle);

    if(r==0)

    {

    l=1;

    break;

    }

    }

    if(l==0)

    {

    printf("\n");

    printf("对不起,未找到该图书 \n");

    }

    else

    {

    printf("\n");

    printf("****************************************\n");

    printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n");

    printf("\n");

    printf("%s %s %s %s %s %s %s %s",nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader);

    printf("\n");

    printf("确认删除图书信息? [是(y)/否(n)]\n\n");

    do

    {

    z=getche();

    }while(z!='n'&&z!='y');

    if(z=='n')

    break;

    else

    {

    fp1=fopen("F:\\课程设计\\图书管理系统new.txt","wb");

    rewind(fp);

    while(1)

    {

    fread(&nn,sizeof(nn),1,fp);

    if(feof(fp))

    break;

    r=strcmp(n.tittle,nn.tittle);

    if(r!=0)

    fwrite(&nn,sizeof(nn),1,fp1);

    }

    fclose(fp);

    fclose(fp1);

    fp=fopen("F:\\课程设计\\图书管理系统.txt","wb");

    fp1=fopen("F:\\课程设计\\图书管理系统new.txt","rb");

    while(1)

    {

    fread(&nn,sizeof(nn),1,fp1);

    if(feof(fp1))

    break;

    fwrite(&nn,sizeof(nn),1,fp);

    }

    fclose(fp);

    fclose(fp1);

    }

    }

    printf("\n");

    printf("是否继续删除图书信息? [是(y)/否(n)] \n");

    do

    {

    x=getche();

    }while(x!='n'&&x!='y');

    if(x=='n')

    break;

    }

    fclose(fp);

    system("cls");

    }

    //修改图书信息

    void modify_book()

    {

    FILE *fp;

    struct book n;

    struct book nn;

    int l,r;

    char x,z;

    fp=fopen("F:\\课程设计\\图书管理系统.txt","rb+");

    while(1)

    {

    l=0;

    printf("\n");

    system("cls");

    printf("请输入需要修改的图书名: \n\n");

    fflush(stdin);

    scanf("%s",&n.tittle);

    system("cls");

    rewind(fp);

    while(1)

    {

    fread(&nn,sizeof(nn),1,fp);

    if(feof(fp))

    break;

    r=strcmp(n.tittle,nn.tittle);

    if(r==0)

    {

    l=1;

    break;

    }

    }

    if(l==0)

    {

    printf("\n");

    printf("对不起,未找到该图书信息 \n\n");

    }

    else

    {

    printf("\n");

    printf("****************************************\n");

    printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n");

    printf("\n");

    printf("%s %s %s %s %s %s %s %s",nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader);

    printf("请依次修改图书信息\n\n\n");

    fflush(stdin);

    scanf("%s %s %s %s %s %s %s %s",n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader);

    fseek(fp,sizeof(nn),1);

    fwrite(&n,sizeof(nn),1,fp);

    }

    printf("\n");

    printf(" 是否继续修改用户信息[y/n]? \n\n");

    do

    {

    x=getch();

    }while(x!='n'&&x!='y');

    if(x=='n')

    break;

    }

    fclose(fp);

    system("cls");

    }

    //借书

    void borrow_book()

    {

    FILE*fp;

    struct book n;

    struct book nn;

    char x,z;

    int l,r;

    fp=fopen("F:\\课程设计\\图书管理系统.txt","rb+");

    while(1)

    {

    l=0;

    system("cls");

    printf("\n");

    printf("请输入需要借阅的图书名: \n");

    fflush(stdin);

    scanf("%s",&n.tittle);

    rewind(fp);

    while(1)

    {

    fread(&nn,sizeof(nn),1,fp);

    if(feof(fp))

    break;

    r=strcmp(n.tittle,nn.tittle);

    if(r==0)

    {

    l=1;

    break;

    }

    }

    if(l==0)

    {

    printf("\n");

    printf("对不起,未找到该图书。 \n");

    }

    else

    { printf("\n");

    printf("****************************************\n");

    printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n");

    printf("\n");

    printf("%s %s %s %s %s %s %s %s",nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader);

    printf("\n");

    fflush(stdin);

    printf("请输入图书信息并修改在库状态及借阅者信息");

    printf("****************************************\n");

    printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n");

    printf("\n");

    scanf("%s %s %s %s %s %s %s %s",n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader);

    fseek(fp,sizeof(nn),1);

    fwrite(&n,sizeof(nn),1,fp);

    }

    printf("\n");

    printf(" 是否继续借书? [是(y)/否(n)] \n\n");

    do

    {

    x=getch();

    }while(x!='n'&&x!='y');

    if(x=='n')

    break;

    }

    fclose(fp);

    system("cls");

    }

    //还书

    void return_book()

    {

    FILE*fp;

    struct book n;

    struct book nn;

    char x,z;

    int l,r;

    fp=fopen("F:\\课程设计\\图书管理系统.txt","rb+");

    while(1)

    {

    l=0;

    system("cls");

    printf("\n");

    printf("请输入需要借还的图书名: \n");

    fflush(stdin);

    scanf("%s",&n.tittle);

    rewind(fp);

    while(1)

    {

    fread(&nn,sizeof(nn),1,fp);

    if(feof(fp))

    break;

    r=strcmp(n.tittle,nn.tittle);

    if(r==0)

    {

    l=1;

    break;

    }

    }

    if(l==0)

    {

    printf("\n");

    printf("对不起,未找到该图书。 \n");

    }

    else

    {

    printf("\n");

    printf("****************************************\n");

    printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n");

    printf("\n");

    printf("%s %s %s %s %s %s %s %s",nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader);

    printf("\n");

    fflush(stdin);

    printf("请输入图书信息并修改在库状态 \n\n");

    printf("****************************************\n");

    printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n");

    printf("\n");

    scanf("%s %s %s %s %s %s %s %s",n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader);

    fseek(fp,-(int)sizeof(nn),1);

    fwrite(&n,sizeof(nn),1,fp);

    }

    printf("\n");

    printf("是否继续还书? [是(y)/否(n)] \n");

    do

    {

    x=getche();

    }while(x!='n'&&x!='y');

    if(x=='n')

    break;

    }

    fclose(fp);

    system("cls");

    }

    //浏览

    void scan_book()

    {

    FILE*fp;

    char x,z;

    struct book n;

    fp=fopen("F:\\课程设计\\图书管理系统.txt","rb");

    rewind(fp);

    system("cls");

    while(1)

    {

    fread(&n,sizeof(n),1,fp);

    if(feof(fp))

    break;

    else

    {

    printf("********************************************\n");

    printf("编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n");

    printf("\n");

    printf("%s %s %s %s %s %s %s %s",n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader);

    printf("\n");

    }

    }

    printf("\n");

    printf("回到主菜单请按回车");

    do

    {

    x=getche();

    }while(x!='\r');

    if(x=='\r')

    {

    fclose(fp);

    system("cls");

    }

    }

    \\这是我在网上搜索的,你自己修改一下就行了,别说你不会修改.

    四、用C语言编程 图书管理系统设计

    以上就是关于c语言图书管理系统课程设计报告相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    c语言文章生成器(c语言生成器官网)

    神器搜索(c语言搜题神器)

    数据类型关键字有哪些(c语言合法数据类型关键字有哪些)

    盐城古典屋顶花园景观设计(盐城古典屋顶花园景观设计公司)

    嘉行传媒怎么招人的(嘉行传媒怎么招人的2021)