Записывается в файл только последний элемент массива. - C#
Формулировка задачи:
Приветствую вас. Нужна помощь в массивах объекта.
Есть класс. Класс делает, то что составляет бланк заказа.
Создан динамический массив:
После чего выводится запрос на запись информации в файл. Но проблема в то что записывается только последнее введенное.
Как взять адрес первого элемента массива в с++ там можно с помощью переменное хранящий адрес и данные по этому адресу " *Per ". А как здесь все это сделать?
Жду вашей помощи.
За ранее спасибо.
Console.WriteLine("Введите число заказов\n");
int n = Convert.ToInt32(Console.ReadLine());
blank1 s = new blank1();using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using func;
namespace func_dll
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Выберите пункт меню:\n");
Console.WriteLine("Введите-y: Для оформления заказа\n");
Console.WriteLine("Введите-e: Для выхода из меню\n");
string key;
key=Console.ReadLine();
switch (key)
{
case "y":
Console.WriteLine("Введите число заказов\n");
int n = Convert.ToInt32(Console.ReadLine());
blank1 s = new blank1();
int i;
for (i = 0; i < n; i++)
{
s.vvod();
// s.vivod();
// s.TextFile();
}
for (i = 0; i < n; i++)
{
s.vivod();
}
string key1;
Console.WriteLine("Записать в файл?");
key1 = Console.ReadLine();
switch (key1)
{
case "y":
for (i = 0; i < n; i++) { s.TextFile(); }
break;
case "e":
break;
}
break;
case "e":
//Environment.Exit(0);
break;
}
Console.WriteLine("Для завершения нажмите любую клавишу\n");
Console.ReadLine();
}
}
}Решение задачи: «Записывается в файл только последний элемент массива.»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
struct blank1
{
private int Nt;
private string nb;
private double cena;
public void vvod()
{
Console.WriteLine("Введите номер стола\n");
Nt = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите Название блюда\n");
nb = Console.ReadLine();
Console.WriteLine("Введите цену\n");
cena = Convert.ToDouble(Console.ReadLine());
}
public void vivod()
{
Console.WriteLine("№Стола | Блюдо | цена\n");
Console.WriteLine(Nt+ " " + nb + " " + cena);
}
public void TextFile()
{
StreamWriter file = new StreamWriter(@"D:\text.txt", true);
file.WriteLine("№Номер стола |Название |Цена ");
file.Write(Nt);
file.Write(" ");
file.Write(nb);
file.Write(" ");
file.WriteLine(cena);
file.Close();
}
}
namespace Blank
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите число заказов\n");
int n = Convert.ToInt32(Console.ReadLine());
blank1[] s = new blank1[n];
for (int i = 0; i < n; i++)
{
s[i].vvod();
// s[i].vivod();
// s[i].TextFile();
}
for (int i = 0; i < n; i++)
{
s[i].vivod();
}
string key;
Console.WriteLine("Записать файл? y(да)/e(нет)\n");
key = Console.ReadLine();
if (key == "y")
{
for (int i = 0; i < n; i++)
{
s[i].TextFile();
}
}
if (key == "e")
{
Console.WriteLine("Для завершения нажмите любую клавишу\n");
Console.ReadLine();
}
}
}
}