HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    c語言圖書管理系統(tǒng)課程設(shè)計報告(c語言圖書管理系統(tǒng)課程設(shè)計報告需求分析)

    發(fā)布時間:2023-04-25 01:26:33     稿源: 創(chuàng)意嶺    閱讀: 803        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于c語言圖書管理系統(tǒng)課程設(shè)計報告的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀企業(yè),服務(wù)客戶遍布全國,相關(guān)業(yè)務(wù)請撥打175-8598-2043,或微信:1454722008

    本文目錄:

    c語言圖書管理系統(tǒng)課程設(shè)計報告(c語言圖書管理系統(tǒng)課程設(shè)計報告需求分析)

    一、c語言課設(shè)小型圖書管理系統(tǒng)設(shè)計(c++)

    試著做了下這個題,結(jié)果和你一樣前7項全解決了,就剩下第八個了,明天再試試,能做出來給你發(fā)代碼。要是我做不出來,還請你給我指點一二。

    /*終于完成了,第八項也OK了。

    你自己多運(yùn)行幾組數(shù)據(jù)測試下,應(yīng)該沒問題了

    */

    // 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];//數(shù)量

    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<<"請依次輸入書名,作者,編號,單價及數(shù)量,用空格鍵分開"<<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<<"數(shù)量錄入成功"<<endl;

    cout<<"是否繼續(xù)輸入"<<endl;

    cout<<"1:繼續(xù)"<<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<<"請依次輸入書名,作者,編號,單價及數(shù)量,用空格鍵分開"<<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<<"數(shù)量錄入成功"<<endl;

    cout<<"添加成功,是否繼續(xù)添加"<<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<<"請重新輸入書名,作者,編號,單價及數(shù)量,用空格鍵分開"<<endl;

    cin>>name[i];

    cout<<"書名錄入成功"<<endl;

    cin>>writer[i];

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

    cin>>price[i];

    cout<<"單價錄入成功"<<endl;

    cin>>num2[i];

    cout<<"數(shù)量錄入成功"<<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:退出系統(tǒng)"<<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了。

    你自己多運(yùn)行幾組數(shù)據(jù)測試下,應(yīng)該沒問題了

    */

    二、C語言圖書管理信息系統(tǒng)

    借書的限制:教師180天,借15本;學(xué)生120天,借10本

    圖書的信息:      書的編號號,書名,作者,書的種類,書的總量以及書的剩余量

    學(xué)生/教師信息:   學(xué)號/工號(4位數(shù)字字符),姓名,借書日期,還書日期(以此判定是否超出有效期)

    (一)、查詢:(無條件或有條件指按所有字段查詢)

    一、單鏈表上實現(xiàn)圖書信息管理

    利用鏈表結(jié)構(gòu)實現(xiàn)圖書存儲

    二 、二叉排序樹或平衡樹上實現(xiàn)圖書信息管理

    利用二叉排序樹或平衡樹實現(xiàn)圖書的存儲

    三、B_樹的操作(手工題)

    插入、刪除操作:

    從空的3階B_樹開始,依次插入20,30,50,52,60,68,70,10,80,90,40,75。畫出建樹過程,然后分別畫出刪除50,60,10,75,20的B_樹狀態(tài)。

    1.課程設(shè)計的題目內(nèi)容要求

    2.數(shù)據(jù)結(jié)構(gòu)的設(shè)計思想和任務(wù)的總體結(jié)構(gòu)

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

    提取碼:1234

    三、C語言程序設(shè)計 圖書館信息管理系統(tǒng)設(shè)計

    #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| * - * - * -圖書管理系統(tǒng) * - * - * |\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| * - * - * -圖書管理系統(tǒng) * - * - * |\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] 退出圖書管理系統(tǒng) |\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| * - * - * -圖書管理系統(tǒng) * - * - * |\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] 退出圖書管理系統(tǒng) |\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:\\課程設(shè)計\\圖書管理系統(tǒng).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("沒有要查詢的圖書?。。?#92;n\n ");

    }

    else

    {

    printf("查詢的圖書為:");

    printf("\n");

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

    printf("編號 書名 作者 出版社 出版時間 價格 狀態(tài) 借閱者\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("是否繼續(xù)查詢圖書 ? [是(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:\\課程設(shè)計\\圖書管理系統(tǒng).txt","ab+");

    do

    {

    system("cls");

    do

    {

    l=0;

    printf("\n");

    printf("編號 書名 作者 出版社 出版時間 價格 狀態(tài) 借閱者\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("是否繼續(xù)輸入新的圖書信息[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:\\課程設(shè)計\\圖書管理系統(tǒng).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("編號 書名 作者 出版社 出版時間 價格 狀態(tài) 借閱者\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("確認(rèn)刪除圖書信息? [是(y)/否(n)]\n\n");

    do

    {

    z=getche();

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

    if(z=='n')

    break;

    else

    {

    fp1=fopen("F:\\課程設(shè)計\\圖書管理系統(tǒng)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:\\課程設(shè)計\\圖書管理系統(tǒng).txt","wb");

    fp1=fopen("F:\\課程設(shè)計\\圖書管理系統(tǒng)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("是否繼續(xù)刪除圖書信息? [是(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:\\課程設(shè)計\\圖書管理系統(tǒng).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("編號 書名 作者 出版社 出版時間 價格 狀態(tài) 借閱者\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(" 是否繼續(xù)修改用戶信息[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:\\課程設(shè)計\\圖書管理系統(tǒng).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("編號 書名 作者 出版社 出版時間 價格 狀態(tài) 借閱者\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("請輸入圖書信息并修改在庫狀態(tài)及借閱者信息");

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

    printf("編號 書名 作者 出版社 出版時間 價格 狀態(tài) 借閱者\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(" 是否繼續(xù)借書? [是(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:\\課程設(shè)計\\圖書管理系統(tǒng).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("編號 書名 作者 出版社 出版時間 價格 狀態(tài) 借閱者\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("請輸入圖書信息并修改在庫狀態(tài) \n\n");

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

    printf("編號 書名 作者 出版社 出版時間 價格 狀態(tài) 借閱者\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("是否繼續(xù)還書? [是(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:\\課程設(shè)計\\圖書管理系統(tǒng).txt","rb");

    rewind(fp);

    system("cls");

    while(1)

    {

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

    if(feof(fp))

    break;

    else

    {

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

    printf("編號 書名 作者 出版社 出版時間 價格 狀態(tài) 借閱者\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");

    }

    }

    \\這是我在網(wǎng)上搜索的,你自己修改一下就行了,別說你不會修改.

    四、用C語言編程 圖書管理系統(tǒng)設(shè)計

    以上就是關(guān)于c語言圖書管理系統(tǒng)課程設(shè)計報告相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    c語言文章生成器(c語言生成器官網(wǎng))

    神器搜索(c語言搜題神器)

    數(shù)據(jù)類型關(guān)鍵字有哪些(c語言合法數(shù)據(jù)類型關(guān)鍵字有哪些)

    鹽城古典屋頂花園景觀設(shè)計(鹽城古典屋頂花園景觀設(shè)計公司)

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