Convert C++ to vc++

How to convert c++ code to vc++?

Page 1 of 1

2 Replies - 1055 Views - Last Post: 26 May 2009 - 07:55 AM Rate Topic: -----

#1 shivanigandhi  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 10
  • Joined: 24-May 09

Convert C++ to vc++

Post icon  Posted 25 May 2009 - 08:49 PM

how do i convert c++ code to vc++
[code]

#include<iostream.h>
#include<process.h>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
#include<ctype.h>
#include<conio.h>
#include<dos.h>
#include<fstream.h>
#include<graphics.h>
#include<math.h>
class MENU
{
public:
void mainmenu(void);
void introduc(void);
void bkgrnd(int);
int bkgrnd(void);
int check(int,int);
private:
void editmenu(void);
void editbook(void);
void editmem(void);
};
class BOOK
{
public:
void list(void);
char *bookname(int);
protected:
void addnewbook(int,char tname[33],char tauthor[26],float,int,int);
void updatecopies(int,int,int);
void modify(int,char[],char[],float);
void deletion(void);
int bookfound(int);
int booknamefound(char[]);
int recordno(int);
int available(int);
char *authorname(int);
float bookprice(int);
int noofcopies(int);
int bookcodeof(char[]);
void display(int);
int reccount(void);
void deleterec(int);
private:
int bookcode,copies;
char name[33],author[26];
float price;
int avail;
};
class MEMBER
{
public:
void list(void);
protected:
void addmem(int,int,char[],char[],char[],int,int,int);
void modify(int,char[],char[],char[]);
void deletion(void);
int memfound(int);
void updatebook(int,int,int,int,int);
char *memname(int);
char *memphone(int);
char *memaddress(int);
int recordno(int);
int lastcode(void);
int issued(int);
int fine(int);
void display(int);
void deleterec(int);
private:
int memcode,bookcode;
char name[26],phone[10],address[33];
int dd,mm,yy;
};
class WORKING:public BOOK,public MEMBER
{
public:
void issuebook(void);
void returnbook(void);
void addbook(void);
void addmember(void);
void modifybook(void);
void modifymem(void);
void deletebook(void);
void deletemem(void);
};
class DATE
{
public:
void extenddate(int,int,int,int);
int diff(int,int,int,int,int,int);
int day,mon,year;
};
void DATE::extenddate(int d1,int m1,int y1,int days)
{
static int month[]={31,29,31,30,31,30,31,31,30,31,30,31};
for(int i=1;i<=days;i++)
{
d1++;
if((d1>month[m1-1]) || (y1%4!=0 && m1==2 && d1>28))
{
d1=1;
m1++;
}
if(m1>12)
{
m1=1;
y1++;
}
}
day=d1;
mon=m1;
year=y1;
}
int DATE::diff(int d1,int m1,int y1,int d2,int m2,int y2)
{
int days=0;
if((y2<y1) || (y2==y1 && m2<m1) || (y2==y1 && m2==m1 && d2<d1))
return days;
static int month[]={31,29,31,30,31,30,31,31,30,31,30,31};
while(d1!=d2 || m1!=m2 || y1!=y2)
{
days++;
d1++;
if((d1>month[m1-1]) || (y1%4!=0 && m1==2 && d1>28))
{
d1=1;
m1++;
};
if(m1>12)
{
m1=1;
y1++;
}
}
return days;
}
void MENU::mainmenu(void)
{

char ch;
int p;
MENU::bkgrnd(0);
while(1)
{
// cleardevice();


gotoxy(29,6);
cout<<"BOOK LIBRARY";
gotoxy(29,7);
cout<<"-------------------------------";
gotoxy(30,10);cout<<"1.Introduction";
gotoxy(30,11);cout<<"2.Add New Book(s)";
gotoxy(30,12);cout<<"3.Add New Member(s)";
gotoxy(30,13);cout<<"4.Issue Book(s)";
gotoxy(30,14);cout<<"5.Return Book(s)";
gotoxy(30,15);cout<<"6.List of Book(s)";
gotoxy(30,16);cout<<"7.List of Member(s)";
gotoxy(30,17);cout<<"8.EDIT";
gotoxy(30,18);cout<<"0.QUIT";
gotoxy(30,20);cout<<"Enter Your Choice:";
ch=getch();
closegraph();
if(ch==27)
break;
if(ch=='1')
introduc();
else
if(ch=='2')
{
WORKING W;
W.addbook();
}
else
if(ch=='3')
{
WORKING W;
W.addmember();
}
else
if(ch=='4')
{
WORKING W;
W.issuebook();
}
else
if(ch=='5')
{
WORKING W;
W.returnbook();
}
else
if(ch=='6')
{
BOOK B;
B.list();
}
else
if(ch=='7')
{
MEMBER M;
M.list();
}
else
if(ch=='8')
editmenu();
else
if(ch=='0')
break;
MENU::bkgrnd(1);
}
}
//function for bkground
void MENU::bkgrnd(int v)
{
clrscr();
int driver = DETECT,mode;
int x[15],y[15];
int x_center , y_center , rad = 90;
int i,j;

initgraph(&driver,&mode,"c:\\tc\\bgi");
x_center=getmaxx()/2;
y_center=getmaxy()/2;

setbkcolor(0);
setcolor(BLUE);
if(v==0)
rad=100;
if(v==1)
rad=2000;
for (;rad<=2000;rad+=50)
{
for ( i = 0; i < 15; i++ )
{
x[i] = x_center + rad * cos((24*i+(x_center-110))*3.14159/180);
y[i] = y_center + rad * sin((24*i+(x_center-110))*3.14159/180);
}
for ( i = 0; i < 15; i++ )
for ( j = 0; j < 15; j++ )
{
line(x[i],y[i],x[j],y[j]);
if(v==1)
delay(20);
}

if(rad==2000)
break;

cleardevice();
}
}

int MENU::bkgrnd(void)
{
clrscr();
int driver = DETECT,mode;
int x[15],y[15];
int x_center , y_center , rad = 2000;
int i,j,k;
int color=0,maxcolor,v=1;


initgraph(&driver,&mode,"c:\\tc\\bgi");
x_center=getmaxx()/2;
y_center=getmaxy()/2;
maxcolor=getmaxcolor();

setbkcolor(0);
while(k=(check(0,7))==9)
{ setcolor(color);
for ( i = 0; i < 15; i++ )
{
x[i] = x_center + rad * cos((24*i+(x_center-110))*3.14159/180);
y[i] = y_center + rad * sin((24*i+(x_center-110))*3.14159/180);
}
for ( i = 0; i < 15; i++ )
for ( j = 0; j < 15; j++ )
line(x[i],y[i],x[j],y[j]);


if(color==maxcolor)
v=-1;
if(color==0)
v=1;

delay(500);
color+=v;
// cleardevice();
}
return(k);
}
int MENU::check(int n,int m)
{int i,flag,temp;
char ch[10];
gets(ch);
temp=atoi(ch);
for(i=n;i<=m;i++)
if(temp==i)
{flag=1;
break;}

if(flag==1)
return(temp);
else
return(9);
}
//function display edit menu
void MENU::editmenu(void)
{
char ch;
MENU::bkgrnd(0);
while(1)
{
//clrscr();

gotoxy(32,9);cout<<"EDIT MENU";
gotoxy(32,10);cout<<"---------------------------";
gotoxy(34,13);cout<<"1.BOOKS";
gotoxy(34,14);cout<<"2.MEMBERS";
gotoxy(34,15);cout<<"0.EXIT";
gotoxy(31,17);cout<<"Enter Your choice:";
ch=getche();
closegraph();
if(ch==27)
break;
else
if(ch=='1')
editbook();
else
if(ch=='2')
editmem();
else
if(ch=='0')
break;
MENU::bkgrnd(1);
}
}
//func. to display edit menu for book and control
//all the func. in edit menu
void MENU::editbook(void)
{
char ch;
MENU::bkgrnd(0);
while(1)
{
//clrscr();
gotoxy(31,9);cout<<"EDIT BOOKS";
gotoxy(31,10);cout<<"---------------------------";
gotoxy(34,13);cout<<"1.MODIFY";
gotoxy(34,14);cout<<"2.DELETE";
gotoxy(34,15);cout<<"0.EXIT";
gotoxy(31,17);cout<<"Enter Your choice:";
ch=getche();
closegraph();
if(ch==27)
break;
else
if(ch=='1')
{
WORKING W;
W.modifybook();
}
else
if(ch=='2')
{
WORKING W;
W.deletebook();
}
else
if(ch=='0')
break;
MENU::bkgrnd(1);
}
}
//func. to display edit menu for member and control
//all the func. in edit menu
void MENU::editmem(void)
{
char ch;
MENU::bkgrnd(0);
while(1)
{
clrscr();
gotoxy(29,9);cout<<"EDIT MEMBERS";
gotoxy(29,10);cout<<"---------------------------";
gotoxy(34,13);cout<<"1.MODIFY";
gotoxy(34,14);cout<<"2.DELETE";
gotoxy(34,15);cout<<"0.EXIT";
gotoxy(29,17);cout<<"Enter Your choice:";
ch=getche();
closegraph();
if(ch==27)
break;
else
if(ch=='1')
{
WORKING W;
W.modifymem();
}
else
if(ch=='2')
{
WORKING W;
W.deletemem();
}
else
if(ch=='0')
break;
MENU::bkgrnd(1);
}
}
//func. to display the introduction for the project
void MENU::introduc(void)
{
clrscr();

int driver = DETECT,mode;
int x[15],y[15];
int x_center = 360, y_center = 180, rad = 90;
int i,j;
char *fname[]={"P","R" ,"O" ,"J","E","C","T","L","I","B","R","A","R","Y"};
char *fname2[]={"M","A" ,"D" ,"E "," ","B","Y"," ","S","I","D","H","A","R","T","H","&"," ","N","I","K","H","I","L"," "};

initgraph(&driver,&mode,"c:\\tc\\bgi");

setbkcolor(0);
setcolor(BLUE);
delay(1000);
for (x_center=110;x_center<=520;x_center+=10)
{ for ( i = 0; i < 15; i++ )
{
x[i] = x_center + rad * cos((24*i+(x_center-110))*3.14159/180);
y[i] = y_center + rad * sin((24*i+(x_center-110))*3.14159/180);
}
for ( i = 0; i < 15; i++ )
for ( j = 0; j < 15; j++ )
{
line(x[i],y[i],x[j],y[j]);
}
delay(100);
if(x_center!=520)
cleardevice();
}
setcolor(WHITE);
settextstyle(4, HORIZ_DIR, 5);


for(i=0;i<14;i++)
{
outtextxy(40+40*i,120+50*(i/7), *(fname+i)); /* output a message */
delay(300);
}
setcolor(RED);
settextstyle(0, HORIZ_DIR, 1);

for(i=0;i<25;i++)
{
outtextxy(440+10*i-70*(i/16),440+12*(i/8), *(fname2+i));
delay(100);
}
setcolor(BLUE);
int midx=getmaxx()/2;
y_center=getmaxy()/2;
for (x_center=520;x_center>=midx;x_center-=10)
{ for ( i = 0; i < 15; i++ )
{
x[i] = x_center + rad * cos((24*i+(x_center-110))*3.14159/180);
y[i] = y_center + rad * sin((24*i+(x_center-110))*3.14159/180);
}
for ( i = 0; i < 15; i++ )
for ( j = 0; j < 15; j++ )
{
line(x[i],y[i],x[j],y[j]);
}
delay(100);
if(x_center!=midx)
cleardevice();
}
for (rad=100;rad<=2500;rad+=50)
{
for ( i = 0; i < 15; i++ )
{
x[i] = x_center + rad * cos((24*i+(x_center-110))*3.14159/180);
y[i] = y_center + rad * sin((24*i+(x_center-110))*3.14159/180);
}
for ( i = 0; i < 15; i++ )
for ( j = 0; j < 15; j++ )
{
line(x[i],y[i],x[j],y[j]);
}
delay(100);
if(rad==2000)
break;
cleardevice();
}
// getch(); /* press any key return to TEXT mode */
// closegraph();
gotoxy(31,5);cout<<"Welcome To Project";
textcolor(RED+BLINK);textbackground(WHITE);
gotoxy(33,7);cprintf("BOOK LIBRARY");
textcolor(LIGHTGRAY);textbackground(BLACK);
gotoxy(15,10);cout<<"This project has facility "<<"of maintaining records";
gotoxy(15,11);cout<<"of BOOKS & MEMBERS.";
gotoxy(15,13);cout<<"This project can hold "<<"more than 10,000 books";
gotoxy(15,14);cout<<"records.";
gotoxy(15,16);cout<<"One member can issue one"<<" book at a time.If he/she";
gotoxy(15,17);cout<<"does not return book upto "<<"15 days he/she have to ";
gotoxy(15,18);cout<<"pay fine of Rs.2/- per day.";
textcolor(LIGHTGRAY+BLINK);
gotoxy(27,24);cprintf("Press any key to continue");
textcolor(LIGHTGRAY);
getch();
closegraph();
}
//this func. return 0 if given book code not found
int BOOK::bookfound(int tcode)
{
fstream file;
file.open("BOOK.DAT",ios::in);
file.seekg(0,ios::beg);
int found=0;
while(file.read((char *)this,sizeof(BOOK)))
{
if(bookcode==tcode)
{
found=1;break;
}
}
file.close();
return found;
}
//return 0 if book name not found
int BOOK::booknamefound(char t1code[33])
{
fstream file;
file.open("BOOK.DAT",ios::in);
file.seekg(0,ios::beg);
int found=0;
while(file.read((char *)this,sizeof(BOOK)))
{
if(!strcmpi(name,t1code))
{
found=1;break;
}
}
file.close();
return found;
}
//return record no. for book code
int BOOK::recordno(int tcode)
{
fstream file;
file.open("BOOK.DAT",ios::in);
file.seekg(0,ios::beg);
int count=0;
while(file.read((char *)this,sizeof(BOOK)))
{
count++;
if(bookcode==tcode)break;
}
file.close();
return count;
}
//returns available copies for given book code
int BOOK::available(int tcode)
{
fstream file;
file.open("BOOK.DAT",ios::in);
file.seekg(0,ios::beg);
int tavail=0;
while(file.read((char *)this,sizeof(BOOK)))
{
if(bookcode==tcode)
{
tavail=avail;break;
}
}
file.close();
return tavail;
}
//return no. of copies for given book code
int BOOK::noofcopies(int tcode)
{
fstream file;
file.open("BOOK.DAT",ios::in);
file.seekg(0,ios::beg);
int tcopies=0;
while(file.read((char *)this,sizeof(BOOK)))
{
if(bookcode==tcode)
{
tcopies=copies;break;
}
}
file.close();
return tcopies;
}
//return book name of the given book code
char *BOOK::bookname(int tcode)
{
fstream file;
file.open("BOOK.DAT",ios::in);
file.seekg(0,ios::beg);
char tname[33];
while(file.read((char *)this,sizeof(BOOK)))
{
if(bookcode==tcode)
{
strcpy(tname,name);break;
}
}
file.close();
return tname;
}
//returns author name of the given book code
char *BOOK::authorname(int tcode)
{
fstream file;
file.open("BOOK.DAT",ios::in);
file.seekg(0,ios::beg);
char tauthor[26];
while(file.read((char *)this,sizeof(BOOK)))
{
if(bookcode==tcode)
{
strcpy(tauthor,author);break;
}
}
file.close();
return tauthor;
}
//return book price of the given book code
float BOOK::bookprice(int tcode)
{
fstream file;
file.open("BOOK.DAT",ios::in);
file.seekg(0,ios::beg);
float tprice=0.0;
while(file.read((char *)this,sizeof(BOOK)))
{
if(bookcode==tcode)
{
tprice=price;break;
}
}
file.close();
return tprice;
}
//return book code of the given book name
int BOOK::bookcodeof(char t1code[33])
{
fstream file;
file.open("BOOK.DAT",ios::in);
file.seekg(0,ios::beg);
int tcode=0;
while(file.read((char *)this,sizeof(BOOK)))
{
if(!strcmpi(name,t1code))
{
tcode=bookcode;break;
}
}
file.close();
return tcode;
}
//return no. of records in the book file
int BOOK::reccount(void)
{
fstream file;
file.open("BOOK.DAT",ios::in);
file.seekg(0,ios::beg);
int count=0;
while(file.read((char *)this,sizeof(BOOK)))
count++;
file.close();
return count;
}
//deletes record of the given book code
void BOOK::deleterec(int tcode)
{
fstream file;
file.open("BOOK.DAT",ios::in);
fstream temp;
temp.open("temp.dat",ios::out);
file.seekg(0,ios::beg);
while(!file.eof())
{
file.read((char *)this,sizeof(BOOK));
if(file.eof())break;
if(bookcode!=tcode)
temp.write((char *)this,sizeof(BOOK));
}
file.close();
temp.close();
file.open("BOOK.DAT",ios::out);
temp.open("temp.dat",ios::in);
temp.seekg(0,ios::beg);
while(!temp.eof())
{
temp.read((char *)this,sizeof(BOOK));
if(temp.eof())break;
if(bookcode!=tcode)
file.write((char *)this,sizeof(BOOK));
}
file.close();
temp.close();
}
//add record in book file
void BOOK::addnewbook(int tcode,char tname[33],char tauthor[26],float tprice,int tcopies,int tavail)
{
fstream file;
file.open("BOOK.DAT",ios::app);
bookcode=tcode;
strcpy(name,tname);
strcpy(author,tauthor);
price=tprice;
copies=tcopies;
avail=tavail;
file.write((char *)this,sizeof(BOOK));
file.close();
}
//updates the record in book file for given code
void BOOK::updatecopies(int tcode,int tcopies,int tavail)
{
int recno;
recno=recordno(tcode);
fstream file;
file.open("BOOK.DAT",ios::out | ios::ate);
copies=tcopies;
avail=tavail;
int location;
location=(recno-1)*sizeof(BOOK);
file.seekp(location);
file.write((char *)this,sizeof(BOOK));
file.close();
}
//modify record in book file for given code
void BOOK::modify(int tcode,char tname[33],char tauthor[26],float tprice)
{
int recno;
recno=recordno(tcode);
fstream file;
file.open("BOOK.DAT",ios::out | ios::ate);
strcpy(name,tname);
strcpy(author,tauthor);
price=tprice;
int location;
location=(recno-1)*sizeof(BOOK);
file.seekp(location);
file.write((char *)this,sizeof(BOOK));
file.close();
}
//display record from book file for given book code
void BOOK::display(int tcode)
{
fstream file;
file.open("BOOK.DAT",ios::in);
file.seekg(0,ios::beg);
while(file.read((char *)this,sizeof(BOOK)))
{
if(bookcode==tcode)
{
gotoxy(5,5);cout<<"Book Code :"<<bookcode;
gotoxy(5,7);cout<<"Book Name :"<<name;
gotoxy(5,8);cout<<"Author Name :"<<author;
gotoxy(5,9);cout<<"Price :Rs. "<<price;
gotoxy(5,10);cout<<"Copies :"<<copies;
gotoxy(5,11);cout<<"Available :"<<avail;
break;
}
}
file.close();
}
//display list of books
void BOOK::list(void)
{
clrscr();
int row=6,found=0,flag=0;
char ch;
gotoxy(33,2);cout<<" LIST OF BOOKS";
gotoxy(32,3);cout<<"-------------------";
gotoxy(1,4);cout<<"CODE BOOK NAME AUTHOR PRICE COPIES";
gotoxy(1,5);cout<<"-------------------------------------------------------------------------------";
fstream file;
file.open("BOOK.DAT",ios::in);
file.seekg(0,ios::beg);
while(file.read((char *)this,sizeof(BOOK)))
{
flag=0;
delay(20);
found=1;
gotoxy(2,row);cout<<bookcode;
gotoxy(10,row);cout<<name;
gotoxy(41,row);cout<<author;
gotoxy(64,row);cout<<price;
gotoxy(71,row);cout<<copies;
textbackground(WHITE);textcolor(BLACK);
gotoxy(40,row+1);cprintf("STATUS:");
textcolor(BLACK+BLINK);
cprintf("%d copies available",avail);
textbackground(BLACK);textcolor(LIGHTGRAY);
if(row==22)
{
flag=1;
row=6;
gotoxy(1,25);cout<<"Press any key to continue or Press <ESC> to exit";
ch=getch();
if(ch==27)break;
clrscr();
gotoxy(33,2);cout<<"LIST OF BOOKS";
gotoxy(32,3);cout<<"--------------------";
gotoxy(1,4);cout<<"CODE BOOK NAME "
<<" AUTHOR PRICE COPIES";
gotoxy(1,5);
cout<<"-----------------------------------------------"
<<"---------------------------------------------------";
}
else
row=row+2;
}
if(!found)
{
gotoxy(5,10);cout<<"\t Records not found";
}
if(!flag)
{
gotoxy(1,25);cout<<"Press any key to continue...";
getche();
}
file.close();
}
//returns 0 if given member code not found
int MEMBER::memfound(int mcode)
{
fstream file;
file.open("MEMBER.DAT",ios::in);
file.seekg(0,ios::beg);
int found=0;
while(file.read((char *)this,sizeof(MEMBER)))
{
if(memcode==mcode)
{
found=1;break;
}
}
file.close();
return found;
}
//returns 0 if member have not issued any book
int MEMBER::issued(int mcode)
{
fstream file;
file.open("MEMBER.DAT",ios::in);
file.seekg(0,ios::beg);
int missue=0;
while(file.read((char *)this,sizeof(MEMBER)))
{
if(memcode==mcode)
{
missue=bookcode;break;
}
}
file.close();
return missue;
}
//calculate & return fine for given mem. code
int MEMBER::fine(int mcode)
{
DATE D;
int d1,m1,y1;
struct date d;
getdate(&d);
d1=d.da_day;
m1=d.da_mon;
y1=d.da_year;
fstream file;
file.open("MEMBER.DAT",ios::in);
file.seekg(0,ios::beg);
int days,t_fine;
while(file.read((char *)this,sizeof(MEMBER)))
{
if(memcode==mcode)
{
days=D.diff(dd,mm,yy,d1,m1,y1);
t_fine=days*2;
break;
}
}
file.close();
return t_fine;
}
int MEMBER::lastcode(void)
{
fstream file;
file.open("MEMBER.DAT",ios::in);
file.seekg(0,ios::beg);
int mcode=0;
while(file.read((char *)this,sizeof(MEMBER)))
memcode=mcode;
file.close();
return mcode;
}
//returns mem. name given membercode
char *MEMBER::memname(int mcode)
{
fstream file;
file.open("MEMBER.DAT",ios::in);
file.seekg(0,ios::beg);
char mname[26];
while(file.read((char *)this,sizeof(MEMBER)))
{
 &n

Is This A Good Question/Topic? 0
  • +

Replies To: Convert C++ to vc++

#2 Martyr2  Icon User is offline

  • Programming Theoretician
  • member icon

Reputation: 4333
  • View blog
  • Posts: 12,128
  • Joined: 18-April 07

Re: Convert C++ to vc++

Posted 25 May 2009 - 09:35 PM

Well despite the similarities in name (and general syntax) direct conversion of C++ to VC++ is not always an easy task. C++ is unmanaged code while VC++ is typically managed through the .NET framework (if you are using anything beyond VC++ 6).

If you are talking about adding this to a windows form application then it is not an easy task. VC++ forms are event based, so you will actually have to move each piece out of your C++ project and rewrite parts of it to put it into the proper events. This typically becomes a nightmare. I find it a bit easier to just print out the C++ code and translate it as I go in a brand new windows form in VC++.

But as for direct conversion, I don't know of any tools that do it well. :(
Was This Post Helpful? 0
  • +
  • -

#3 jeff666  Icon User is offline

  • D.I.C Head

Reputation: 6
  • View blog
  • Posts: 193
  • Joined: 30-December 08

Re: Convert C++ to vc++

Posted 26 May 2009 - 07:55 AM

VC++ is not a language.
Convert it to C++/Win32 on Windows, it will be the same except for the menu...
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1