Last active
July 15, 2022 20:14
-
-
Save swaaz/b81a8d7bd56d4babe0f2dc4a3a9ea454 to your computer and use it in GitHub Desktop.
SPORTS COACHING INSTITUTE MANAGEMENT SYSTEM
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
// SPORTS COACHING INSTITUTE MANAGEMENT SYSTEM | |
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
// Headers inclusion | |
#include <iostream> | |
#include <fstream> | |
#include <string.h> | |
#include <conio.h> | |
#include <cstdlib> | |
using namespace std; | |
int rec_flag_trainee = 0, no_trainee = 0; | |
char rec_ind_trainee[5]; | |
int rec_flag_coach = 0, no_coach = 0; | |
char rec_ind_coach[5]; | |
// Structure defining | |
// For trainee | |
struct trainee | |
{ | |
char fname[20]; // for trainee first name | |
char lname[20]; // for trainee last name | |
char registrationid[20]; // for Registration number | |
char age[5]; // trainee age | |
char feestatus[10]; // fee status of trainees | |
char cel_no[20]; // Phone number | |
char batch[20]; // for class info | |
char ind[5]; // for index | |
} traineeData[20]; // Variable of trainee type | |
// For coach | |
struct coach | |
{ | |
char fst_name[20]; // first name of coach | |
char lst_name[20]; // last name of coach | |
char coach_id[20]; // id for coach | |
char qualification[20]; // Qualification of coach | |
char pay[10]; // Pay of the coach | |
char batch[20]; // subject which he/she teach | |
char cel_no[20]; // Phone number | |
char ind[5]; // for index | |
} coachData[20]; // Variable of coach type | |
struct index | |
{ | |
char registrationid[20], indtrainee[20]; | |
} intrainee[20], temptrainee; | |
struct index1 | |
{ | |
char coach_id[20], indcoach[20]; | |
} incoach[20], tempcoach; | |
void sort_index_trainee() | |
{ | |
int i, j; | |
for (i = 0; i < no_trainee - 1; i++) | |
for (j = 0; j < no_trainee - i - 1; j++) | |
if (strcmp(intrainee[j].registrationid, intrainee[j + 1].registrationid) > 0) | |
{ | |
temptrainee = intrainee[j]; | |
intrainee[j] = intrainee[j + 1]; | |
intrainee[j + 1] = temptrainee; | |
} | |
} | |
void sort_index_coach() | |
{ | |
int i, j; | |
for (i = 0; i < no_coach - 1; i++) | |
for (j = 0; j < no_coach - i - 1; j++) | |
if (strcmp(incoach[j].coach_id, incoach[j + 1].coach_id) > 0) | |
{ | |
tempcoach = incoach[j]; | |
incoach[j] = incoach[j + 1]; | |
incoach[j + 1] = tempcoach; | |
} | |
} | |
void retrive_record_trainee(char *ind) | |
{ | |
for (int i = 0; i < no_trainee; i++) | |
{ | |
if (strcmp(traineeData[i].ind, ind) == 0) | |
{ | |
strcpy(rec_ind_trainee, ind); | |
rec_flag_trainee = 1; | |
cout << "Record found:\n"; | |
cout << traineeData[i].ind << "\t" << traineeData[i].fname << "\t" << traineeData[i].lname << "\t" << traineeData[i].registrationid << "\t" << traineeData[i].age << "\t" << traineeData[i].cel_no << "\t" << traineeData[i].batch << "\n"; | |
return; | |
} | |
} | |
cout << "Press any key to continue\n"; | |
getch(); | |
} | |
void retrive_record_coach(char *ind) | |
{ | |
for (int i = 0; i < no_coach; i++) | |
{ | |
if (strcmp(coachData[i].ind, ind) == 0) | |
{ | |
strcpy(rec_ind_coach, ind); | |
rec_flag_coach = 1; | |
cout << "Record found:\n"; | |
cout << coachData[i].ind << "\t" << coachData[i].fst_name << "\t" << coachData[i].lst_name << "\t" << coachData[i].coach_id << "\t" << coachData[i].qualification << "\t" << coachData[i].pay << "\t" << coachData[i].batch << "\t" << coachData[i].cel_no << "\n"; | |
return; | |
} | |
} | |
cout << "Press any key to continue\n"; | |
getch(); | |
} | |
int search_index_trainee(char *registrationid) | |
{ | |
int flag = 0; | |
for (int i = 0; i < no_trainee; i++) | |
{ | |
if (strcmp(intrainee[i].registrationid, registrationid) == 0) | |
{ | |
retrive_record_trainee(intrainee[i].indtrainee); | |
flag = 1; | |
} | |
} | |
if (flag) | |
return 1; | |
else | |
return -1; | |
} | |
int search_index_coach(char *coach_id) | |
{ | |
int flag = 0; | |
for (int i = 0; i < no_coach; i++) | |
{ | |
if (strcmp(incoach[i].coach_id, coach_id) == 0) | |
{ | |
retrive_record_coach(incoach[i].indcoach); | |
flag = 1; | |
} | |
} | |
if (flag) | |
return 1; | |
else | |
return -1; | |
} | |
int search_id_trainee(char *registrationid, int j) | |
{ | |
int flag = 0; | |
for (int i = 0; i < j; i++) | |
{ | |
if (strcmp(traineeData[i].registrationid, registrationid) == 0) | |
{ | |
flag = 1; | |
break; | |
} | |
} | |
if (flag) | |
return 1; | |
else | |
return -1; | |
} | |
int search_id_coach(char *coach_id, int j) | |
{ | |
int flag = 0; | |
for (int i = 0; i < j; i++) | |
{ | |
if (strcmp(coachData[i].coach_id, coach_id) == 0) | |
{ | |
flag = 1; | |
break; | |
} | |
} | |
if (flag) | |
return 1; | |
else | |
return -1; | |
} | |
void delete_trainee(char *registrationid) | |
{ | |
rec_flag_trainee = 0; | |
int fr = 0; | |
search_index_trainee(registrationid); | |
if (!rec_flag_trainee) | |
{ | |
cout << "Deletion failed.Record not found\n"; | |
cout << "Press any key to continue\n"; | |
getch(); | |
return; | |
} | |
for (int i = 0; i < no_trainee; i++) | |
{ | |
if (strcmp(traineeData[i].ind, rec_ind_trainee) == 0) | |
{ | |
fr = i; | |
break; | |
} | |
} | |
for (int i = fr; i < no_trainee - 1; i++) | |
{ | |
traineeData[i] = traineeData[i + 1]; | |
char str[3]; | |
sprintf(str, "%d", i); | |
strcpy(traineeData[i].ind, str); | |
} | |
no_trainee--; | |
fstream f1, f2; | |
f1.open("record_trainee.txt", ios::out); | |
f2.open("index_trainee.txt", ios::out); | |
for (int i = 0; i < no_trainee; i++) | |
{ | |
strcpy(intrainee[i].registrationid, traineeData[i].registrationid); | |
strcpy(intrainee[i].indtrainee, traineeData[i].ind); | |
} | |
sort_index_trainee(); | |
for (int i = 0; i < no_trainee; i++) | |
{ | |
f1 << traineeData[i].ind << "|" << traineeData[i].fname << "|" << traineeData[i].lname << "|" << traineeData[i].registrationid << "|" << traineeData[i].feestatus << "|" << traineeData[i].age << "|" << traineeData[i].cel_no << "|" << traineeData[i].batch << "\n"; | |
f2 << intrainee[i].registrationid << "|" << intrainee[i].indtrainee << "\n"; | |
} | |
f1.close(); | |
f2.close(); | |
cout << "Deletion successful\n"; | |
cout << "Press any key to continue\n"; | |
getch(); | |
} | |
void delete_coach(char *coach_id) | |
{ | |
rec_flag_coach = 0; | |
int fr = 0; | |
search_index_coach(coach_id); | |
if (!rec_flag_coach) | |
{ | |
cout << "Deletion failed.Record not found\n"; | |
cout << "Press any key to continue\n"; | |
getch(); | |
return; | |
} | |
for (int i = 0; i < no_coach; i++) | |
{ | |
if (strcmp(coachData[i].ind, rec_ind_coach) == 0) | |
{ | |
fr = i; | |
break; | |
} | |
} | |
for (int i = fr; i < no_coach - 1; i++) | |
{ | |
coachData[i] = coachData[i + 1]; | |
char str[3]; | |
sprintf(str, "%d", i); | |
strcpy(coachData[i].ind, str); | |
} | |
no_coach--; | |
fstream f1, f2; | |
f1.open("record_coach.txt", ios::out); | |
f2.open("index_coach.txt", ios::out); | |
for (int i = 0; i < no_coach; i++) | |
{ | |
strcpy(incoach[i].coach_id, coachData[i].coach_id); | |
strcpy(incoach[i].indcoach, coachData[i].ind); | |
} | |
sort_index_coach(); | |
for (int i = 0; i < no_coach; i++) | |
{ | |
f1 << coachData[i].ind << "|" << coachData[i].fst_name << "|" << coachData[i].lst_name << "|" << coachData[i].coach_id << "|" << coachData[i].qualification << "|" << coachData[i].pay << "|" << coachData[i].batch << "|" << coachData[i].cel_no << "\n"; | |
f2 << incoach[i].coach_id << "|" << incoach[i].indcoach << "\n"; | |
} | |
f1.close(); | |
f2.close(); | |
cout << "Deletion successful\n"; | |
cout << "Press any key to continue\n"; | |
getch(); | |
} | |
void update_status(char *id) | |
{ | |
for (int k = 0; k < no_trainee; k++) | |
{ | |
if (strcmp(traineeData[k].registrationid, id) == 0) | |
{ | |
if (strcmp(traineeData[k].feestatus, "Unpaid") == 0) | |
{ | |
strcpy(traineeData[k].feestatus, "Paid"); | |
} | |
} | |
} | |
fstream f1; | |
f1.open("record_trainee.txt", ios::out); | |
for (int k = 0; k < no_trainee; k++) | |
{ | |
f1 << traineeData[k].ind << "|" << traineeData[k].fname << "|" << traineeData[k].lname << "|" << traineeData[k].registrationid << "|" << traineeData[k].feestatus << "|" << traineeData[k].age << "|" << traineeData[k].cel_no << "|" << traineeData[k].batch << "\n"; | |
} | |
f1.close(); | |
cout << "Updation successful"; | |
cout << "Press any key to continue"; | |
getch(); | |
} | |
/////////////////////////////////////////////////// | |
// Main function | |
int main() | |
{ | |
char fname[20]; // for trainee first name | |
char lname[20]; // for trainee last name | |
char registrationid[20]; // for Registration No number | |
char age[5]; // trainee phone | |
char feestatus[10]; // fee status of trainee | |
char cel_no_trainee[20]; // Phone number | |
char batch_trainee[20]; // for class info | |
char ind_trainee[5]; // for index | |
char fst_name[20]; // first name of coach | |
char lst_name[20]; // last name of coach | |
char coach_id[20]; // id for coach | |
char qualification[20]; // Qualification of coach | |
char pay[10]; // Pay of the coach | |
char batch_coach[20]; // sport which he/she teach | |
char cel_no_coach[20]; // Phone number | |
char ind_coach[5]; // for index | |
fstream file1; | |
int i = 0, j; // for processing usage | |
char choice; // for getting choice | |
fstream file2; | |
file1.open("record_trainee.txt", ios::in); | |
file2.open("index_trainee.txt", ios::out); | |
for (int i = 0; i < 100; i++) | |
{ | |
file1.getline(traineeData[i].ind, 5, '|'); | |
file1.getline(traineeData[i].fname, 20, '|'); | |
file1.getline(traineeData[i].lname, 20, '|'); | |
file1.getline(traineeData[i].registrationid, 20, '|'); | |
file1.getline(traineeData[i].feestatus, 10, '|'); | |
file1.getline(traineeData[i].age, 5, '|'); | |
file1.getline(traineeData[i].cel_no, 20, '|'); | |
file1.getline(traineeData[i].batch, 20, '\n'); | |
strcpy(intrainee[i].registrationid, traineeData[i].registrationid); | |
strcpy(intrainee[i].indtrainee, traineeData[i].ind); | |
int m = atoi(traineeData[i].ind); | |
if (i == m) | |
no_trainee++; | |
else | |
break; | |
} | |
sort_index_trainee(); | |
for (int i = 0; i < no_trainee; i++) | |
{ | |
file2 << intrainee[i].registrationid << "|" << intrainee[i].indtrainee << "\n"; | |
} | |
file1.close(); | |
file2.close(); | |
fstream f11, f21; | |
f11.open("record_coach.txt", ios::in); | |
f21.open("index_coach.txt", ios::out); | |
for (int i = 0; i < 100; i++) | |
{ | |
f11.getline(coachData[i].ind, 5, '|'); | |
f11.getline(coachData[i].fst_name, 20, '|'); | |
f11.getline(coachData[i].lst_name, 20, '|'); | |
f11.getline(coachData[i].coach_id, 20, '|'); | |
f11.getline(coachData[i].qualification, 20, '|'); | |
f11.getline(coachData[i].pay, 10, '|'); | |
f11.getline(coachData[i].batch, 20, '|'); | |
f11.getline(coachData[i].cel_no, 10, '\n'); | |
strcpy(incoach[i].coach_id, coachData[i].coach_id); | |
strcpy(incoach[i].indcoach, coachData[i].ind); | |
int m = atoi(coachData[i].ind); | |
if (i == m) | |
no_coach++; | |
else | |
break; | |
} | |
sort_index_coach(); | |
for (int i = 0; i < no_coach; i++) | |
{ | |
f21 << incoach[i].coach_id << "|" << incoach[i].indcoach << "\n"; | |
} | |
f11.close(); | |
f21.close(); | |
while (1) // outer loop | |
{ | |
system("cls"); // Clear screen | |
// Level 1-Display process | |
cout << "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"; | |
cout << "\n\n\t\t\t\t\tSPORTS_COACHING INSTITUTE MANAGEMENT SYSTEM\n\n"; | |
cout << "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"; | |
cout << "\n\n\t\t\t\t\t\tHOME PAGE\n\n"; | |
cout << "This is a sports_coaching institute management system used to maintain the records of trainees and coachs in the sports_coaching\n"; | |
cout << "\t\t\tThe two basic sections on the software are: \n"; | |
cout << "\t\t\t1.trainee Section\n"; | |
cout << "\t\t\t2.coach Section\n\n"; | |
cout << "Which section do you want to enter? Choose an option from the menu.\n"; | |
cout << "1.trainees information" << endl; | |
cout << "2.coach information" << endl; | |
cout << "3.Exit program" << endl; | |
cin >> choice; | |
system("cls"); // Clear screen | |
switch (choice) // First switch | |
{ | |
case '1': // trainee | |
{ | |
int n; | |
while (1) // inner loop-1 | |
{ | |
system("cls"); // Clear screen | |
// Level-2 display | |
cout << "\n\n\t\t\t\t\tTRAINEES INFORMATION AND BIO DATA SECTION\n\n\n"; | |
cout << "Enter your choice: " << endl; | |
cout << "1.New Admission\n"; | |
cout << "2.Find trainee\n"; | |
cout << "3.Check fee status\n"; | |
cout << "4.Remove trainee\n"; | |
cout << "5.Display trainees Batch-wise\n"; | |
cout << "6.Display all trainees\n"; | |
cout << "7.Update Fee status\n"; | |
cout << "8.Jump to Main Menu\n"; | |
cin >> choice; | |
switch (choice) // Second switch | |
{ | |
case '1': // Insert data | |
{ | |
file1.open("record_trainee.txt", ios::app | ios::out); | |
cout << "enter the no of trainees:\t"; | |
cin >> n; | |
cout << "enter the details\n"; | |
for (i = no_trainee; i < no_trainee + n; i++) | |
{ | |
label: | |
cout << "enter " << i << " trainee details:\n"; | |
cout << "First name : "; | |
cin >> traineeData[i].fname; | |
cout << "Last name : "; | |
cin >> traineeData[i].lname; | |
cout << "Registration Id : "; | |
cin >> traineeData[i].registrationid; | |
cout << "Fee Status : "; | |
cin >> traineeData[i].feestatus; | |
cout << "Age : "; | |
cin >> traineeData[i].age; | |
cout << "Batch Allotted : "; | |
cin >> traineeData[i].batch; | |
cout << "Contact Number : "; | |
cin >> traineeData[i].cel_no; | |
int q = search_id_trainee(traineeData[i].registrationid, i); | |
if (q == 1) | |
{ | |
cout << "Duplicate value\n"; | |
cout << "enter again:\n"; | |
goto label; | |
} | |
file1 << i << "|" << traineeData[i].fname << "|" << traineeData[i].lname << "|" << traineeData[i].registrationid << "|" << traineeData[i].feestatus << "|" << traineeData[i].age << "|" << traineeData[i].cel_no << "|" << traineeData[i].batch << "\n"; | |
} | |
no_trainee = no_trainee + n; | |
// cout << "Do you want to enter more data?\n "; | |
// cout << "Press Y for Continue and N to Finish: "; | |
// cin >> choice; | |
file1.close(); | |
fstream file1, file2; | |
file1.open("record_trainee.txt", ios::in); | |
file2.open("index_trainee.txt", ios::out); | |
for (int i = 0; i < no_trainee; i++) | |
{ | |
file1.getline(ind_trainee, 5, '|'); | |
file1.getline(fname, 20, '|'); | |
file1.getline(lname, 20, '|'); | |
file1.getline(registrationid, 20, '|'); | |
file1.getline(feestatus, 10, '|'); | |
file1.getline(age, 5, '|'); | |
file1.getline(cel_no_trainee, 20, '|'); | |
file1.getline(batch_trainee, 20, '\n'); | |
strcpy(traineeData[i].ind, ind_trainee); | |
strcpy(intrainee[i].registrationid, registrationid); | |
strcpy(intrainee[i].indtrainee, ind_trainee); | |
} | |
sort_index_trainee(); | |
for (int i = 0; i < no_trainee; i++) | |
{ | |
file2 << intrainee[i].registrationid << "|" << intrainee[i].indtrainee << "\n"; | |
} | |
file1.close(); | |
file2.close(); | |
} | |
continue; // control back to inner loop -1 | |
case '2': // search data | |
{ | |
cout << "Enter the Id of the trainee whose record is to be searched:\t"; | |
cin >> registrationid; | |
int q = search_index_trainee(registrationid); | |
if (q == 1) | |
{ | |
cout << "Search successful\n"; | |
cout << "Press any key to continue\n"; | |
getch(); | |
} | |
else | |
{ | |
cout << "Search unsuccessful\n"; | |
cout << "Press any key to continue\n"; | |
getch(); | |
} | |
} | |
continue; // control back to inner loop -1 | |
case '3': // print fee status | |
{ | |
char ch; | |
cout << "Choose the kind of status\n"; | |
cout << "1.Paid\n"; | |
cout << "2.Unpaid\n"; | |
cin >> ch; | |
if (ch == '1') | |
{ | |
cout << "trainees who have paid the fees\n"; | |
for (int k = 0; k < no_trainee; k++) | |
{ | |
if (strcmp(traineeData[k].feestatus, "Paid") == 0) | |
{ | |
cout << traineeData[k].fname << "\t" << traineeData[k].lname << "\t" << traineeData[k].registrationid << "\t" << traineeData[k].feestatus << "\t" << traineeData[k].age << "\t" << traineeData[k].cel_no << "\t" << traineeData[k].batch << endl; | |
} | |
} | |
} | |
else if (ch == '2') | |
{ | |
cout << "trainees who have not paid the fees\n"; | |
for (int k = 0; k < no_trainee; k++) | |
{ | |
if (strcmp(traineeData[k].feestatus, "Unpaid") == 0) | |
{ | |
cout << traineeData[k].fname << "\t" << traineeData[k].lname << "\t" << traineeData[k].registrationid << "\t" << traineeData[k].feestatus << "\t" << traineeData[k].age << "\t" << traineeData[k].cel_no << "\t" << traineeData[k].batch << endl; | |
} | |
} | |
} | |
cout << "Press any key to continue"; | |
getch(); | |
} | |
continue; | |
case '4': // delete data | |
{ | |
cout << "Enter the Id of the trainee whose record is to be deleted:\t"; | |
cin >> registrationid; | |
delete_trainee(registrationid); | |
} | |
continue; // control back to inner loop -1 | |
case '5': // display trainees batch-wise | |
{ | |
char bat[10]; | |
cout << "Enter the batch whose record you want to display\n"; | |
cin >> bat; | |
for (int k = 0; k < no_trainee; k++) | |
{ | |
if (strcmp(traineeData[k].batch, bat) == 0) | |
{ | |
cout << traineeData[k].fname << "\t" << traineeData[k].lname << "\t" << traineeData[k].registrationid << "\t" << traineeData[k].age << "\t" << traineeData[k].cel_no << "\t" << traineeData[k].batch << endl; | |
} | |
} | |
cout << "Press any key to continue\n"; | |
getch(); | |
} | |
continue; | |
case '6': // display all data | |
{ | |
fstream f1; | |
f1.open("record_trainee.txt", ios::in); | |
if (!f1) | |
{ | |
cout << "Error!!!"; | |
exit(0); | |
} | |
int i = 0; | |
while (i != no_trainee) | |
{ | |
cout << traineeData[i].ind << "\t" << traineeData[i].fname << "\t" << traineeData[i].lname << "\t" << traineeData[i].registrationid << "\t" << traineeData[i].age << "\t" << traineeData[i].cel_no << "\t" << traineeData[i].batch << "\n"; | |
i++; | |
} | |
f1.close(); | |
cout << "Press any key to continue\n"; | |
getch(); | |
} | |
continue; | |
case '7': | |
{ | |
char id[20]; | |
cout << "trainees who have not paid the fees\n"; | |
for (int k = 0; k < no_trainee; k++) | |
{ | |
if (strcmp(traineeData[k].feestatus, "Unpaid") == 0) | |
{ | |
cout << traineeData[k].fname << "\t" << traineeData[k].lname << "\t" << traineeData[k].registrationid << "\t" << traineeData[k].feestatus << "\t" << traineeData[k].age << "\t" << traineeData[k].cel_no << "\t" << traineeData[k].batch << endl; | |
} | |
} | |
cout << "Enter the Id of the trainee whose status you want to update\n"; | |
cin >> id; | |
update_status(id); | |
} | |
continue; | |
case '8': // Jump to main | |
{ | |
break; // inner switch breaking | |
} | |
} | |
break; // inner loop-1 breaking | |
} | |
continue; // Control pass to 1st loop | |
} | |
case '2': // coachs biodata | |
{ | |
int n; | |
while (1) // inner loop-1 | |
{ | |
system("cls"); // Clear screen | |
// Level-2 display | |
cout << "\n\n\t\t\t\t\tCOACH INFORMATION AND BIO DATA SECTION\n\n\n"; | |
cout << "Enter your choice: " << endl; | |
cout << "1.Create new entry\n"; | |
cout << "2.Find coach\n"; | |
cout << "3.Remove coach\n"; | |
cout << "4.Batches-wise display\n"; | |
cout << "5.trainees assigned\n"; | |
cout << "6.Display all coachs\n"; | |
cout << "7.Jump to Main Menu\n"; | |
cin >> choice; | |
switch (choice) // Second switch | |
{ | |
case '1': // Insert data | |
{ | |
file1.open("record_coach.txt", ios::app | ios::out); | |
cout << "Enter the no of coachs:\t"; | |
cin >> n; | |
cout << "enter the Details\n"; | |
for (int i = no_coach; i < no_coach + n; i++) | |
{ | |
label1: | |
cout << "enter " << i << " coach details:\n"; | |
cout << "First name : "; | |
cin >> coachData[i].fst_name; | |
cout << "Last name : "; | |
cin >> coachData[i].lst_name; | |
cout << "Qualification : "; | |
cin >> coachData[i].qualification; | |
cout << "coach Id : "; | |
cin >> coachData[i].coach_id; | |
cout << "Pay="; | |
cin >> coachData[i].pay; | |
cout << "Batch Allotted : "; | |
cin >> coachData[i].batch; | |
cout << "Contact Number : "; | |
cin >> coachData[i].cel_no; | |
int q = search_id_coach(coachData[i].coach_id, i); | |
if (q == 1) | |
{ | |
cout << "duplicate value\n"; | |
cout << "enter again:\n"; | |
goto label1; | |
} | |
file1 << i << "|" << coachData[i].fst_name << "|" << coachData[i].lst_name << "|" << coachData[i].coach_id << "|" << coachData[i].qualification << "|" << coachData[i].pay << "|" << coachData[i].batch << "|" << coachData[i].cel_no << "\n"; | |
} | |
no_coach = no_coach + n; | |
// cout << "Do you want to enter data?\n "; | |
// cout << "Press Y for Continue and N to Finish: "; | |
// cin >> choice; | |
file1.close(); | |
fstream file1, file2; | |
file1.open("record_coach.txt", ios::in); | |
file2.open("index_coach.txt", ios::out); | |
for (int i = 0; i < no_coach; i++) | |
{ | |
file1.getline(ind_coach, 5, '|'); | |
file1.getline(fst_name, 20, '|'); | |
file1.getline(lst_name, 20, '|'); | |
file1.getline(coach_id, 20, '|'); | |
file1.getline(qualification, 20, '|'); | |
file1.getline(pay, 10, '|'); | |
file1.getline(batch_coach, 20, '|'); | |
file1.getline(cel_no_coach, 10, '\n'); | |
strcpy(coachData[i].ind, ind_coach); | |
strcpy(incoach[i].coach_id, coach_id); | |
strcpy(incoach[i].indcoach, ind_coach); | |
} | |
sort_index_coach(); | |
for (int i = 0; i < no_coach; i++) | |
{ | |
file2 << incoach[i].coach_id << "|" << incoach[i].indcoach << "\n"; | |
} | |
file1.close(); | |
file2.close(); | |
} | |
continue; // control back to inner loop -1 | |
case '2': // Display data | |
{ | |
cout << "Enter the Id of the coach whose record is to be searched:\t"; | |
cin >> coach_id; | |
int q = search_index_coach(coach_id); | |
if (q == 1) | |
{ | |
cout << "Search successful\n"; | |
cout << "Press any key to continue\n"; | |
getch(); | |
} | |
else | |
{ | |
cout << "Search unsuccessful\n"; | |
cout << "Press any key to continue\n"; | |
getch(); | |
} | |
} | |
continue; // control back to inner loop -1 | |
case '3': | |
{ | |
cout << "Enter the Id of the coach whose record is to be deleted:\t"; | |
cin >> coach_id; | |
delete_coach(coach_id); | |
} | |
continue; // control back to inner loop -1 | |
case '4': | |
{ | |
char bat[20]; | |
cout << "See the coachs assigned to the batch, Enter the Batch name\n"; | |
cin >> bat; | |
for (int k = 0; k < no_coach; k++) | |
{ | |
if (strcmp(traineeData[k].batch, bat) == 0) | |
{ | |
cout << coachData[k].fst_name << "\t" << coachData[k].lst_name << "\t" << coachData[k].coach_id << "\t" << coachData[k].batch << endl; | |
} | |
} | |
cout << "Press any key to continue\n"; | |
getch(); | |
} | |
continue; | |
case '5': | |
{ | |
char id[20]; | |
cout << "Enter id of the coach to see the trainees assigned\n"; | |
cin >> id; | |
char bat[20]; | |
for (int i = 0; i < no_coach; i++) | |
{ | |
if (strcmp(coachData[i].coach_id, id) == 0) | |
{ | |
strcpy(bat, coachData[i].batch); | |
} | |
} | |
for (int k = 0; k < no_coach; k++) | |
{ | |
if (strcmp(traineeData[k].batch, bat) == 0) | |
{ | |
cout << traineeData[k].fname << "\t" << traineeData[k].lname << "\t" << traineeData[k].registrationid << "\t" << traineeData[k].age << "\t" << traineeData[k].cel_no << endl; | |
} | |
} | |
cout << "Press any key to continue"; | |
getch(); | |
} | |
continue; | |
case '6': | |
{ | |
fstream f1; | |
f1.open("record_coach.txt", ios::in); | |
if (!f1) | |
{ | |
cout << "Error!!!"; | |
exit(0); | |
} | |
int i = 0; | |
while (i != no_coach) | |
{ | |
cout << coachData[i].ind << "\t" << coachData[i].fst_name << "\t" << coachData[i].lst_name << "\t" << coachData[i].coach_id << "\t" << coachData[i].qualification << "\t" << coachData[i].pay << "\t" << coachData[i].batch << "\t" << coachData[i].cel_no << "\n"; | |
i++; | |
} | |
f1.close(); | |
cout << "Press any key to continue\n"; | |
getch(); | |
} | |
continue; | |
case '7': // Jump to main | |
{ | |
break; // inner switch breaking | |
} | |
} | |
break; // inner loop-1 breaking | |
} | |
continue; // Control pass to 1st loop | |
} | |
case '3': | |
{ | |
break; // outer case 3 | |
} // outer case 3 | |
} | |
break; // outer loop | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment