From 87f37495b724373d5b667673f26f1dd893c26ba0 Mon Sep 17 00:00:00 2001 From: Raushan Singh <88944944+raushan2409@users.noreply.github.com> Date: Thu, 13 Oct 2022 19:52:57 +0530 Subject: [PATCH] Create Student_Database_management.cpp #hactoberfest2022 --- Student_Database_management.cpp | 173 ++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 Student_Database_management.cpp diff --git a/Student_Database_management.cpp b/Student_Database_management.cpp new file mode 100644 index 00000000..1112874f --- /dev/null +++ b/Student_Database_management.cpp @@ -0,0 +1,173 @@ +#include +#include +#include +#include +#include +#include + +using namespace std; +int main() +{ + FILE *fp, *ft; + char another, choice; + + struct student + { + char first_name[50], last_name[50]; + char course[100]; + int section; + }; + + struct student e; + char xfirst_name[50], xlast_name[50]; + long int recsize; + + fp=fopen("users.txt","rb+"); + + if (fp == NULL) + { + fp = fopen("users.txt","wb+"); + + if (fp==NULL) + { + puts("Cannot open file"); + return 0; + } + } + + + recsize = sizeof(e); + + while(1) + { + system("cls"); + + cout << "\t\t====== STUDENT DATABASE MANAGEMENT SYSTEM ======"; + cout <<"\n\n "; + cout << "\n\n"; + cout << "\n \t\t\t 1. Add Records"; + cout << "\n \t\t\t 2. List Records"; + cout << "\n \t\t\t 3. Modify Records"; + cout << "\n \t\t\t 4. Delete Records"; + cout << "\n \t\t\t 5. Exit Program"; + cout << "\n\n"; + cout << "\t\t\t Select Your Choice :=> "; + fflush(stdin); + choice = getche(); + switch(choice) + { + case '1' : + fseek(fp,0,SEEK_END); + another ='Y'; + while(another == 'Y' || another == 'y') + { + system("cls"); + cout << "Enter the First Name : "; + cin >> e.first_name; + cout << "Enter the Last Name : "; + cin >> e.last_name; + cout << "Enter the Course : "; + cin >> e.course; + cout << "Enter the Section : "; + cin >> e.section; + fwrite(&e,recsize,1,fp); + cout << "\n Add Another Record (Y/N) "; + fflush(stdin); + another = getchar(); + } + break; + case '2': + system("cls"); + rewind(fp); + cout << "=== View the Records in the Database ==="; + cout << "\n"; + while (fread(&e,recsize,1,fp) == 1) + { + cout << "\n"; + cout <<"\n" << e.first_name << setw(10) << e.last_name; + cout << "\n"; + cout <<"\n" <> xlast_name; + + rewind(fp); + while (fread(&e,recsize,1,fp) == 1) + { + if (strcmp(e.last_name,xlast_name) == 0) + { + cout << "Enter new the Firt Name : "; + cin >> e.first_name; + cout << "Enter new the Last Name : "; + cin >> e.last_name; + cout << "Enter new the Course : "; + cin >> e.course; + cout << "Enter new the Section : "; + cin >> e.section; + fseek(fp, - recsize, SEEK_CUR); + fwrite(&e,recsize,1,fp); + break; + } + else + cout<<"record not found"; + } + cout << "\n Modify Another Record (Y/N) "; + fflush(stdin); + another = getchar(); + } + break; + + + case '4': + system("cls"); + another = 'Y'; + while (another == 'Y'|| another == 'y') + { + cout << "\n Enter the last name of the student to delete : "; + cin >> xlast_name; + + ft = fopen("temp.dat", "wb"); + + rewind(fp); + while (fread (&e, recsize,1,fp) == 1) + + if (strcmp(e.last_name,xlast_name) != 0) + { + fwrite(&e,recsize,1,ft); + } + fclose(fp); + fclose(ft); + remove("users.txt"); + rename("temp.dat","users.txt"); + + fp=fopen("users.txt","rb+"); + + cout << "\n Delete Another Record (Y/N) "; + fflush(stdin); + another = getchar(); + } + + break; + + case '5': + fclose(fp); + cout << "\n\n"; + cout << "\t\t THANK YOU FOR USING THIS SOFTWARE"; + cout << "\n\n"; + exit(0); + } + } + + + system("pause"); + return 0; +}