-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGrade.java
More file actions
191 lines (161 loc) · 6.58 KB
/
Grade.java
File metadata and controls
191 lines (161 loc) · 6.58 KB
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
import java.io.*;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Scanner;
/**
* Η κλάση Grade παριστά την βαθμολογία σε ένα μάθημα του προγράμματος σπουδών ενός φοιτητή.
* Στην κλάση περιέχονται και οι μέθοδοι επεξεργασίας των στοιχείων του φοιτητή
*/
public class Grade {
String Student_AM;
String GrCourseId;
Double Grade;
Path pGrade = Paths.get("C:\\Users\\Anna\\IdeaProjects\\UniSystemManager\\src\\Grade.txt");
Path pTemp = Paths.get("C:\\Users\\Anna\\IdeaProjects\\UniSystemManager\\src\\tmp.txt");
File GradesFile = new File(String.valueOf(pGrade));
File temp = new File(String.valueOf(pTemp));
public String getStudent_AM() {
return Student_AM;
}
public void setStudent_AM(String Student_AM) {
this.Student_AM = Student_AM;
}
public String getGrCourseID() {
return GrCourseId;
}
public void setGrCourseId(String GrCourseId) {
this.GrCourseId = GrCourseId;
}
public double getGrade() {
return Grade;
}
public void setGrade(double Grade) {
this.Grade = Grade;
}
Scanner input = new Scanner(System.in);
String info;
Grade() {
// Empty Constructor
}
public Grade(String Student_AM, String GrCourseId, Double Grade) {
this.Student_AM = Student_AM;
this.GrCourseId = GrCourseId;
this.Grade = Grade;
}
/**
* Μέθοδος που καταχωρεί τη βαθμολογία φοιτητή στο αρχείο grade.txt
* Έλεγχος για την ύπαρξη του αρχείου
*/
void createGrade() {
System.out.print("Enter Student ID: ");
Student_AM = input.nextLine();
System.out.print("Enter Course ID: ");
GrCourseId = input.nextLine();
System.out.print("Enter Grade: ");
Grade = input.nextDouble();
try (PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(GradesFile, true)))) {
out.println("\n"+ Student_AM + " " + GrCourseId + " " + Grade);
} catch (IOException e) {
System.out.println("File Not Found!");
}
System.out.println("Grade Created.");
}
/**
* Μέθοδος εμφάνισης βαθμολογίας ανά φοιτητή και μάθημα από το αρχείο grade.txt
* Έλεγχος για την ύπαρξη του αρχείου
*/
void viewGrade() {
System.out.println("STUDENT AM " + "|" + " COURSE NAME " + "|" + " GRADE");
System.out.println("===========================================");
try (Scanner in = new Scanner(GradesFile)) {
while (in.hasNextLine()) {
String am = in.next();
String cname = in.next().trim();
String grade = in.nextLine();
System.out.println(am + " \t\t " + cname + " \t\t" + grade);
}
} catch (FileNotFoundException e) {
System.out.println("File Not Found!");
}
}
/**
* Μέθοδος που υπολογίζει το μέσο όρο της βαθμολογίας φοιτητή με είσοδο του ΑΜ
* Έλεγχος για την ύπαρξη του αρχείου
* Έλεγχος για την ύπαρξη του ΑΜ
*/
void averstudent() throws IOException {
double i = 0;
int j = 0;
double sum = 0;
double mo =0;
String splitBy = " ";
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(String.valueOf(pGrade)));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String line = null;
Scanner input = new Scanner(System.in);
System.out.println("Enter Student ID\n");
String tmpId = input.nextLine();
System.out.println("Οι βαθμοί του φοιτητή με αριθμό μητρώου " + tmpId + " είναι:");
while (true) {
try {
if (!((line = br.readLine()) != null)) break;
} catch (IOException e) {
e.printStackTrace();
}
String[] b = line.split(splitBy);
if (b[0].equals(tmpId)) {
System.out.println(b[2]);
i = Double.parseDouble(b[2]);
sum = sum + i;
j = j + 1;
mo = (double) sum/j;
}
}
System.out.println("O μέσος όρος των μαθημάτων του φοιτητή με αριθμό μητρώου " + " " + tmpId + " είναι: " + mo);
br.close();
}
/**
* Μέθοδος που υπολογίζει το μέσο όρο της βαθμολογίας σε μάθημα με είσοδο του κωδικού μαθήματος
* Έλεγχος για την ύπαρξη του αρχείου
* Έλεγχος για την ύπαρξη του ΑΜ
*/
void avercourse() throws IOException {
double i = 0;
int j = 0;
double sum = 0;
double mo =0;
String splitBy = " ";
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(String.valueOf(pGrade)));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String line = null;
Scanner input = new Scanner(System.in);
System.out.println("Enter Course ID\n");
String tmpId = input.nextLine();
System.out.println("Ο μέσος όρος την βαθμολογίας του μαθήματος με κωδικό " + tmpId + " είναι:");
while (true) {
try {
if (!((line = br.readLine()) != null)) break;
} catch (IOException e) {
e.printStackTrace();
}
String[] b = line.split(splitBy);
if (b[1].equals(tmpId)) {
System.out.println(b[2]);
i = Double.parseDouble(b[2]);
sum = sum + i;
j = j + 1;
mo = (double) sum/j;
}
}
System.out.println("O μέσος όρος του μαθήματος με κωδικό " + " " + tmpId + " είναι: " +mo);
br.close();
}
}