Преподаватель дал задание написать программу которая работает как картотека в бюро обмена квартир и ее нужно сделать в виде линейного списка.
Сведения о каждой квартире включают:
количество комнат;
этаж;
площадь;
адрес.
Написать программу, которая обеспечивает:
начальное формирование картотеки;
ввод заявки на обмен;
поиск в картотеке подходящего варианта: при равенстве количества комнат и этажа и различии площадей в пределах 10% соответствующая картотека выводится и удаляется из списка, в противном случае поступившая заявка включается в список;
вывод всего списка.
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.
Хочу сделать за js.
Подскажите, как сделать список в данной задачи? т.е. я сделал форму добавления данных, валидирую ее... потом попал в тупик. Данные думаю записывать в txt файл. Вопрос, где мне делать линейный список? при добавлении данных формировать их в линейный список и потом этот список писать в файл? посоветуйте.
Вот заготовки:
<form id="add">
<input type="number" id="komnat" placeholder="Количество комнат" requared>
<input type="number" id="etag" placeholder="Этаж">
<input type="text" id="ploshad" placeholder="Площадь">
<input type="number" id="adress" placeholder="Адрес">
<button onclick='takeData()'>Добавить карточку</button>
</form>
function takeData(){
var arrayData = [];
var flag = 1;
arrayData[0] = document.forms["add"].elements["komnat"].value;
arrayData[1] = document.forms["add"].elements["etag"].value;
arrayData[2] = document.forms["add"].elements["ploshad"].value;
arrayData[3] = document.forms["add"].elements["adress"].value;
if(arrayData[0] == ''){
alert("Заполните количество комнат");
flag = 0;
}
if(arrayData[1] == ''){
alert("Заполните этаж");
flag = 0;
}
if(arrayData[2] == ''){
alert("Заполните площадь");
flag = 0;
}
if(arrayData[3] == ''){
alert("Заполните адресс");
flag = 0;
}
if(flag == 1){
Lists(arrayData);
}
}
function Lists(arrayData){
var list = {
value: arrayData,
next: {}
}
alert(list);
}
function readfile()
{
var fso,filehandle,contents;
fso = new ActiveXObject("Scripting.FileSystemObject");
filehandle = fso.OpenTextFile("text.txt",1);/* Открывает файл*/
contents = filehandle.ReadAll(); /* Читает из файла и переменная contents и есть весь текст, который он считал*/
if (contents) document.all("filecontents").value = contents; /* Вставляет в текстбокс filecontents текст contents*/
filehandle.close();/* Закрывает файл*/
}
function WriteToFile()
{
var fso = new ActiveXObject('Scripting.FileSystemObject');
var s = fso.CreateTextFile("text.txt", true); /* перезаписывает файл, открывает для редактирования*/
var second = document.getElementById("filecontents").value; /* Читает из текстбокса filecontents и переменная second и есть весь текст, который он считал*/
s.WriteLine (second); /* записывает весь текст из переменной second, имитирует Enter*/
s.Close(); /*закрывает файл*/
}