用Java语言编程实现一个图书管理系统的主菜单。

用Java语言编程实现一个图书管理系统的主菜单。,第1张

#include <iostream>

#include <string> //C++磁盘 *** 作头文件

#include <istream>

#include <fstream>

#include <iomanip>//自定义输出宽度

using namespace std;

struct Book //结构类型

{

string bookname;//书名

string author;//作者名

Book next;

};

class BookList

{

public:

BookList(){first=new Book;first->next=NULL;}

int NewBook();

void SOldBook();

void testread();

void testwrite();

void DisplayBook();

~BookList();

private:

Book first;

int j;

};

int BookList::NewBook()

{

Book s;s=new Book; //为插入的新书申请结点

Book q;q=new Book;

Book p;p=new Book;

cout<<"输入新书书名:";

cin>>s->bookname;

cout<<"输入作者:";

cin>>s->author;

p=first;q=first; //建立链表

if(first->next==NULL)//如果原链表为空,把新书的结点插入到链表中

{

first->next=s; //头插法

s->next=NULL;

}

else{

while(p->next->bookname<s->bookname)//按书名排序插入

{

p=p->next;

if(p->next==NULL)break;

}

s->next=p->next;

p->next=s;

}

return 1;

}

void BookList::SOldBook() //查询

{

Book s;s=new Book;

Book p;p=new Book;

cout<<"输入你要查询的书名:";

cin>>s->bookname;

p=first->next;

while(p->bookname!=s->bookname)

{

p=p->next;//接着查找下一个结点

if(p==NULL)break;

}

if(p==NULL)

cout<<"你所查询的书没找到!"<<endl;

else

cout<<"找到:《"<<p->bookname<<"》 "<<p->author<<endl;

}

void BookList::testread()

{

ifstream in;j=0;//读出文件流

inopen("BookListtxt",ios::in);//以读的形式打开原文件

if(!in)

{

cerr<<"错误!不能打开文件!";

exit(1);

}

Book q;q=new Book;

Book p;p=new Book;

p=first;

cout<<"从BookListtxt中读出已有图书如下:"<<endl;

while(!ineof())//判断文件是否为空

{

in>>q->bookname>>q->author;//从文件里面读到链表

cout<<q->bookname<<" "<<q->author<<endl;

j++;

p->next=q;

p=q;

q->next=new Book;

q=q->next;

}

p->next=NULL;

cout<<"共有图书"<<j<<"本"<<endl<<endl;

inclose();

}

void BookList::DisplayBook()

{

j=0;

cout<<"本馆现有书籍有:"<<endl;

Book p;p=new Book;

p=first->next;

while(p!=NULL) //输出链表中的元素

{

cout<<p->bookname<<" "<<p->author<<endl;

p=p->next;

j++;

}

cout<<"共有图书"<<j<<"本"<<endl;

}

void BookList::testwrite()

{

ofstream out; //写入文件流

outopen("BookListtxt",ios::out);

if(!out)

{

cerr<<"错误!不能打开文件!";

exit(1);

}

Book p;p=new Book;

for(p=first->next;p!=NULL;p=p->next)

{

out<<p->bookname<<'\t'<<p->author<<endl; //把链表中的元素写到文件中

}

outclose();

}

BookList::~BookList() //析构函数

{

Book p;p=new Book;

Book q;q=new Book;

p=first->next;

while(p)

{

q=p;

p=p->next;

delete q;

}

}

void main()

{

char s;

int i,k,count=0;

BookList L; //定义对象

Ltestread(); //把文件中的内容读到链表中

while(1)

{

char menu[]={"输入新书","查询旧书","显示所有图书","退出",""}; //字符串指针数组

for(i=0;menu[i][0]!='\0';i++)

cout<<i+1<<"、 "<<menu[i]<<endl;

cin>>k;

switch(k)

{

case 1:count=LNewBook();break;

case 2:LSOldBook();break;

case 3:LDisplayBook();break;

default:if(k!=4)cout<<"输入错误!"<<endl;break;

}

if(k==4)

{ if(count)

{ cout<<"修改后的BookListtxt未保存,是否保存(y/n):";

cin>>s;

if(s=='y')

Ltestwrite();

}

break;

}

}

}

驱动

String driver = "commysqljdbcDriver";

// URL指向要访问的数据库名mydb

String url = "jdbc:mysql://127001:3306/mydb";

// 用户名

String user = "root";

// Java连接MySQL密码

String password = "root";

try {

// 加载驱动

ClassforName(driver);

// 连续数据库

Connection conn = DriverManagergetConnection(url, user, password);

if(!connisClosed())

Systemoutprintln("connecting to the Database Succee!");

// statement用来执行SQL语句

Statement statement = conncreateStatement();

// 要执行的SQL语句

String sql = "select from student";

ResultSet rs=statement executeQuery(sql);

while(rshasNext()){

//遍历取得结果

}

以上就是关于用Java语言编程实现一个图书管理系统的主菜单。全部的内容,包括:用Java语言编程实现一个图书管理系统的主菜单。、图书管理系统 用的是MySQL数据库 怎么用Java代码连接数据库、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9317469.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存