Connecting Tech Pros Worldwide Help | Site Map

Urgent Help required

  #1  
Old October 21st, 2006, 10:05 AM
Jinsu Jais
Guest
 
Posts: n/a
Dear guys,

I am a student who had started learning Turbo c++ yet one year. I know
only the basics of the c++. But now its my turn to make a project in
our school. So I decided to start a project which doesn't use any
graphical support in c++. So I prefer a Blood Bank management system.
But I am not sure that is my project is perfect. So my friends, PLEASE
HELP ME TO MAKE A PERFECT ERROR-FREE PROJECT. Also advice me some other
projects with the codes so that I can implement it. I am adding my code
here.
NEED AN URGENT REPLY TO : jinsujais@yahoo.com or jinsujais@gmail.com

Jinsu M Jais



// A BLOOD BANK MANAGEMENT SYSTEM

#include<fstream.h>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
class DONOR
{
char name[20];
char dob[9];
char address[30];
int phone_no;
char blood_gr[4];
public:
DONOR()
{
phone_no=0;
}
void accept();
void display();
void save();
char *return_group();
};
char *DONOR::return_group()
{
return blood_gr;
}
void DONOR::accept()
{
clrscr();
cout<<"\t\t\tDONOR DETAILS";
cout<<"\nEnter NAME: ";
gets(name);
cout<<"\nEnter Address : ";
gets(address);
cout<<"\nEnter Date of Birth : ";
gets(dob);
cout<<"\nEnter Phone Number : ";
cin>>phone_no;
cout<<"\nEnter Blood Group : ";
gets(blood_gr);
}
void DONOR::display()
{
clrscr();
cout<<"\t\t\tDONOR DETAILS";
cout<<"\nNAME : ";
puts(name);
cout<<"\nAddress : ";
puts(address);
cout<<"\nDate Of Birth : ";
puts(dob);
cout<<"\nPhone Number : "<<phone_no;
cout<<"\nBlood Group : ";
puts(blood_gr);
getch();
}
void DONOR::save()
{
fstream dfile;
DONOR DD;
dfile.open("DONOR.dat",ios::app);
dfile.write((char *)&DD,sizeof(DD));
dfile.close();
}
class node
{
DONOR record;
public:
node *next;
void append();
void display();
void save();
void query(char b_group[40]);
node()
{
next=NULL;
}
};
void node::append()
{
record.accept();
next=NULL;
}
void node::display()
{
record.display();
}
void node::save()
{
record.save();
}
void node::query(char b_group[40])
{
if(strcmp(record.return_group(),b_group)==0)
display();
}
class list
{
node *first,*last;
public:
list()
{
first=NULL;
last=NULL;
}
void append();
void save(node *ptr);
void display();
void query();
void open();
};
void list::save(node *ptr)
{
ptr->save();
}
void list::append()
{
node *ptr;
ptr=new node;
ptr->append();
if(first==NULL)
first=last=ptr;
else
{
last->next=ptr;
last=ptr;
}
save(ptr);
}
void list::display()
{
node *ptr;
ptr=first;
while(ptr!=NULL)
{
ptr->display();
ptr=ptr->next;
}
}
void list::query()
{
clrscr();
char b_group[4];
node *ptr;
cout<<"\t\tDONOR DETAILS";
cout<<"\nBlood Group : ";
cin>>b_group;
for(ptr=first;ptr;ptr=ptr->next)
ptr->query(b_group);
}
void main()
{
int ch;
list LIST;
do
{
clrscr();
cout<<"\t\t\tDONOR DETAILS";
cout<<"\n\t1: Append Records";
cout<<"\n\t2: Display Records";
cout<<"\n\t3: Query on blood group";
cout<<"\n\t4: End the program";
cout<<"\n\nEnter your choice : ";
cin>>ch;
switch(ch)
{
case 1:
LIST.append();
break;
case 2:
LIST.display();
break;
case 3:
LIST.query();
break;
case 4:
cout<<"\nEnd of the program";
getch();
break;
}
}while(ch!=4);
}

  #2  
Old October 21st, 2006, 10:25 AM
StreamKid
Guest
 
Posts: n/a

re: Urgent Help required


so...

1) at the beggining, in class DONOR, i guess you want the first part
(name, dob, address, etc) private, but you haven't written the
private: keyword anywhere, and they aren't always by default private
(depends on the compiler). you can change it to:
class DONOR {
private:
char name[20];
// ...
public:
// what you 've already declared as public

2) although in c its legal to have void main, in c++ int must return
int.

there may be more bugs, but i'm not so expirienced either, so i didnt'
find them..

  #3  
Old October 21st, 2006, 01:05 PM
Daniel T.
Guest
 
Posts: n/a

re: Urgent Help required


In article <1161422552.910326.259260@m73g2000cwd.googlegroups .com>,
"Jinsu Jais" <jinsujais@gmail.comwrote:
Quote:
Dear guys,
>
I am a student who had started learning Turbo c++ yet one year. I know
only the basics of the c++. But now its my turn to make a project in
our school. So I decided to start a project which doesn't use any
graphical support in c++. So I prefer a Blood Bank management system.
But I am not sure that is my project is perfect. So my friends, PLEASE
HELP ME TO MAKE A PERFECT ERROR-FREE PROJECT. Also advice me some other
projects with the codes so that I can implement it. I am adding my code
here.
NEED AN URGENT REPLY TO : jinsujais@yahoo.com or jinsujais@gmail.com
>
Jinsu M Jais
>
>
>
// A BLOOD BANK MANAGEMENT SYSTEM
>
#include<fstream.h>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
The above are the wrong headers for standard C++. They should be:

#include <fstream>
#include <string>
#include <cstdlib>
#include <cstdio>
Quote:
#include<conio.h>
The above header doesn't exist in C++
Quote:
class DONOR
{
char name[20];
char dob[9];
char address[30];
int phone_no;
char blood_gr[4];
Learn about std::string and use it above.
Quote:
public:
DONOR()
{
phone_no=0;
}
Use an initialization list and initialize *all* your variables, not just
phone_no.

http://www.parashift.com/c++-faq-lit....html#faq-10.6
Quote:
void accept();
void display();
void save();
char *return_group();
Probably should return const char*.

Make sure your functions are const correct in general.

http://www.parashift.com/c++-faq-lit...rrectness.html
Quote:
};
char *DONOR::return_group()
{
return blood_gr;
}
Make the above "const char*"
Quote:
void DONOR::accept()
{
clrscr();
"clrscr" is not standard C++
Quote:
cout<<"\t\t\tDONOR DETAILS";
cout<<"\nEnter NAME: ";
gets(name);
cout<<"\nEnter Address : ";
gets(address);
cout<<"\nEnter Date of Birth : ";
gets(dob);
cout<<"\nEnter Phone Number : ";
cin>>phone_no;
cout<<"\nEnter Blood Group : ";
gets(blood_gr);
}
Use "cin" instead of "gets" in the above.
Quote:
void DONOR::display()
{
clrscr();
cout<<"\t\t\tDONOR DETAILS";
cout<<"\nNAME : ";
puts(name);
cout<<"\nAddress : ";
puts(address);
cout<<"\nDate Of Birth : ";
puts(dob);
cout<<"\nPhone Number : "<<phone_no;
cout<<"\nBlood Group : ";
puts(blood_gr);
getch();
There is no "getch" in standard C++
Quote:
}
Use "cout" instead of "puts" in the above.
Quote:
void DONOR::save()
{
fstream dfile;
DONOR DD;
dfile.open("DONOR.dat",ios::app);
dfile.write((char *)&DD,sizeof(DD));
dfile.close();
Your trying to save a blank DONOR object. Write 'this' instead of '&DD'.
Better would be to use the put-to operator (<<) for each parameter, like
you do with cout.

http://www.parashift.com/c++-faq-lit...alization.html
Quote:
}
class node
{
DONOR record;
public:
node *next;
void append();
void display();
void save();
void query(char b_group[40]);
node()
{
next=NULL;
}
};
void node::append()
{
record.accept();
next=NULL;
}
void node::display()
{
record.display();
}
void node::save()
{
record.save();
}
void node::query(char b_group[40])
{
if(strcmp(record.return_group(),b_group)==0)
display();
}
class list
{
node *first,*last;
public:
list()
{
first=NULL;
last=NULL;
}
void append();
void save(node *ptr);
void display();
void query();
void open();
};
void list::save(node *ptr)
{
ptr->save();
}
void list::append()
{
node *ptr;
ptr=new node;
ptr->append();
if(first==NULL)
first=last=ptr;
else
{
last->next=ptr;
last=ptr;
}
save(ptr);
}
void list::display()
{
node *ptr;
ptr=first;
while(ptr!=NULL)
{
ptr->display();
ptr=ptr->next;
}
}
void list::query()
{
clrscr();
char b_group[4];
node *ptr;
cout<<"\t\tDONOR DETAILS";
cout<<"\nBlood Group : ";
cin>>b_group;
for(ptr=first;ptr;ptr=ptr->next)
ptr->query(b_group);
}
Dump the node and list classes and use std::list instead.
Quote:
void main()
{
int ch;
list LIST;
do
{
clrscr();
No such function in standard C++
Quote:
cout<<"\t\t\tDONOR DETAILS";
cout<<"\n\t1: Append Records";
cout<<"\n\t2: Display Records";
cout<<"\n\t3: Query on blood group";
cout<<"\n\t4: End the program";
cout<<"\n\nEnter your choice : ";
cin>>ch;
switch(ch)
{
case 1:
LIST.append();
break;
case 2:
LIST.display();
break;
case 3:
LIST.query();
break;
case 4:
cout<<"\nEnd of the program";
getch();
break;
}
}while(ch!=4);
}
--
There are two things that simply cannot be doubted, logic and perception.
Doubt those, and you no longer*have anyone to discuss your doubts with,
nor any ability to discuss them.
  #4  
Old October 21st, 2006, 03:25 PM
David Harmon
Guest
 
Posts: n/a

re: Urgent Help required


On 21 Oct 2006 02:39:24 -0700 in comp.lang.c++, "StreamKid"
<copyrighter@gmail.comwrote,
Quote:
>1) at the beggining, in class DONOR, i guess you want the first part
>(name, dob, address, etc) private, but you haven't written the
>private: keyword anywhere, and they aren't always by default private
>(depends on the compiler). you can change it to:
>class DONOR {
>private:
According to the standard, they are private. It would take a pretty
wacky compiler to get that wrong.

See "[7.8] What's the difference between the keywords struct and
class?" in Marshall Cline's C++ FAQ. You can read the FAQ at:
http://www.parashift.com/c++-faq-lite/

Closed Thread


Similar Threads
Thread Thread Starter Forum Replies Last Post
Obfuscating a C# project. NIKHILUNNIKRISHNAN answers 2 September 16th, 2008 02:00 PM
ftp from unix to windows - urgent help required samsalmanu answers 2 September 7th, 2007 10:55 PM
Urgent Help Required by Implementing a ConnectFour Game koonda answers 5 May 13th, 2007 10:37 PM
Extension- Urgent Help Required - Recovery Rajesh Garg answers 6 July 20th, 2005 02:18 AM
Urgent Help Required - Recovery Rajesh Garg answers 1 July 20th, 2005 02:17 AM