проблема заключается в том, что программа не хочет искать. Подскажите в чем косяк?
Программа не доделана, но пока не разберусь с писком делать дальше смысла нету(
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
struct writer1
{
public string kklient;//клиент
public string name;//Имя
public string fam;//Фамилия
public string othes;//Отчество
public string pass;//Номер паспорта
public string serpass;//Серия паспорта
public string datapass;//Дата выдачи
public string kattovar;//Категория товара
public string tname;//Название товара
public string prim;//Примечание для товара
public string kattov;//Категория товара(сдача)
public string klient;//клиент(сдача)
public string optov;//описание товара
public string datasdach;//дата сдачи
public string datavozvr;//дата возврата
public string sum;//Сумма
public string kom;//Комиссионные
}
class Program
{
static void Main()
{
int w = 1;
string s3;
while (w == 1)
{
writer1[] kas = new writer1[100];
string s = "";// поиска
int i = 0;//счётчик
char n;//переменная для выбора
Console.Clear();
Console.Title = "Ломбард";
Console.WriteLine("Список действий");
Console.WriteLine("1-Добавление нового клиента");
Console.WriteLine("2-Категории товаров");
Console.WriteLine("3-Сдача в ломбард");
Console.WriteLine("4-Поиск");
Console.WriteLine("5-Выход");
n = Convert.ToChar(Console.ReadLine());
switch (n)
{
case '1':
{
Console.Title = "Новый клиент ";
Console.Clear();
StreamWriter fs = new StreamWriter("1.txt", true);//открываем файл для записи
Console.Write("Номер клиента");
fs.WriteLine(Console.ReadLine());
Console.Write("Фамилия: ");
fs.WriteLine(Console.ReadLine());
Console.Write("Имя: ");
fs.WriteLine(Console.ReadLine());
Console.Write("Отчество: ");
fs.WriteLine(Console.ReadLine());
Console.Write("Номер паспорта ");
fs.WriteLine(Console.ReadLine());
Console.Write("Серия ");
fs.WriteLine(Console.ReadLine());
Console.Write("дата выдачи ");
fs.WriteLine(Console.ReadLine());
fs.WriteLine("____________________________");
fs.Close();
} break;
case '2':
{
Console.Title = "Категории товаров";
Console.Clear();
StreamWriter fs = new StreamWriter("2.txt", true);//открываем файл для записи
Console.Write("Номер клиента");
fs.WriteLine(Console.ReadLine());
Console.Write("Категория товара ");
fs.WriteLine(Console.ReadLine());
Console.Write("Название ");
fs.WriteLine(Console.ReadLine());
Console.Write("Примичание ");
fs.WriteLine(Console.ReadLine());
fs.WriteLine("____________________________");
fs.Close();
} break;
case '3':
{
Console.Title = "Сдача в ломбард ";
Console.Clear();
StreamWriter fs = new StreamWriter("3.txt", true);//открываем файл для записи
Console.Write("Категория товара ");
fs.WriteLine(Console.ReadLine());
Console.Write("клиент ");
fs.WriteLine(Console.ReadLine());
Console.Write("Описание товара ");
fs.WriteLine(Console.ReadLine());
Console.Write("Дата сдачи ");
fs.WriteLine(Console.ReadLine());
Console.Write("Дата возврата ");
fs.WriteLine(Console.ReadLine());
Console.Write("сумма ");
fs.WriteLine(Console.ReadLine());
Console.Write("Комиссионные ");
fs.WriteLine(Console.ReadLine());
fs.WriteLine("____________________________");
fs.Close();
} break;
case '4': //поиск
{
char pn;
Console.Clear();
Console.Title = "ПОИСК: ";
Console.WriteLine("1-поиск по номеру клиента");
Console.WriteLine("2-поиск по фамилии клиента:");
Console.Write("3-поиск по названию товара ");
Console.WriteLine();
pn = Convert.ToChar(Console.ReadLine());
if (pn == '1')
{
Console.Title = "поиск по номеру клиента: ";
Console.Clear();
Console.Write("введите номер клиента: ");
s = Console.ReadLine();
string s1;
Console.WriteLine("-----------------------------");
StreamReader fr = new StreamReader("1.txt");//открываем файл для чтения
i = 0;
while (fr.Peek() != -1)
// while (( s1 = fr.ReadLine() ) != null)
// for (i = 1; i < kas.Length; i++)
{
kas[i].kklient = fr.ReadLine();
kas[i].name = fr.ReadLine();
kas[i].fam = fr.ReadLine();
kas[i].othes = fr.ReadLine();
kas[i].pass = fr.ReadLine();
kas[i].serpass = fr.ReadLine();
kas[i].datapass = fr.ReadLine();
s3 = fr.ReadLine();
if (s == kas[i].kklient)
{
Console.WriteLine("Номер клиента " + kas[i].kklient);
Console.WriteLine("Имя клиента: " + kas[i].name);
Console.WriteLine("Фамилия клиента: " + kas[i].fam);
Console.WriteLine("отчество " + kas[i].othes);
Console.WriteLine("Номер паспорта " + kas[i].pass);
Console.WriteLine("Серия паспорта " + kas[i].serpass);
Console.WriteLine("Дата выдачи" + kas[i].datapass);
}
i++;
}
Console.WriteLine();
//Console.Clear();
fr.Close();
}
if (pn == '2')
{
StreamReader fr = new StreamReader("1.txt");//открываем файл для чтения
while (fr.Peek() != -1)
{
i++;
kas[i].kklient = fr.ReadLine();
kas[i].name = fr.ReadLine();
kas[i].fam = fr.ReadLine();
kas[i].othes = fr.ReadLine();
kas[i].pass = fr.ReadLine();
kas[i].serpass = fr.ReadLine();
kas[i].datapass = fr.ReadLine();
}
fr.Close();
Console.Title = "поиск по фамилии клиента: ";
string ss = "";
Console.Write("введите клиента врача: ");
s = Console.ReadLine();
for (i = 0; i < kas.Length; i++)
{
if (s == kas[i].fam)
{
ss = ss + '\n' + "Клиент №: " + kas[i].kklient + '\n' + "Имя: " + kas[i].name + '\n' + "Фамилия: " + kas[i].fam + '\n' + "Отчество: " + kas[i].othes + "Номер паспорта: " + kas[i].pass + "Серия " + kas[i].serpass + '\n' + "Дата выдачи" + kas[i].datapass;
}
} Console.WriteLine(ss);
}
if (pn == '3')
{
StreamReader fr = new StreamReader("2.txt");//открываем файл для чтения
while (fr.Peek() != -1)
{
i++;
kas[i].kklient = fr.ReadLine();
kas[i].kattovar = fr.ReadLine();
kas[i].tname = fr.ReadLine();
kas[i].prim = fr.ReadLine();
}
fr.Close();
Console.Title = "поиск по названию товара ";
string ss = "";
Console.Write("введите название товара ");
s = Console.ReadLine();
for (i = 0; i < kas.Length; i++)
{
if (s == kas[i].tname)
{
ss = ss + '\n' + "Клиент № " + kas[i].kklient + '\n' + "Категория товара " + kas[i].kattovar + '\n' + "Название товара: " + kas[i].tname + '\n' + "Примечание" + kas[i].prim + '\n' + "---------------------------------";
}
} Console.WriteLine(ss);
}
} break;
case '5': { w = 2; } break;
default:
{ } break;
}
}
}
}
}
Здравствуйте, Vaako, Вы писали:
V>Здравствуйте, JenyaSafronov, Вы писали:
JS>>проблема заключается в том, что программа не хочет искать. Подскажите в чем косяк?
JS>>Программа не доделана, но пока не разберусь с писком делать дальше смысла нету(
V>Когда вы записываете файл у вас в 1 case записывается 8 строк.
V>Во втором — 4 строки. В третьем опять 8 строк.
V>В первом поиске вы считываете по 8 строк, во втором — по 7 строк.
V>Короче у вас формат записи сбивается окончательно и бесповоротно.
V>Проверить это просто. Выводите в первом или втором поиске все считанные строки для kas[i].kklient.
V>Вы удивитесь увидев там совсем не то содержимое что нужно. И вообще, кто так сохраняет данные?
V>Продолжать делать программу с таким форматом данных однозначно не следут даже если бы поиск вдруг заработал.
Так помогите довести до ум