❶ 用C語言編寫一個簡單的圖書管理小程序
源代碼如下:
#include<iostream>
#include<iomanip>
#include<string>
#include<fstream>
#include<stdio.h>
using namespace std;
const int maxb=10000; //最多的圖書
class book//圖書類
{
int tag; //刪除標記1:已刪0:未刪
int number; //isbn書號
char name[20]; //書名
char author[10]; //主編
char number2[10];//版次
char position[20];//出版社
char time[20];//出版年
void addbook(int n,char *na,char *au,char *n2,char *da,char *ti,int pr) //增加圖書
{
tag=0;
number=n;
price=pr;
strcpy(name,na);
strcpy(author,au);
strcpy(number2,n2);
strcpy(position,da);
strcpy(time,ti);
onshelf=1;
}
(1)圖書管理系統編程擴展閱讀
1、源程序中,很多符號都是成對匹配出現的,為避免遺漏必須配對使用的符號。
2、用花括弧括起來的部分,但從程序結構清晰,便於閱讀、理解、維護的角度出發,建議在書寫程序時應遵循以下規則,以養成良好的編程習慣。
3、一個說明或一條語句佔一行,與該結構開始處的左花括弧對齊。
❷ java使用面向對象編程思維編寫圖書管理系統:增加,查詢,修改,刪除,退出,怎麼寫
package com.bms;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
// book對象
public class Book {
private String bId; // 編號
private String bName; // 書名
// getset方法
public String getbId() {
return bId;
}
public void setbId(String bId) {
this.bId = bId;
}
public String getbName() {
return bName;
}
public void setbName(String bName) {
this.bName = bName;
}
//構造方法
public Book() {
}
public Book(String bId, String bName) {
this.bId = bId;
this.bName = bName;
}
/*
* 增加
* */
public static List<Book> add(List<Book> list) {
Scanner sn = new Scanner(System.in);
System.out.print("請輸入編號:");
String bid = sn.next();
System.out.print("請輸入名稱:");
String bName = sn.next();
Book book = new Book(bid, bName);
for (Book b : list) {
if (b.bId.equals(book.bId)) {
System.out.println("編號重復,請重新輸入!");
return list;
}
}
list.add(book);
System.out.println("添加成功!");
return list;
}
/*
* 查詢
* */
public static void query(List<Book> list) {
System.out.println("編號\t書名");
for (Book b : list) {
System.out.println(b.getbId() + "\t" + b.getbName());
}
}
/*
* 修改
* */
public static void update(List<Book> list) {
query(list);
Scanner sc = new Scanner(System.in); // 鍵盤輸入的對象
System.out.print("請輸入編號:");
String s = sc.next();
Integer id = null;
for (int i = 0; i < list.size(); i++) {
id = list.get(i).getbId().equals(s) ? i : null;
}
if (id == null) {
System.out.println("輸入的編號不存在,請重新選擇!");
return;
}
System.out.print("請輸入新的書名:");
String newName = sc.next();
list.get(id).setbName(newName);
System.out.print("修改成功!");
}
/*
* 刪除
* */
public static void del(List<Book> list) {
query(list);
Scanner sc = new Scanner(System.in); // 鍵盤輸入的對象
System.out.print("請輸入編號:");
String s = sc.next();
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getbId().equals(s)) {
list.remove(i);
return;
}
}
System.out.println("輸入的編號不存在,請重新選擇!");
}
}
/*
* 測試*/
class Test {
public static void main(String[] args) {
List<Book> bookList = new ArrayList<>(); // 存放所有圖書的列表
bookList.add(new Book("1", "Java 基礎")); // 圖書的列表添加一本圖書
System.out.print("歡迎進入圖書管理系統,");
boolean b = true;
while (b) {
System.out.print("請選擇:\n1.增加\n2.查詢\n3.修改\n4.刪除\n5.退出\n(輸入序號):");
Scanner sn = new Scanner(System.in); // 鍵盤輸入的對象
String select = sn.next();
switch (select) {
case "1":
System.out.println("您選擇了增加");
Book.add(bookList);
break;
case "2":
System.out.println("您選擇了查詢:");
Book.query(bookList);
break;
case "3":
System.out.println("您選擇了修改");
Book.update(bookList);
break;
case "4":
System.out.println("您選擇了刪除");
Book.del(bookList);
break;
case "5":
System.out.println("您選擇了退出");
b = false;
System.out.println("退出程序!");
break;
default:
System.out.println("輸入錯誤的序號,請重新輸入");
break;
}
}
}
}
❸ C語言編程圖書管理系統
#include#include#include#include#includestructbook{charnumber[100];chartittle[100];charwriter[100];charpublisher[100];chardate[100];charprice[100];charstatus[100];charreader[100];};voidsearch_book();voidborrow_book();voidreturn_book();voidadd_book();voiddelete_book();voidmodify_book();voidscan_book();intmain(){intc1=0,c2,c3;intl,x,z;while(1){system("color2C");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("color2C");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){case1:search_book();break;case2:borrow_book();break;case3:return_book();break;case4:scan_book();break;case5:system("cls");return0;}}}if(c1==2){while(1){system("color2C");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){case1:add_book();break;case2:delete_book();break;case3:modify_book();break;case4:scan_book();break;case5:system("cls");return0;}}}}/*查詢圖書*/voidsearch_book(){FILE*fp;structbookn;structbooknn;intl,r;charx,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");}//添加voidadd_book(){FILE*fp;structbookn;structbooknn;charx,z;intl,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");}//刪除圖書voiddelete_book(){FILE*fp,*fp1;charx,z;structbookn;structbooknn;intl,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");}//修改圖書信息voidmodify_book(){FILE*fp;structbookn;structbooknn;intl,r;charx,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");}//借書voidborrow_book(){FILE*fp;structbookn;structbooknn;charx,z;intl,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");}//還書voidreturn_book(){FILE*fp;structbookn;structbooknn;charx,z;intl,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");}//瀏覽voidscan_book(){FILE*fp;charx,z;structbookn;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");}}