gold-goblin
13.04.2007, 18:41
Короче задали задачку на курсах, я ее зделал а препод попрасил реализовать по другому!!! (Полный гад).
Задача:
сделать программу которая сможет записывать, считывать, редактировать, искать в базе учеников.
Я зделал так:
using system;
using system.IO;
namespace studentlist 3
{
//класс ответственный за представление студетна в памяти
public class memoryrepresent
{
//поле для хранения имени студента
private string name;
//свойство для доступа к полю имя
public string name
{
//чтение зачения
get
{
return name;
}
// Запись значения с проверкой корректности данных
set
{
//если строка не пустая, то значение изменяется
if(value !=string/Empty)
name = value;
else
throw new argumentException("Имя не может быть пустым")
}
}
private uint age;
public uint age
{
get
{
return age;
}
set{
if(value>0&&value<100)
age = value;
throw new argumentException("Возраст должен быть в пределах от 0 до 100")
}
}
private uint group;
public uint group
{
get
{
return group;
}
set
{
if(value>0&&<=10)
group = value;
else
throw new argumentException("Номер группы должен быть в пределах от 1 до 10")
}
}
public override string ToString()
(
return String.Format("Имя: {0}\n Возраст: {1}\n Группа:{2}\n", name, age, group);
}
public memoryrepresent()
{
name = String.Empty;
age = 0;
group = 0;
}
public memoryrepresent(string[] array)
{
Name = array[0];
Age = uint.parse(array[]1);
group = uint.parse(array[2]);
}
}
public class filerepresent
static char[] separators = new char[] {':'};
string _str;
public filerepresent(string str)
{
_str = str;
}
public filerepresent(string[] array)
{
_str = "";
foreach)string s in arry)
foreach(string s in array)
_str+=s+":";
}
public override string tostring()
{
return _str;
}
public static implicit operator string[] (filerepresentfrep)
{
return frep._str.split(separators);
}
};
class classl
{
statctic memoryrepresent[] students = newmemoryrepresent[100];
static int count = 0;
static void print()
{
for(int i=0;i<count; i++)
console.writeline(students[1]);
console/writeline("Нажмите ентер для продолжения...");
}
static void add()
{
students[cout] = new memoryrepresent();
try
{
console.write("Введите имя студента:");
students[cout] .name = console.readline()
console.write("Введите возраст студента:");
students[cout] .age = uint.parse(console.readline());
console.write("Введите групу студента");
students[count] .group = uint .parse(console.readline());
count++;
}
catch(exception e)
{
console.writeline(e.message);
}
}
static void remove()
{
console.write("Введите имя студента для удоления:");
string name = console.readline()
for(int i=0;i<count;i++)
if (string. compare(students[i] .name, name, true)==0)
{
for(int j=i;j<count-1;j++)
students[j] = students [j+1];
count--;
}
}
static void edit()
{
console.write ("введите имя студента для редактирования: ");
string name = console.readline();
name
for(int i=0;i<count;i++)
if(string.compare(students[i] .name, name, true)==0)
try
{
console.write("введите новое имя студента или нажмите ентер чтобы не менять");
string temp = console.readline();
students[i] .name = temp==string.empty?students[i] .name:temp;
console.write("введите новый возраст студента или нажмите ентер чтобы не менять:");
temp = console.readline()
temp==string.empty?students[i] .age:uint.parse(temp);
console.write("введите новую группу студента или нажмите ентер чтобы не изменять:")
temp = console.readline();
students[i] .group = temp==string.empty?students[i] .group:uint.parse(temp);
}
catch(exception e)
{
console.writeline(e.message);
}
}
static void loadfromfile()
{
count = 0;
using(streamreader reader = new streamreader("data.txt"))
{
string temp;
while((temp = reader.readline()) !=null)
{
{
students[count] = new memoryrepresent(new filerepresent(temp));
count++;
}
catch(exception e)
{
console.writeline(e.message);
}
}
}
}
static void savefile()
using(streamwritet writer = new streamwriter("data.txt"))
{
for(int i=0;i<count;i++)
writer.writeline(new filerepresent(new string[] {students[i] .name, students[i] .age. tostring(),
students[i] .group.tostring()}));
}
}
[STATread]
static void main(string[] args)
{
console.writeline("Добро пожаловать!");
{
showmenu:
console.writeline("1 - Вывести список");
console.writeline("2 - Добавить студента");
console.writeline("3 - Удолить студента");
console.writeline("4 - Редоктирывать студента");
console.writeline("5 - Загрузить из файла");
console.writeline("6 - Сохранить в фаил");
console.writeline("0 - выход");
console.write("Выберите пункт меню: ");
switch(uint.parse(console.readline()))
{
case 1: print(); break;
case 2: add(); break;
case 3: remove(); break;
case 4: edit(); break;
case 5: loadfromfile(); break;
case 6: savetofile(); break;
case 0:
console.write("Завершить работу с программой? y/n ");
if(console.readline() .startswith("y")
console.writeline("Спасибо за работу с нашей программой");
return;
}
break;
default: continue;
}
}while(true);
}
}
}
Подскажите как реализовать по другому?
Задача:
сделать программу которая сможет записывать, считывать, редактировать, искать в базе учеников.
Я зделал так:
using system;
using system.IO;
namespace studentlist 3
{
//класс ответственный за представление студетна в памяти
public class memoryrepresent
{
//поле для хранения имени студента
private string name;
//свойство для доступа к полю имя
public string name
{
//чтение зачения
get
{
return name;
}
// Запись значения с проверкой корректности данных
set
{
//если строка не пустая, то значение изменяется
if(value !=string/Empty)
name = value;
else
throw new argumentException("Имя не может быть пустым")
}
}
private uint age;
public uint age
{
get
{
return age;
}
set{
if(value>0&&value<100)
age = value;
throw new argumentException("Возраст должен быть в пределах от 0 до 100")
}
}
private uint group;
public uint group
{
get
{
return group;
}
set
{
if(value>0&&<=10)
group = value;
else
throw new argumentException("Номер группы должен быть в пределах от 1 до 10")
}
}
public override string ToString()
(
return String.Format("Имя: {0}\n Возраст: {1}\n Группа:{2}\n", name, age, group);
}
public memoryrepresent()
{
name = String.Empty;
age = 0;
group = 0;
}
public memoryrepresent(string[] array)
{
Name = array[0];
Age = uint.parse(array[]1);
group = uint.parse(array[2]);
}
}
public class filerepresent
static char[] separators = new char[] {':'};
string _str;
public filerepresent(string str)
{
_str = str;
}
public filerepresent(string[] array)
{
_str = "";
foreach)string s in arry)
foreach(string s in array)
_str+=s+":";
}
public override string tostring()
{
return _str;
}
public static implicit operator string[] (filerepresentfrep)
{
return frep._str.split(separators);
}
};
class classl
{
statctic memoryrepresent[] students = newmemoryrepresent[100];
static int count = 0;
static void print()
{
for(int i=0;i<count; i++)
console.writeline(students[1]);
console/writeline("Нажмите ентер для продолжения...");
}
static void add()
{
students[cout] = new memoryrepresent();
try
{
console.write("Введите имя студента:");
students[cout] .name = console.readline()
console.write("Введите возраст студента:");
students[cout] .age = uint.parse(console.readline());
console.write("Введите групу студента");
students[count] .group = uint .parse(console.readline());
count++;
}
catch(exception e)
{
console.writeline(e.message);
}
}
static void remove()
{
console.write("Введите имя студента для удоления:");
string name = console.readline()
for(int i=0;i<count;i++)
if (string. compare(students[i] .name, name, true)==0)
{
for(int j=i;j<count-1;j++)
students[j] = students [j+1];
count--;
}
}
static void edit()
{
console.write ("введите имя студента для редактирования: ");
string name = console.readline();
name
for(int i=0;i<count;i++)
if(string.compare(students[i] .name, name, true)==0)
try
{
console.write("введите новое имя студента или нажмите ентер чтобы не менять");
string temp = console.readline();
students[i] .name = temp==string.empty?students[i] .name:temp;
console.write("введите новый возраст студента или нажмите ентер чтобы не менять:");
temp = console.readline()
temp==string.empty?students[i] .age:uint.parse(temp);
console.write("введите новую группу студента или нажмите ентер чтобы не изменять:")
temp = console.readline();
students[i] .group = temp==string.empty?students[i] .group:uint.parse(temp);
}
catch(exception e)
{
console.writeline(e.message);
}
}
static void loadfromfile()
{
count = 0;
using(streamreader reader = new streamreader("data.txt"))
{
string temp;
while((temp = reader.readline()) !=null)
{
{
students[count] = new memoryrepresent(new filerepresent(temp));
count++;
}
catch(exception e)
{
console.writeline(e.message);
}
}
}
}
static void savefile()
using(streamwritet writer = new streamwriter("data.txt"))
{
for(int i=0;i<count;i++)
writer.writeline(new filerepresent(new string[] {students[i] .name, students[i] .age. tostring(),
students[i] .group.tostring()}));
}
}
[STATread]
static void main(string[] args)
{
console.writeline("Добро пожаловать!");
{
showmenu:
console.writeline("1 - Вывести список");
console.writeline("2 - Добавить студента");
console.writeline("3 - Удолить студента");
console.writeline("4 - Редоктирывать студента");
console.writeline("5 - Загрузить из файла");
console.writeline("6 - Сохранить в фаил");
console.writeline("0 - выход");
console.write("Выберите пункт меню: ");
switch(uint.parse(console.readline()))
{
case 1: print(); break;
case 2: add(); break;
case 3: remove(); break;
case 4: edit(); break;
case 5: loadfromfile(); break;
case 6: savetofile(); break;
case 0:
console.write("Завершить работу с программой? y/n ");
if(console.readline() .startswith("y")
console.writeline("Спасибо за работу с нашей программой");
return;
}
break;
default: continue;
}
}while(true);
}
}
}
Подскажите как реализовать по другому?