-
Notifications
You must be signed in to change notification settings - Fork 0
/
scoreCalculator.cpp
119 lines (113 loc) · 3.72 KB
/
scoreCalculator.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <iostream>
#include <conio.h> //this header is needed to use _getch()
#include<windows.h>
#include<string.h>
#include<fstream>
//importing c library in cpp
using namespace std;
int main () {
//further can be modified for zero marks also;
HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(h,12);
cout<<"\t\tScore calculator with Minus marking"<<endl;
SetConsoleTextAttribute(h,7);
//Declaring required variables
char PositiveSYMBOL, NegativeSYMBOL ,Input ;
int PositiveMARKS=0 , NegativeMARKS=0;
int TotalMarks=0;
int positiveNO=0,NegativeNo=0;
cout<<"Enter Positive number to be alloted: ";
cin>>PositiveMARKS;
cout<<"Enter Negative number to be alloted: ";
cin>>NegativeMARKS;
cout<<"Enter keyboard Symbol for positive marks: ";
cin>>PositiveSYMBOL;
cout<<"Enter keyboard Symbol for negative marks: ";
cin>>NegativeSYMBOL;
cout<<"Marks calculations starts";
Sleep(500);
system("CLS");
ReRun:
cout<<"ENTER \'0\' AFTER COMPLETION"<<endl;
int iterator=0;
do
{
iterator++;
cout<<"Enter ";
Input = _getch();
cout<<iterator<<" ";
if (Input==PositiveSYMBOL)
{
positiveNO++;
TotalMarks=TotalMarks+PositiveMARKS;
}
else if (Input==NegativeSYMBOL)
{
NegativeNo++;
TotalMarks=TotalMarks-NegativeMARKS;
}
else if (Input=='0')
{
cout<<endl;
cout<<endl;
printf("total atempted question: %d\n",positiveNO+NegativeNo);
printf("right question: %d\n",positiveNO);
printf("Wrong question: %d\n",NegativeNo);
printf("%d - %d\n",positiveNO*4,NegativeNo);
cout<<"Total marks are: "<<TotalMarks;
cout<<endl;
//file creation code and condition
FILE *p;
p = fopen("data.txt","r");
ofstream f;
if (p==NULL)
{
p = fopen("data.txt","w");
fclose(p);
//printing basic format of writing
f.open("data.txt",std::ios_base::app);//append code
f<<"T "<<"\t"<<"P "<<"\t"<<"N "<<"\t"<<"EQN "<<"\t"<<"TOTAL"<<"\n";
}
else
{
fclose(p);
//updating data on file
f.open("data.txt",std::ios_base::app);//append code
}
f<<positiveNO+NegativeNo<<"\t"<<positiveNO<<"\t"<<NegativeNo<<"\t"<<positiveNO*4<<"-"<<NegativeNo<<" \t"<<TotalMarks<<"\n";
cout<<"\n1: ReRun for same student differnt section;\n2: ReRun for different student;\n0: End code\nEnter your choice: ";
char falana;
falana = _getch();
if (falana=='1')
{
f.close();
TotalMarks=0; positiveNO=0, NegativeNo=0;
cout<<endl;
goto ReRun;
}
else if (falana=='2')
{
// string blank="student changed";
f<<"\n";
f.close();
TotalMarks=0; positiveNO=0, NegativeNo=0;
cout<<endl;
system("CLS");
goto ReRun;
}
else if (falana=='0')
{
f<<"\n";
f.close();
exit(0);
}
}
else
{
cout<<"WRONG INPUT :< ";
cout<<"PRESS \""<<PositiveSYMBOL<<"\" OR \""<<NegativeSYMBOL<<"\"";
}
cout<<endl;
} while (Input!=0);
return 0;
}