Project introduction and scope
It is a simple c++ project for Student Information System. It gives a simple example of a complete system with the functionality of add record, search record, Update record and delete record using linked list. If students understand basic CRUD (Create, Read, Update and Delete) functionality it would be easy for them to create any Management System using this functionality.
It uses the concept of following topics:
- Pointers
- Loops
- Functions
- Linked List
- If Else
The Project has 5 major function in menu
- Add New record
- Search a record
- Modify a record
- Delete a record
- Exit
How it Works
The menu is handled by if else statement. While adding a new record, if any node already exist then new node is connected with it otherwise a new node is created. While searching a node, a pointer searches all the pointers of linked lists to match the required data from start to end. While Modification the data part of the linked list is overwritten with new data and in case of Deletion, the pointers before and after of the node which we need to delete are connected with each other.
#include<conio.h> #include<iostream> #include<fstream> #include<Windows.h> #include<dos.h> #include<cctype> #include<sstream> #include<string> using namespace std; bool check = true; struct node //structure of node // { char name[20]; char discipline[20]; int rollNo; char section; node *next; }*head,*lastptr; void add() //Adds record of student// { node *p; p=new node; cout<<"Enter name of student:"<<endl; gets(p->name); fflush(stdin); cout<<"Enter discipline of student:"<<endl; gets(p->discipline); fflush(stdin); cout<<"Enter Roll Number of student:"<<endl; cin>>p->rollNo; fflush(stdin); cout<<"Enter section of student:"<<endl; cin>>p->section; fflush(stdin); p->next=NULL; if(check) { head = p; lastptr = p; check = false; } else { lastptr->next=p; lastptr=p; } cout<<endl<<"Recored Entered"; getch(); } void modify() //modifies record of student// { node *ptr; node *prev=NULL; node *current=NULL; int roll_no; cout<<"Enter Roll Number to search:"<<endl; cin>>roll_no; prev=head; current=head; while(current->rollNo!=roll_no) { prev=current; current=current->next; } ptr=new node; fflush(stdin); cout<<"Enter name of student:"<<endl; gets(ptr->name); fflush(stdin); cout<<"Enter discipline of student:"<<endl; gets(ptr->discipline); fflush(stdin); cout<<"Enter Roll Number of student:"<<endl; cin>>ptr->rollNo; fflush(stdin); cout<<"Enter section of student:"<<endl; cin>>ptr->section; fflush(stdin); prev->next=ptr; ptr->next=current->next; current->next=NULL; delete current; cout<<endl<<"Recored Modified"; getch(); } void search() //searches record of student// { node *prev=NULL; node *current=NULL; int roll_no; cout<<"Enter Roll Number to search:"<<endl; cin>>roll_no; prev=head; current=head; while(current->rollNo!=roll_no) { prev=current; current=current->next; } cout<<"\nname: "; puts(current->name); cout<<"\nRoll No:"; cout<<current->rollNo; cout<<"\nDiscipline:"; puts(current->discipline); cout<<"\nSection:"; cout<<current->section; getch(); } void del() //deletes record of a student// { node *ptr=NULL; node *prev=NULL; node *current=NULL; int roll_no; cout<<"Enter Roll Number to Delete:"<<endl; cin>>roll_no; prev=head; current=head; while(current->rollNo!=roll_no) { prev=current; current=current->next; } prev->next = current->next; current->next=NULL; delete current; cout<<endl<<"Recored Deleted"; getch(); } int main() { char x; cout<<"\t\t ********************************* \t\t\t"<<endl; cout<<"\t\t ****STUDENT MANAGEMENT SYSTEM**** \t\t\t"<<endl; cout<<"\t\t ********************************* \t\t\t"<<endl; cout<<"…………………………………….."<<endl; cout<<"…………………"<<endl; cout<<"……………………………………………………."<<endl; cout<<"\n\nPress Any Key To Continue . . . ."<<endl; getch(); do { system("cls"); cout<<"1--->Press '1' to add New record:"<<endl; cout<<"2--->Press '2' to search a record:"<<endl; cout<<"3--->Press '3' to modify a record:"<<endl; cout<<"4--->Press '4' to delete a record:"<<endl; cout<<"5--->Press '5' to exit:"<<endl; x=getch(); if(x=='1') { system("cls"); add(); } else if(x=='2') { system("cls"); search(); } else if(x=='3') { system("cls"); modify(); } else if(x=='4') { system("cls"); del(); } else if(x=='5') { exit(0); } else { } }while(x != 27); getch(); }
Sample output
show project menu |
After I modified it,I can't search it again why??
ReplyDeletewhy can't i search when it is modify?
ReplyDeletewhy i cnt search when it is modify
ReplyDeletewhy i can't search when it is modify
ReplyDeletey i cnt search when it is modify
ReplyDeletestruct node //structure of node //
ReplyDelete{
char name[20];
char discipline[20];
int rollNo;
char section;
node *next;
}*head,*lastptr;
What does *head, and *lastptr mean? What is the purpose putting them after curly bracket?
i think these are structure pointers
DeleteThat means they are global pointers.
Deleteplease add more programs
ReplyDeleteThis program is not working properly.
ReplyDeleteThis program is not working properly.
ReplyDelete