0% found this document useful (0 votes)
36 views9 pages

Suh 123 Database

Coding c++

Uploaded by

Suha - Buisnis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views9 pages

Suh 123 Database

Coding c++

Uploaded by

Suha - Buisnis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 9

// Include all the necessary libraries.

#include <fstream>
#include <iostream>
#include <stdio.h>
#include <string.h>

using namespace std;

int main()
{

// Considering the max length of data entered (name) to

// be 15.

char data[15];

int n = 0, option = 0, count_n = 0;

// This is the initial mark alloted to a subject.

string empty = "00";

string proctor = "";

// Name of the file in which DB is stored.

ifstream f("Example.txt");

string line;

// The following for loop counts the total number of

// lines in the file.

for (int i = 0; std::getline(f, line); ++i) {

count_n++;

while (option != 6) {

// This prints out all the available options in the

// DB

cout << "\nAvailable operations: \n1. Add New "

"Students\n2."

<< "Student Login\n3. Faculty Login\n4. "

"Proctor Login\n5. Admin View\n"


<< "6. Exit\nEnter option: ";

cin >> option;

if (option == 1) {

cout << "Enter the number of students: ";

cin >> n;

count_n = count_n + n;

for (int i = 0; i < n; i++) {

ofstream outfile;

outfile.open("Example.txt", ios::app);

// The entire data of a single student is

// stored line-by-line.

cout << "Enter your registration number: ";

cin >> data;

outfile << data << "\t";

cout << "Enter your name: ";

cin >> data;

int len = strlen(data);

while (len < 15) {

data[len] = ' ';

len = len + 1;

outfile << data << "\t";

// Inserting empty data initially into the

// file

outfile << empty << "\t";

outfile << empty << "\t";


cout << "Enter your proctor ID: ";

cin >> proctor;

outfile << proctor << endl;

else if (option == 2) {

char regno[9];

cout << "Enter your registration number: ";

cin >> regno;

ifstream infile;

int check = 0;

infile.open("Example.txt", ios::in);

// This loop prints out the data according to

// the registration number specified.

while (infile >> data) {

if (strcmp(data, regno) == 0) {

cout

<< "\nRegistration Number: " << data

<< endl;

infile >> data;

cout << "Name: " << data << endl;

infile >> data;

cout << "CSE1001 mark: " << data

<< endl;

infile >> data;

cout << "CSE1002 mark: " << data

<< endl;
infile >> data;

cout << "Proctor ID: " << data << endl;

infile.close();

check = 1;

if (check == 0) {

cout << "No such registration number found!"

<< endl;

// This loop is used to view and add marks to the

// database of a student.

else if (option == 3) {

char subcode[7];

cout << "Enter your subject code: ";

cin >> subcode;

string code1 = "CSE1001", code2 = "CSE1002",

mark = "";

ifstream infile;

int check = 0;

cout << "\nAvailable operations: \n1. Add data "

"about marks\n"

<< "2. View data\nEnter option: ";

cin >> option;

if (option == 1) {

cout
<< "Warning! You would need to add mark"

<< "details for all the students!"

<< endl;

for (int i = 0; i < count_n; i++) {

fstream file("Example.txt");

// The seek in file has been done

// according to the length

// of the data being inserted. It needs

// to adjusted accordingly for diffferent

// lengths of data.

if (strcmp(subcode, code1.c_str())

== 0) {

file.seekp(26 + 37 * i,

std::ios_base::beg);

cout << "Enter the mark of student#"

<< (i + 1) << " : ";

cin >> mark;

file.write(mark.c_str(), 2);

}
if (strcmp(subcode, code2.c_str())

== 0) {

file.seekp(29 + 37 * i,

std::ios_base::beg);

cout << "Enter the mark of student#"

<< (i + 1) << " : ";

cin >> mark;

file.write(mark.c_str(), 2);

}
}

// This loop is used to view marks of a student.

// The extra infile commands have been used to

// get a specific mark only since the data has

// been seperated by a tabspace.

else if (option == 2) {

infile.open("Example.txt", ios::in);

if (strcmp(subcode, code1.c_str()) == 0) {

cout << "Registration number - Marks\n"

<< endl;

while (infile >> data) {

cout << data;

infile >> data;

infile >> data;

cout << " - " << data << endl;

infile >> data;

infile >> data;

check = 1;

infile.close();

infile.open("Example.txt", ios::in);

if (strcmp(subcode, code2.c_str()) == 0) {

cout << "Registration number - Marks\n"

<< endl;

while (infile >> data) {

cout << data;


infile >> data;

infile >> data;

infile >> data;

cout << " - " << data << endl;

infile >> data;

check = 1;

infile.close();

if (check == 0) {

cout << "No such subject code found!"

<< endl;

// This loop displays all the details of students

// under the same proctor ID.

else if (option == 4) {

char procid[7];

cout << "Enter your proctor ID: ";

cin >> procid;

int check = 0;

char temp1[100], temp2[100], temp3[100];

char temp4[100], id[100];

ifstream infile;

infile.open("Example.txt", ios::in);

while (infile >> temp1) {


infile >> temp2;

infile >> temp3;

infile >> temp4;

infile >> id;

if (strcmp(id, procid) == 0) {

cout << "\nRegistration Number: "

<< temp1 << endl;

cout << "Name: " << temp2 << endl;

cout << "CSE1001 Mark: " << temp3

<< endl;

cout << "CSE1002 Mark: " << temp4

<< endl;

check = 1;

if (check == 0) {

cout << "No such proctor ID found!" << endl;

// This loop acts as an admin view to see all the

// data in the file.

else if (option == 5) {

char password[25];

cout << "Enter the admin password: ";

cin >> password;

// This variable value can be changed according

// to your requirement of the administrator


// password.

string admin_pass = "admin";

if (strcmp(password, admin_pass.c_str()) == 0) {

cout << "Reg No. "

"\tName\tCSE1001\tCSE1002\tProctor "

"ID"

<< endl;

ifstream infile;

infile.open("Example.txt", ios::in);

char data[20];

while (infile >> data) {

cout << data << "\t";

infile >> data;

cout << data << "\t";

infile >> data;

cout << data << "\t";

infile >> data;

cout << data << "\t";

infile >> data;

cout << data << endl;

}
}

You might also like