Hay everyone I need help
I have project in subject programming languages about make one idea on two languages c and java .
I have made it in java but I couldn't in c
this is the code in java
Class Link
// Link.java
// to run this program: C>java Main
//--------------------------------------------------------------
class Link
{
public String bookName; // data item
publicintBookID; // data item
public String State;
public Link next; // next link in list
// -------------------------------------------------------------
public Link(String BN,intID,String state) // constructor
{
bookName= BN;
BookID = ID;
State=state;
} // set to null)
// -------------------------------------------------------------
public void displayLink() // display ourself
{
System.out.print("" + BookID + " " + bookName +"\n ");
}
public void displaystate() // display ourself
{
System.out.print(" " + BookID + " " + bookName +"\t \t \t"+State+"\n ");
System.out.println("--------------------------------------------------------------------------");
}
} // end class Link
////////////////////////////////////////////////////////////////
Class LinkList
// linkList.java
// demonstrates linked list
// to run this program: C>java Main
////////////////////////////////////////////////////////////////
classlinkList
{
private Link first; // ref to first link on list
private Link last;
// -------------------------------------------------------------
publiclinkList() // constructor
{
first = null; // no links on list yet
last= null;
}
//---------------------------------------------------------------------------------
public void insert(String BN,intID,String state) // insert, in order
{
Link newLink = new Link(BN, ID,state); // make new link
Link previous = null; // start at first
Link current = first;
// until end of list,
while(current != null && ID >current.BookID)
{ // or key > current,
previous = current;
current = current.next; // go to next item
}
if(previous==null) // at beginning of list
first = newLink; // first -->newLink
else // not at beginning
previous.next = newLink; // old prev -->newLink
newLink.next = current; // newLink --> old currnt
}
// -------------------------------------------------------------
public Link find(int key) // find link with given key
{ // (assumes non-empty list)
Link current = first; // start at 'first'
while(current.BookID != key) // while no match,
{
if(current.next == null) // if end of list,
return null; // didn't find it
else // not end of list,
current = current.next; // go to next link
}
return current; // found it
}
// -------------------------------------------------------------
public Link delete(int key) // delete link with given key
{ // (assumes non-empty list)
Link current = first; // search for link
Link previous = first;
while(current.BookID != key)
{
if(current.next == null)
return null; // didn't find it
else
{
previous = current; // go to next link
current = current.next;
}
} // found it
if(current == first) // if first link,
first = first.next; // change first
else // otherwise,
previous.next = current.next; // bypass it
return current;
}
// -------------------------------------------------------------
public void displayList()
{
System.out.println("List of books:");
Link current = first; // start at beginning of list
while(current != null) // until end of list,
{
current.displayLink(); // print data
current = current.next; // move to next link
}
System.out.println("");
}
// -------------------------------------------------------------
public void displayState(Link key)
{
System.out.println("state of books:");
System.out.println(" ID Book Name State ");
System.out.print("-------------------------------------------------------------------------\n");
Link current = first; // start at beginning of list
while(current != key) // until end of list,
{
current = current.next; // move to next link
}
current.displaystate();
System.out.println("");
}
// -------------------------------------------------------------
public void displayStateall(Link key)
{
System.out.println("list after EDIT:>");
System.out.println("state of books:");
System.out.println(" ID Book Name State ");
System.out.print("-----------------------------------------------------------------------\n");
Link current = first; // start at beginning of list
while(current != null) // until end of list,
{
current.displaystate();
current = current.next; // move to next link
}
System.out.println("");}
// -------------------------------------------------------------
public Link seAv(int key)
{
Link current = first; // start at beginning of list
while(current.BookID != key) // until end of list,
{
current = current.next; // move to next link
}
if(current.State=="Available")
{
current.State="Not Avaliable";
current.displaystate();
}
else{
current.State="Not Avaliable";
current.displaystate();}
System.out.println("");
return current;}
//---------------------------------------------------------------
public Link seNAv(int key)
{
Link current = first; // start at beginning of list
while(current.BookID != key) // until end of list,
{
current = current.next; // move to next link
}
if(current.State=="Not Available")
{
current.State="Avaliable";
current.displaystate();
}
else
{
current.State="Avaliable";
current.displaystate();
}
System.out.println("");
return current;
}//end seNAv
}//end class linkList
Class Main
//Data Structure project-YUC
//Electronic Quick Library System
//programmed by :Wafaalshaikh&WijdanAljohani
//-------------------------------------------------------------------------------------Backages
importjava.awt.Component;
importjava.awt.FlowLayout;
importjava.awt.HeadlessException;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjava.util.*;
importjava.util.Scanner;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjavax.swing.border.*;
importjava.text.*;
importjava.util.Scanner;
importjavax.swing.JOptionPane;
//--------------------------------------------------------------------------------------Class Main
public class Main extends JFrame
{
//-----------------------------------------------------------------------------------1--Method main
public static void main(String[] args)
{
new Main().setVisible(true);//call method Main
}//end public static void main
//----------------------------------------------------------------------------------2--Mathod Main
public Main()
{
finallinkListtheList = new linkList();
final Scanner input = new Scanner(System.in);
////////////////////////////
theList.insert("Algorithms and Complexity ", 1,"Available"); // insert 10 books
theList.insert("The Assembly Language Database ", 2,"Available");
theList.insert("C++ Coding Standard ", 3,"Available");
theList.insert("Introduction To OOP Using C++ ",4,"Available");
theList.insert("CGI Programming on the World Wide Web",5,"Available");
theList.insert("MySQL Reference Manual",6,"Available");
theList.insert("Practical PHP Programming",7,"Available");
theList.insert("Comparison of Different SQL Implementations",8,"Available");
theList.insert("Introducing Visual Basic 2005 for Developers",9,"Available");
theList.insert("Introduction To Structured Query Language ",10,"Available");
/////////////////
setTitle("EQLS");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//---------------------------------------------------------------------------Date-Photo-size-color
Date da = new Date();
Container contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.setBackground(Color.orange);
setSize(600, 600);
//-------------------
JLabel time = new JLabel("Today is:" +da);
getContentPane().add(time);
//----------------
setResizable(false);
setLocationRelativeTo(null);
String imgStr1 = "c://EQLS.png";
ImageIcon image = new ImageIcon(imgStr1);
JLabel label1 = new JLabel(" ", image, JLabel.CENTER);
getContentPane().add(label1);
validate();
setVisible(true);
//------------------
//-----------------------------------------------------------------------------------------Button1
JButton button1 = new JButton("Welcom to [ Electronic Quick Library System ]");
button1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog((Component) e.getSource(), "\n\n EQLS: [ Electronic Quick Library System ] \n\n [ System provides a quick services for books to student and teachers in Yanbu Uneversiy College ] \n\n [ Programmed by: Wijdan Al-Johani& Wafa'a Al-Shaikh ]\n\n [ This system is a project of Data Structure Subject ]\n\n [ 2001 ]\n\n");
}
});//end button1
//-----------------------------------------------------------------------------------------Button2
JButton button2 = new JButton("Main User Access: Librarian");
button2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e)
{
String Option1 = JOptionPane.showInputDialog(null,"\n1-Show List of bookes\n2-Add new book\n3-Remove book from list\n4-Borrow\n5-Return\n6-Exit\n\nEnter a number of service", "Librarian Options", JOptionPane.INFORMATION_MESSAGE);
int ConvOption1 = Integer.parseInt(Option1);
while(ConvOption1!=6)
{
switch (ConvOption1)
{
case 1:{
theList.displayList();
}
break;
case 2:{
String name = JOptionPane.showInputDialog((Component) e.getSource(), "Enter Name of the Book:");
String num = JOptionPane.showInputDialog((Component) e.getSource(), "Enter Number of the Book:");
intConvNum = Integer.parseInt(num);
theList.insert(name,ConvNum,"Available");
}
break;
case 3:{
String num = JOptionPane.showInputDialog((Component) e.getSource(), "Enter Number of the Book:");
intConvNum = Integer.parseInt(num);
Link d = theList.delete(ConvNum); // delete item
if( d != null )
JOptionPane.showMessageDialog((Component) e.getSource(), "Deleted the book with number " + d.BookID);
else
JOptionPane.showMessageDialog((Component) e.getSource(),"Book is not in the list to delete");
theList.displayList();
}
break;
case 4:{
theList.displayList();
String num = JOptionPane.showInputDialog((Component) e.getSource(), "Enter Book Nember:>");
intConvNum = Integer.parseInt(num);
Link v = theList.seAv(ConvNum);
theList.displayStateall(v);
}
break;
case 5:{
theList.displayList();
String num = JOptionPane.showInputDialog((Component) e.getSource(), "Enter Book Nember:>");
intConvNum = Integer.parseInt(num);
Link v = theList.seNAv(ConvNum);
theList.displayStateall(v);
}
}//end switch
Option1 = JOptionPane.showInputDialog("\n1-Show List of bookes\n2-Add new book\n3-Remove book from list\n4-Borrow\n5-Return\n6-Exit");
ConvOption1 = Integer.parseInt(Option1);
}//end while
}//end method public void actionListener
});//end button2
//-----------------------------------------------------------------------------------------Button3
JButton button3 = new JButton("Sub Users Access: Students & Teachers");
button3.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e)
{
String Option2 = JOptionPane.showInputDialog(null, "\n1-Show list of bookes\n2-Search book\n3-Exit\n\nEnter a number of service", "Sub-Users Options", JOptionPane.INFORMATION_MESSAGE);
int ConvOption2 = Integer.parseInt(Option2);
while(ConvOption2!=3)
{
switch (ConvOption2)
{
case 1:{
theList.displayList();
}
break;
case 2:{
String key = JOptionPane.showInputDialog((Component) e.getSource(), "Enter Book Number:");
intConvkey = Integer.parseInt(key);
Link f = theList.find(Convkey); // find item
if( f != null)
{
theList.displayState(f);
}
else
JOptionPane.showMessageDialog((Component) e.getSource(), "Can't find The book of number" + Convkey);
}
break;
}//end switch
Option2 = JOptionPane.showInputDialog(null, "\n1-Show list of bookes\n2-Search book\n3-Exit\n\nEnter a number of service", "Sub-Users Options", JOptionPane.INFORMATION_MESSAGE);
ConvOption2 = Integer.parseInt(Option2);
}//end while
}//end method public void actionListener
});//end button3
//------------------------------------------------------------------------------------------Button4
JButton button4 = new JButton("Exit");
button4.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e)
{
int result = JOptionPane.showConfirmDialog((Component) e.getSource(),"Close EQLS ");
if (result == JOptionPane.YES_OPTION)
{System.exit(0);}
}
});//end button3
//------------------------------------------------------------------------------------------
setLayout(new FlowLayout(FlowLayout.CENTER));
setLayout(new GridLayout(4,2));
getContentPane().add(button1);
getContentPane().add(button2);
getContentPane().add(button3);
getContentPane().add(button4);
}//end public method Main
////////////////////////////////////////////////////////////////////////////////////
}//end class Main
and I did it on c++
but the requirement in c not in c++
could someone help me and make it in c or explain how I can make the change
thanks for you