public class Student
{
private string name;
private string surname;
private string dob;
private string address;
private string id;
public Student()
{
//empty contructor
}
public Student(string name, string surname, string dob, string address, string id)
{
this.name = name;
this.surname = surname;
this.dob = dob;
this.address = address;
this.id = id;
}
public string Name
{
get { return name; }
set { name = value; }
}
public string Surname
{
get { return surname; }
set { surname = value; }
}
public string DOB
{
get { return dob; }
set { dob = value; }
}
public string Addr
{
get { return address; }
set { address = value; }
}
public string Id
{
get { return id; }
set { id = value; }
}
}
}
public struct Marks
{
private int hyexam;
private int anexam;
public int HYEXAM
{
get { return hyexam; }
set { hyexam = value; }
}
public int ANEXAM
{
get { return anexam; }
set { anexam = value; }
}
public Marks (int hyexam, int anexam)
{
this.hyexam = hyexam;
this.anexam = anexam;
}
public double OverallExam()
{
return (0.4 * hyexam) + (0.6 * anexam);
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Collections;
namespace Main
{
public class JuniorStudents : Student
{
public int numofStudents;
public Marks Mathematics;
public Marks English;
public Marks Maltese;
public Marks ReligiousStudies;
public Marks SocialStudies;
const string filestud = "C:\\Users\\Mel\\Desktop\\Students.txt";
const string filemarks= "C:\\Users\\Mel\\Desktop\\Marks.txt";
public List<Student> studentList = new List<Student>();
public Dictionary<Student, List<Marks>> stuID = new Dictionary<Student, List <Marks>>();
List<Marks> markslist = new List<Marks>();
public void ReadStudentsRecords()
{
try
{
string name;
string surname;
string dob;
string addr;
string id;
string year;
StreamReader myFile = File.OpenText(filestud);
while (myFile.ReadLine() != null)
{
name = myFile.ReadLine();
surname=myFile.ReadLine();
dob=myFile.ReadLine();
addr=myFile.ReadLine();
id=myFile.ReadLine();
year = myFile.ReadLine();
Student st = new Student(name, surname, dob, addr, id);
Year yr = new Year(year);
studentList.Add(st);
}
myFile.Close();
}
catch (Exception e)
{
e.ToString();
}
}
public void ReadMarksList()
{
try {
StreamReader myFile = File.OpenText(filemarks);
while (myFile.ReadLine() != null)
{
Mathematics.HYEXAM = myFile.Read();
Mathematics.ANEXAM = myFile.Read();
English.HYEXAM = myFile.Read();
English.ANEXAM = myFile.Read();
Maltese.HYEXAM = myFile.Read();
Maltese.ANEXAM = myFile.Read();
ReligiousStudies.HYEXAM = myFile.Read();
ReligiousStudies.ANEXAM = myFile.Read();
SocialStudies.HYEXAM = myFile.Read();
SocialStudies.ANEXAM = myFile.Read();
markslist.Add(Mathematics);
markslist.Add(English);
markslist.Add(Maltese);
markslist.Add(ReligiousStudies);
markslist.Add(SocialStudies);
}
myFile.Close();
}
catch (Exception e)
{
e.ToString();
}
}
public void WriteStudentRecords()
{
try
{
StreamWriter myFile = File.CreateText(filestud);
foreach (Student s in studentList)
{
myFile.WriteLine(s.ToString());
}
myFile.Close();
}
catch (Exception e)
{
e.ToString();
}
}
public void WriteMarksRecords()
{
try
{
StreamWriter myFile = File.CreateText(filemarks);
foreach (Marks m in markslist)
{
myFile.WriteLine(m.ToString());
}
myFile.Close();
}
catch (Exception e)
{
e.ToString();
}
}
//public void AddrecordHashtable()
//{
// Student stud =new Student();
// if (!stuHashtable.ContainsKey((string)Id))
// {
// stuHashtable.Add(Id, stud);
// }
// foreach(DictionaryEntry gg in stuHashtable)
// {
// Console.WriteLine("Key and value are " + gg.Key + " " + gg.Value);
// Console.Read();
// }
//}
public void AddStudentRecord()
{
Student stud = new Student(Name, Surname, DOB, Addr, Id);
studentList.Add(stud);
//bool error = false;
//if (error == false)
//{
// try
// {
// stud.Name = name;
// stud.Surname = surname;
// stud.DOB = dob;
// stud.Addr = address;
// stud.Id = id;
// }
// catch (FormatException ex)
// {
// error = true;
// Console.WriteLine(ex.ToString());
// }
//myFile.WriteLine(studentList);
// numofStudents = studentList.Count;
}
// return 1;
//public void StudentID(Student key)
//{
// bool isFound = false;
// //key = studentList.SingleOrDefault(
// //if (studentList.Id)
// //{
// // if (st.Id.Equals(key))
// // {
// foreach (Student id in studentList) {
// if (id==key) {
// isFound = true;
// Console.WriteLine("key found");
// }
// else
// {
// Console.WriteLine("id not found");
// isFound = false;
// }
// }
//}
public void AddMarksRecord(int mthyexam, int mtanexam, int enhyexam, int enanexam, int mlhyexam, int mlanexam, int rshyexam, int rsanexam, int sshyexam, int ssanexam)
{
bool error = false;
if (error == false)
{
try
{
// Student myLocatedObject = studentList.Find(delegate(Student s) { return s.Id == Id; });
// foreach (Student s in studentList)
// if (s.Id.Equals(index))
{
// AddrecordHashtable();
//Mathematics.SUBJECTID = "1";
//Maltese.SUBJECTID = "2";
//Maltese.SUBJECTID = "3";
//ReligiousStudies.SUBJECTID = "4";
//SocialStudies.SUBJECTID = "5";
Mathematics.HYEXAM = mthyexam;
Mathematics.ANEXAM = mtanexam;
English.HYEXAM = enhyexam;
English.ANEXAM = enanexam;
Maltese.HYEXAM = mlhyexam;
Maltese.ANEXAM = mlanexam;
ReligiousStudies.HYEXAM = rshyexam;
ReligiousStudies.ANEXAM = rsanexam;
SocialStudies.HYEXAM = sshyexam;
SocialStudies.ANEXAM = ssanexam;
}
}
catch (FormatException ex)
{
error = true;
Console.WriteLine(ex.ToString());
}
}
// Console.WriteLine ("id not found");
//}
//markslist.Add(Mathematics);
//markslist.Add(English);
//markslist.Add(Maltese);
//markslist.Add(ReligiousStudies);
//markslist.Add(SocialStudies);
//}
}
public int EditStudentRecord(int index)
{
Student stud = new Student(Name,Surname,DOB,Addr,Id);
//bool error=false;
//if (error==false) {
// try {
//stud.Name = name;
//stud.Surname=surname;
//stud.DOB=dob;
//stud.Addr=addr;
//stud.Id=id;
//Mathematics.HYEXAM = mthyexam;
//Mathematics.ANEXAM = mtanexam;
//English.HYEXAM = enhyexam;
//English.ANEXAM = enanexam;
//Maltese.HYEXAM = mlhyexam;
//Maltese.ANEXAM = mlanexam;
//ReligiousStudies.HYEXAM = rshyexam;
//ReligiousStudies.ANEXAM = rsanexam;
//SocialStudies.HYEXAM = sshyexam;
//SocialStudies.ANEXAM = ssanexam;
// }
// catch (FormatException ex){
// error=true;
// Console.WriteLine (ex.ToString());
// }
studentList[index] = stud;
//studentList[index] = Mathematics;
//studentList[index] = English;
//studentList[index] = Maltese;
//studentList[index] = ReligiousStudies;
//studentList[index] = SocialStudies;
//numofStudents = studentList.Count;
//StreamWriter myFile = File.AppendText("JuniorStudents.txt");
studentList.Add(stud);
//myFile.WriteLine(studentList);
return 1;
}
public int DeleteRecord(int index)
{
studentList.RemoveAt(index);
WriteStudentRecords();
return 1;
}
public void ViewRecords()
{
ReadStudentsRecords();
ReadMarksList();
Console.WriteLine("Welcome to Student Mark List Application");
//for (int i = 0; i <numofStudents; i++)
//{
//Console.WriteLine(studentList[i]);
Console.WriteLine(Name);
Console.WriteLine(Surname);
Console.WriteLine(Addr);
Console.WriteLine(DOB);
Console.WriteLine(Id);
Console.WriteLine(Mathematics.HYEXAM);
Console.WriteLine(Mathematics.ANEXAM);
Console.WriteLine(English.HYEXAM);
Console.WriteLine(English.ANEXAM);
Console.WriteLine(Maltese.HYEXAM);
Console.WriteLine(Maltese.ANEXAM);
Console.WriteLine(ReligiousStudies.HYEXAM);
Console.WriteLine(ReligiousStudies.ANEXAM);
Console.WriteLine(SocialStudies.HYEXAM);
Console.WriteLine(SocialStudies.ANEXAM);
// }
}
public void InputStudentRecords()
{
while (true)
{
string name;
string surname;
string dob;
string addr;
string id;
string year;
Console.WriteLine("Welcome to Student Mark List Application");
Console.WriteLine("Enter student Name: ");
name = Console.ReadLine();
Console.WriteLine("Enter student Surame: ");
surname = Console.ReadLine();
Console.WriteLine("Enter student Dob: ");
dob = Console.ReadLine();
Console.WriteLine("Enter student Address: ");
addr = Console.ReadLine();
Console.WriteLine("Enter student ID: ");
id = Console.ReadLine();
Console.WriteLine("enter student year:");
year = Console.ReadLine();
AddStudentRecord();
Console.WriteLine("Do you want to add another record (Y/N)? ");
char ch = Console.ReadKey().KeyChar;
if (ch == 'Y' || ch == 'y')
continue;
else
break;
}
}
public void InputMarksRecords(string id)
{
while (true)
{
foreach (Student st in studentList)
{
if (st.Id.Equals(id))
{
Console.WriteLine("Enter Maths half yearly mark");
int m1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter Maths annual mark");
int m2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter English half yearly mark");
int e1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter English annual mark");
int e2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter Maltese half yearly mark");
int ml1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter Maltese annual mark");
int ml2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter ReligiousStudies half yearly mark");
int r1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter ReligousStudies annual mark");
int r2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter Social studies half yearly mark");
int s1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter SocialStudies annual mark");
int s2 = Int32.Parse(Console.ReadLine());
AddMarksRecord(m1, m2, e1, e2, ml1, ml2, r1, r2, s1, s2);
}
else
{
Console.WriteLine("enter correct id next time");
}
Console.WriteLine("Do you want to add another record (Y/N)? ");
char ch = Console.ReadKey().KeyChar;
if (ch == 'Y' || ch == 'y')
continue;
else
break;
}
}
}
public void EditRecords()
{
ViewRecords();
Console.WriteLine("Enter the student you want to edit: ");
int m = Convert.ToInt16(Console.ReadLine()); ;
if (m >= 1)
{
Console.WriteLine("Welcome to Student Mark List Application");
Console.WriteLine("Enter student Name: ");
string name = Console.ReadLine();
Console.WriteLine("Enter student Surame: ");
string surname = Console.ReadLine();
Console.WriteLine("Enter student Dob: ");
string dob = Console.ReadLine();
Console.WriteLine("Enter student Address: ");
string addr = Console.ReadLine();
Console.WriteLine("Enter student ID: ");
string id = Console.ReadLine();
Console.WriteLine("Enter Maths half yearly mark");
int m1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter Maths annual mark");
int m2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter English half yearly mark");
int e1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter English annual mark");
int e2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter Maltese half yearly mark");
int ml1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter Maltese annual mark");
int ml2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter ReligiousStudies half yearly mark");
int r1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter ReligousStudies annual mark");
int r2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter Social studies half yearly mark");
int s1 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Enter SocialStudies annual mark");
int s2 = Int32.Parse(Console.ReadLine());
EditStudentRecord(m - 1);
Console.WriteLine("Record updated. Press any key to return to Main Menu");
Console.ReadKey();
}
else
{
Console.WriteLine("Invalid Entry. Press any key to return to Main Menu");
Console.ReadKey();
}
}
public void DeleteRecords()
{
ViewRecords();
Console.WriteLine("Enter the student you want to delete: ");
int m = Convert.ToInt16(Console.ReadLine()); ;
if (m >= 1 && m <= numofStudents)
{
DeleteRecord(m - 1);
Console.WriteLine("Record deleted. Press any key to return to Main Menu");
Console.ReadKey(); ;
}
else
{
Console.WriteLine("Invalid Entry. Press any key to return to Main Menu");
Console.ReadKey(); ;
}
}
}
}
This post has been edited by mel_ga: 26 November 2012 - 09:03 AM

New Topic/Question
Reply



MultiQuote




|