namespace Hw1_Hashing{ public class Program { static List PhoneData1 = การแปล - namespace Hw1_Hashing{ public class Program { static List PhoneData1 = ไทย วิธีการพูด

namespace Hw1_Hashing{ public class

namespace Hw1_Hashing
{
public class Program
{

static List PhoneData1 = new List(); //arraylist for phone number
static List PersonData1 = new List(); //arraylist for person
static Hashtable Hash = new Hashtable();
static string path = @"PhoneBook1.txt";

static void Main(string[] args)
{
try
{
readData();
char x;
bool isExit = false;
do
{
Console.Write("Phonebook - Input your command (h for help):");
string m = Console.ReadLine();
x = char.ToLower(m[0]);

switch (x)
{
case 'i': insert(); //func insert a phone number
break;
case 'd': delete(); //delete a phone number
break;
case 'm': modify(); //modify
break;
case 's':
{
search(); //search phone no
break;
}
case 'x':
{
isExit = true;
//write data to textfiles
writeData();
break;
}
case 'h':
{
help();
break;
}
default: break;
}

} while (!isExit);
}
catch (Exception ex)
{
Console.WriteLine("Program Error : " + ex.Message);
Console.Read();
}
}

static void insert()
{
bool m = false;
string x = string.Empty;
string newList = "The new list is:";
do
{
Console.Write("Enter a phone number to be inserted: ");
x = Console.ReadLine();
x = x.Trim();
int y = x.Length;
if (y > 10)
Console.WriteLine("Error - the number is too long");
else if (y < 10)
Console.WriteLine("Error - the number is too short");
else
{
m = true;
foreach (PhoneData item in PhoneData1)
{

if (String.Compare(item.PhoneNumber, x) == 0)
{
Console.WriteLine("Error - the phone number is already in this phone book.");
m = false;
}

}
}
} while (m == false);

Console.WriteLine("The list is:");
showList(null);

//Show for Enter input new person or not
Console.Write("Enter the person id to append the phone number or 'n' for new phone number :");
string inputNP = Console.ReadLine();
int no;
//if it new person
if ("nN".Contains(inputNP))
{
Console.Write("Enter the name (8 Characters maximum) :");
string inputName = Console.ReadLine();
while (inputName.Length > 8)
{
Console.Write("Error name is more that 8 Characters, Please Enter new name:");
inputName = Console.ReadLine();
}

//insert new name
PersonData p = new PersonData();
p.PersonNo = PersonData1.Count + 1;
p.Name = inputName;
p.CountPhoneNo++;
PersonData1.Add(p);

//insert new phone no. to list
PhoneData ph = new PhoneData();
ph.no = p.PersonNo;
ph.PhoneNumber = x;
ph.phoneOrder = 1;
PhoneData1.Add(ph);

//add key to hashtable
InsertHashTable(ph);
//print new list
Console.WriteLine(newList);
showList(null);
}
else if (int.TryParse(inputNP, out no) == true)
{
int noIndex = PersonData1.FindIndex(i => i.PersonNo == no);
//checking is it full 5 phone no for that person
//if it full show error and input the replace no for replace that phone no
if (PersonData1[noIndex].CountPhoneNo == 5)
{
Console.Write(PersonData1[noIndex].Name + " has 5 phone numbers already,"+Environment.NewLine+" enter replaced number or any key for cancel:");
string inputRC = Console.ReadLine();
int tryParseInputRC;
//if not cancel replace that phone no to another one
if (int.TryParse(inputRC, out tryParseInputRC))
{
//replace and remove key of that phone no. from hash table
//int indexperson = PersonData1.FindIndex(i => i.PersonNo == PersonData1[no].PersonNo);
PhoneData ph = new PhoneData();
ph.no = no;
int indexphone = PhoneData1.FindIndex(i => i.phoneOrder == tryParseInputRC);
ph.PhoneNumber = PhoneData1[indexphone].PhoneNumber;
ph.phoneOrder = tryParseInputRC;

PhoneData ph2 = new PhoneData();
ph2.no = ph.no;
ph2.PhoneNumber = x;
ph2.phoneOrder = ph.phoneOrder;
PhoneData1[indexphone] = ph2;

//delete hash table data
DeleteHashTable(ph);

//insert new hash table data
InsertHashTable(ph2);

//show new list
Console.WriteLine(newList);
showList(null);
}
}
else
{
Console.Write("Enter replaced number or 'n' for new phone number:");
string inputPHID = Console.ReadLine();
if ("nN".Contains(inputPHID))
{
//add new phone number and position
PhoneData ph = new PhoneData();
ph.phoneOrder = PersonData1[noIndex].CountPhoneNo + 1;
ph.no = no;
ph.PhoneNumber = x;
PhoneData1.Add(ph);

PersonData1[noIndex].CountPhoneNo++;
//increase phone item in person
int indexPer = PersonData1.FindIndex(i => i.PersonNo == no);

//insert phone no to hash table
InsertHashTable(ph);
}
else
{
int phoneN;
bool isNumberic = int.TryParse(inputPHID, out phoneN);
//ask to replace phone no.
if (phoneN 0)
{
int j = 0;
for (int i = 0; i < PhoneData1.Count; i++)
{
if (PhoneData1[i].phoneOrder == phoneN && PhoneData1[i].no == no)
{
j = i;
break;
}
}
string pp1;
string p1 = PhoneData1[j].PhoneNumber;
pp1 = p1;
p1 = p1.Substring(0, 3) + " " + p1.Substring(3, 3) + " " + p1.Substring(6, 4);
string p2 = x;
p2 = p2.Substring(0, 3) + " " + p2.Substring(3, 3) + " " + p2.Substring(6, 4);
Console.Write("Do you want to replace " + PersonData1[noIndex].Name + "'s contact " + p1 + " with " + p2 +Environment.NewLine+ " ('y' for yes, any key to cancel)? :");
string checkR = Console.ReadLine();
if ("yY".Contains(checkR))
{
//replace that phone no.
PhoneData ph1 = new PhoneData();
ph1.no = no;
ph1.PhoneNumber = x.Trim();
ph1.phoneOrder = phoneN;
PhoneData1[j] = ph1;

PhoneData ph2 = new PhoneData();
ph2.no = no;
ph2.PhoneNumber = pp1;
ph2.phoneOrder = phoneN;

//remove hash table about that phone no.
DeleteHashTable(ph2);

//insert new hash table of this phone no.
InsertHashTable(ph1);
}
}
else
{
//insert phone no in next position
PhoneData ph = new PhoneData();
ph.PhoneNumber = x;
ph.no = no;
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
เนมสเปซ Hw1_Hashing{ สาธารณะประเภทโปรแกรม { รายการแบบคง PhoneData1 =รายการใหม่(); arraylist หมายเลขโทรศัพท์ รายการแบบคง PersonData1 =รายการใหม่(); arraylist สำหรับบุคคล คง Hashtable แฮ = Hashtable() ใหม่ เส้นทางสายคง =แอท "PhoneBook1.txt" คงเป็นโมฆะหลัก (สตริงที่[]อาร์กิวเมนต์) { ลอง { readData() อักขระ x bool isExit = false ทำ { Console.Write ("สมุดโทรศัพท์ - ป้อนข้อมูลคำสั่ง (h สำหรับความช่วยเหลือ): "); สาย m = Console.ReadLine() x =อักขระ ToLower(m[0]) สวิตช์ (x) { กรณี 'i': insert() func แทรกหมายเลขโทรศัพท์ ทำลาย กรณีจะ ': delete (); ลบหมายเลขโทรศัพท์ ทำลาย กรณีกำลัง ': modify() ปรับเปลี่ยน ทำลาย กรณีของ ': { search() ค้นหาโทรศัพท์ไม่ ทำลาย } กรณี 'x': { isExit = true เขียนข้อมูลไปยัง textfiles writeData() ทำลาย } กรณี 'h': { help() ทำลาย } เริ่มต้น: ทำลาย } } ขณะ (! isExit); } จับ (ยกเว้นแฟนเก่า) { Console.WriteLine ("โปรแกรมข้อผิดพลาด: " + อดีต ข้อ); Console.Read() } } insert() คงเป็นโมฆะ { bool m = false สายอักขระ x =สาย ว่างเปล่า สตริ newList = "รายใหม่: "; ทำ { Console.Write ("ใส่หมายเลขโทรศัพท์ที่จะแทรก: "); x = Console.ReadLine() x = x.Trim() int y = x.Length ถ้า (y > 10) Console.WriteLine ("ข้อผิดพลาด - หมายเลขยาวเกินไป"); ถ้าที่อื่น (y < 10) Console.WriteLine ("ข้อผิดพลาด - หมายจะสั้นเกินไป"); อื่น { m = true foreach (PhoneData สินค้าใน PhoneData1) { ถ้า ((รายการ String.Compare PhoneNumber, x) == 0) { Console.WriteLine ("ข้อผิดพลาด - หมายเลขโทรศัพท์อยู่ในสมุดโทรศัพท์นี้"); m = false } } } } ขณะ (m == false); Console.WriteLine ("รายการ: "); showList(null) แสดงบุคคลใหม่ป้อนเข้า หรือไม่ Console.Write ("ป้อนรหัสบุคคลผนวกหมายเลขโทรศัพท์หรือเอ็นสำหรับหมายเลขโทรศัพท์ใหม่: "); สตริ inputNP = Console.ReadLine() int ไม่ ถ้าได้คนใหม่ ถ้า ("nN" Contains(inputNP)) { Console.Write ("ใส่ชื่อ (8 อักขระสูงสุด): "); สตริ inputName = Console.ReadLine() ในขณะที่ (inputName.Length > 8) { Console.Write ("มากว่า 8 ตัว กรุณาป้อนชื่อใหม่เป็นชื่อข้อผิดพลาด: "); inputName = Console.ReadLine() } ใส่ชื่อใหม่ PersonData p = PersonData() ใหม่ p.PersonNo = PersonData1.Count + 1 p.Name = inputName p.CountPhoneNo++ PersonData1.Add(p) ใส่โทรศัพท์มือถือใหม่ไม่ การแสดงรายการ PhoneData ph = PhoneData() ใหม่ ph.no = p.PersonNo ph PhoneNumber = x ph.phoneOrder = 1 PhoneData1.Add(ph) เพิ่มคีย์ hashtable InsertHashTable(ph) พิมพ์รายการใหม่ Console.WriteLine(newList) showList(null) } ถ้าที่อื่น (ของดอกเบี้ย TryParse(inputNP, out no) ==จริง) { int noIndex = PersonData1.FindIndex (ผม = > i.PersonNo ==ไม่); การตรวจสอบคือ มันเต็ม 5 โทรศัพท์สำหรับบุคคลที่ไม่มี ถ้ามันเต็มแสดงข้อผิดพลาด และเข้าแทนที่สำหรับ เปลี่ยนโทรศัพท์ที่ไม่ ถ้า (PersonData1 [noIndex] CountPhoneNo == 5) { Console.Write (PersonData1 [noIndex] ชื่อ + "มี already,"+Environment.NewLine+ หมายเลขโทรศัพท์ 5"ป้อนแทนเลขหรือคีย์ใด ๆ สำหรับการยกเลิก: "); สตริ inputRC = Console.ReadLine() int tryParseInputRC ถ้า ไม่ยกเลิกการแทนที่โทรศัพท์ไม่เป็นหนึ่ง ถ้า (ของดอกเบี้ย TryParse (inputRC ออก tryParseInputRC)) { แทน และเอาคีย์ที่โทรศัพท์ไม่ จากตารางแฮช int indexperson = PersonData1.FindIndex (ผม = > i.PersonNo == PersonData1 [ไม่] PersonNo); PhoneData ph = PhoneData() ใหม่ ph.no = no int indexphone = PhoneData1.FindIndex (ผม = > i.phoneOrder == tryParseInputRC); ph PhoneNumber = PhoneData1 [indexphone] PhoneNumber ph.phoneOrder = tryParseInputRC PhoneData ph2 = PhoneData() ใหม่ ph2.no = ph.no ph2 PhoneNumber = x ph2.phoneOrder = ph.phoneOrder PhoneData1 [indexphone] = ph2 ลบข้อมูลในตารางแฮ DeleteHashTable(ph) แทรกข้อมูลในตารางแฮใหม่ InsertHashTable(ph2) แสดงรายการใหม่ Console.WriteLine(newList) showList(null) } } อื่น { Console.Write (" Enter แทนหมายเลขหรือเอ็นสำหรับหมายเลขโทรศัพท์ใหม่: "); สตริ inputPHID = Console.ReadLine() ถ้า ("nN" Contains(inputPHID)) { เพิ่มหมายเลขโทรศัพท์ใหม่และตำแหน่ง PhoneData ph = PhoneData() ใหม่ ph.phoneOrder = PersonData1 [noIndex] CountPhoneNo + 1 ph.no = no ph PhoneNumber = x PhoneData1.Add(ph) PersonData1 [noIndex] CountPhoneNo ++ เพิ่มสินค้าโทรศัพท์คน int indexPer = PersonData1.FindIndex (ผม = > i.PersonNo ==ไม่); ใส่โทรศัพท์ไม่ให้ตารางแฮช InsertHashTable(ph) } อื่น { int phoneN bool isNumberic =ของดอกเบี้ย TryParse (inputPHID ออก phoneN); ขอให้แทนโทรศัพท์ไม่ ถ้า (phoneN < = PersonData1 [noIndex] CountPhoneNo และ & phoneN > 0) { int j = 0 สำหรับ (int ฉัน = 0 ฉัน < PhoneData1.Count; i ++) { ถ้า (PhoneData1 [i] .phoneOrder == phoneN & & PhoneData1 [i] รวด==ไม่มี) { j =ฉัน ทำลาย } } สตริ pp1 สตริ p1 = PhoneData1 [j] PhoneNumber pp1 = p1 p1 = p1 ด้วย (0, 3) + "" + p1 ด้วย (3, 3) + "" + p1 ด้วย (6, 4); สตริ p 2 = x p 2 = p 2 ด้วย (0, 3) + "" + p 2 ด้วย (3, 3) + "" + p 2 ด้วย (6, 4); Console.Write ("คุณต้องการแทน" + PersonData1 [noIndex] ชื่อ + "ของผู้ติดต่อ" + p1 + "กับ" + +Environment.NewLine+ p 2 " ('y' สำหรับใช่ แป้นใด ๆ เพื่อยกเลิก) หรือไม่?: "); สตริ checkR = Console.ReadLine() ถ้า ("yY" Contains(checkR)) { แทนที่เบอร์โทรศัพท์ PhoneData ph1 = PhoneData() ใหม่ ph1.no = no ph1 PhoneNumber = x.Trim() ph1.phoneOrder = phoneN PhoneData1 [เจ] = ph1 PhoneData ph2 = PhoneData() ใหม่ ph2.no = no ph2 PhoneNumber = pp1 ph2.phoneOrder = phoneN เอาตารางแฮชเกี่ยวกับโทรศัพท์ที่ไม่ DeleteHashTable(ph2) แทรกตารางแฮใหม่ของโทรศัพท์นี้ไม่ InsertHashTable(ph1) } } อื่น { ใส่โทรศัพท์ไม่ในตำแหน่งถัดไป PhoneData ph = PhoneData() ใหม่ ph PhoneNumber = x ph.no = no
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
namespace Hw1_Hashing {โปรแกรมเรียนสาธารณะ{คงที่รายชื่อ




PhoneData1 = รายชื่อใหม่(); // ArrayList
สำหรับหมายเลขโทรศัพท์คงที่รายชื่อ PersonData1 = รายชื่อใหม่(); // ArrayList
คนคงแฮHashtable = Hashtable ใหม่ ();
เส้นทางสตริงคงที่ = @ "PhoneBook1.txt"; เป็นโมฆะคง main (String args []) {ลอง{readData (); x ถ่าน; บูล isExit = false; สิ่งที่ต้องทำ{Console.Write ("สมุดโทรศัพท์ - การป้อนคำสั่งของคุณ (h เพื่อขอความช่วยเหลือ):"); มสตริง = Console.ReadLine (); x = char.ToLower (ม [0]); สวิทช์ (x) {กรณี 'i' : แทรก(); // บำบัดใส่หมายเลขโทรศัพท์แบ่ง; กรณี 'D': ลบ (); // ลบหมายเลขโทรศัพท์แบ่ง; กรณี 'M': ปรับเปลี่ยน (); // แก้ไขแบ่ง; กรณีของ ': {การค้นหา (); // โทรศัพท์ค้นหาไม่แบ่ง;} กรณี 'x': {isExit = true; // เขียนข้อมูลไปยัง textfiles writeData (); แบ่ง;} กรณี 'เอช': {ความช่วยเหลือ (); แบ่ง;} ค่าเริ่มต้น: แบ่ง;}} ในขณะที่ (isExit!);} catch (ยกเว้นอดีต) {Console.WriteLine ("ข้อผิดพลาดโปรแกรม:" + ex.Message); Console.Read ();}} แทรกโมฆะคงที่ () {บูลเมตร = false; สตริง x = string.Empty; สตริง newList = "รายการใหม่คือ" ทำ{Console.Write ("ป้อนหมายเลขโทรศัพท์ที่จะแทรก:"); x = Console.ReadLine (); x = x.Trim (); int Y = x.Length; ถ้า (y> 10) Console.WriteLine ("ข้อผิดพลาด - จำนวนยาวเกินไป"); อื่นถ้า (y <10) Console.WriteLine ("ข้อผิดพลาด - จำนวนสั้นเกินไป"); อื่น{เมตร = true; foreach (รายการ PhoneData ใน PhoneData1) {if (String.Compare (item.PhoneNumber, x) == 0) {Console.WriteLine ("ข้อผิดพลาด - หมายเลขโทรศัพท์ที่มีอยู่แล้วในสมุดโทรศัพท์นี้."); ม. = false;}}}} ในขณะที่ (เมตร == เท็จ); Console.WriteLine ("รายการคือ:"); showList (null); // แสดงสำหรับการป้อนข้อมูลใส่คนใหม่หรือไม่Console.Write ("ใส่ รหัสคนที่จะผนวกหมายเลขโทรศัพท์หรือ 'n' สำหรับหมายเลขโทรศัพท์ใหม่: "); สตริง inputNP = Console.ReadLine (); int ไม่มี; // ถ้ามันคนใหม่ถ้า(" nN ".Contains (inputNP)) {คอนโซล.Write ("ป้อนชื่อ (8 ตัวอักษรสูงสุด):"); สตริง inputName = Console.ReadLine (); ในขณะที่ (inputName.Length> 8) {Console.Write ("ชื่อเป็นข้อผิดพลาดที่ 8 ตัวละครโปรดใส่ใหม่ ชื่อ: "); inputName = Console.ReadLine ();} // ใส่ชื่อใหม่PersonData p = PersonData ใหม่ (); p.PersonNo = PersonData1.Count + 1; p.Name = inputName; p.CountPhoneNo ++; PersonData1.Add (P); // ใส่โทรศัพท์มือถือใหม่ไม่มี ในรายการPhoneData ค่า pH = PhoneData ใหม่ (); ph.no = p.PersonNo; ph.PhoneNumber = x; ph.phoneOrder = 1; PhoneData1.Add (pH); // เพิ่มกุญแจสำคัญในการ Hashtable InsertHashTable (pH); // พิมพ์รายการใหม่Console.WriteLine (newList); showList (null);} อื่นถ้า (int.TryParse (inputNP ออกไม่ได้) == จริง) {int noindex = PersonData1.FindIndex (i => i.PersonNo == ไม่ได้) ; // การตรวจสอบมันเต็ม 5 โทรศัพท์ไม่มีบุคคลนั้น// ถ้ามันมีข้อผิดพลาดการแสดงเต็มรูปแบบและใส่แทนที่ไม่มีเปลี่ยนโทรศัพท์ว่าไม่มีถ้า(PersonData1 [noindex] .CountPhoneNo == 5) {Console.Write (PersonData1 [noindex ] .Name + "มี 5 หมายเลขโทรศัพท์แล้ว" + Environment.NewLine + "ใส่หมายเลขแทนที่หรือคีย์ใด ๆ สำหรับการยกเลิก:"); สตริง inputrc = Console.ReadLine (); int tryParseInputRC; // ถ้าไม่ยกเลิกแทนที่โทรศัพท์ที่ไม่มี กับอีกคนหนึ่งถ้า(int.TryParse (inputrc ออก tryParseInputRC)) {// แทนที่และลบที่สำคัญของโทรศัพท์ที่ไม่มี จากตารางแฮช// int indexperson = PersonData1.FindIndex (i => i.PersonNo == PersonData1 [ไม่มี] .PersonNo); PhoneData ค่า pH = ใหม่ PhoneData (); ph.no = ไม่; int indexphone = PhoneData1.FindIndex (i => i.phoneOrder == tryParseInputRC); ph.PhoneNumber = PhoneData1 [indexphone] .PhoneNumber; ph.phoneOrder = tryParseInputRC; PhoneData PH2 = PhoneData ใหม่ (); ph2.no = ph.no; ph2.PhoneNumber = x; PH2 .phoneOrder = ph.phoneOrder; PhoneData1 [indexphone] = PH2; // ลบข้อมูลตารางแฮชDeleteHashTable (pH); // แทรกตารางแฮชใหม่ข้อมูลInsertHashTable (PH2); // แสดงรายชื่อใหม่Console.WriteLine (newList); showList (null);}} อื่น{Console.Write ("ป้อนหมายเลขเปลี่ยนหรือ 'n' สำหรับหมายเลขโทรศัพท์ใหม่:"); สตริง inputPHID = Console.ReadLine (); if ("nN" .Contains (inputPHID)) {/ / เพิ่มหมายเลขโทรศัพท์ใหม่และตำแหน่งPhoneData ค่า pH = PhoneData ใหม่ (); ph.phoneOrder = PersonData1 [noindex] .CountPhoneNo + 1; ph.no = ไม่; ph.PhoneNumber = x; PhoneData1.Add (pH); PersonData1 [noindex ] .CountPhoneNo ++; // รายการโทรศัพท์เพิ่มขึ้นในคนint indexPer = PersonData1.FindIndex (i => i.PersonNo == ไม่มี); // โทรศัพท์แทรกไม่มีกัญชาตารางInsertHashTable (pH);} อื่น{int phoneN; บูล isNumberic = int.TryParse (inputPHID ออก phoneN); // ขอเปลี่ยนโทรศัพท์ no. ถ้า (phoneN <= PersonData1 [noindex] .CountPhoneNo && phoneN> 0) {int เจ = 0; สำหรับ (int i = 0; i <PhoneData1.Count; ฉัน ++) {if (PhoneData1 [ผม] .phoneOrder == phoneN && PhoneData1 [ผม] .no == ไม่ได้) {ญ = ฉัน; แบ่ง;}} PP1 สตริง; สตริง p1 = PhoneData1 [เจ] .PhoneNumber; PP1 = p1 ; p1 = p1.Substring (0, 3) + "" + p1.Substring (3, 3) + "" + p1.Substring (6, 4) สตริง p2 = x; p2 = p2.Substring (0, 3 ) + "" + p2.Substring (3, 3) + "" + p2.Substring (6, 4) Console.Write ("คุณต้องการที่จะเปลี่ยน" + PersonData1 [noindex] .Name + "ของการติดต่อ" + p1 + "ด้วย" + + p2 Environment.NewLine + "('Y' สำหรับใช่ปุ่มใด ๆ เพื่อยกเลิก):"); สตริง checkR = Console.ReadLine (); if ("YY" .Contains (checkR)) {// แทนที่โทรศัพท์ที่ไม่มี. PhoneData PH1 = ใหม่ PhoneData (); ph1.no = ไม่; ph1.PhoneNumber = x.Trim (); ph1.phoneOrder = phoneN; PhoneData1 [เจ] = PH1; PhoneData PH2 = PhoneData ใหม่ (); ph2.no = ไม่; ph2.PhoneNumber = PP1; ph2.phoneOrder = phoneN; // เอาตารางแฮชเกี่ยวกับโทรศัพท์ว่าไม่มี. DeleteHashTable (PH2); // แทรกตารางแฮชใหม่ของโทรศัพท์นี้ไม่มี. InsertHashTable (PH1 );}} อื่น{// โทรศัพท์แทรกในตำแหน่งต่อไปค่าpH = PhoneData PhoneData ใหม่ (); ph.PhoneNumber = x; ph.no = ไม่;





































































































































































































































การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
namespace hw1_hashing
{

โปรแกรมระดับสาธารณะ {

คงรายการ < phonedata > phonedata1 = รายการใหม่ < phonedata > ( ) ; / / arraylist หมายเลขโทรศัพท์
ไฟฟ้าสถิตรายการ < persondata > persondata1 = รายการใหม่ < persondata > ( ) ; / / สำหรับคน arraylist
ไฟฟ้าสถิต HashTable hash ใหม่ = hashtable() ;
ไฟฟ้าสถิต สตริงเส้นทาง = @ " phonebook1 . txt " ;

คงเป็นโมฆะหลัก ( string [ ] มีอาร์กิวเมนต์ )

ลอง

readdata() { { ;
ถ่าน X ;

บูล isexit = เท็จทำ
{
คอนโซล เขียน ( " สมุดโทรศัพท์ - คุณป้อนคำสั่ง ( H ช่วย ) : " ) ;
) M = คอนโซล readline() ;
x = ชาร์ tolower ( m [ 0 ] ) ; เปลี่ยน

( x )

{ : insert() กรณี ' ฉัน ' ; / / ใส่ func หมายเลขโทรศัพท์

กรณีแบ่ง ; ' D ' : delete() ; / / ลบหมายเลขโทรศัพท์

แบ่ง ; กรณี ' ' : modify() ; / / แก้ไข

แบ่ง ; กรณี ' s ' { :

search() ; โทรศัพท์ / / ไม่มีการค้นหา


กรณีแบ่ง ; } ' X ' :
{

isexit = true ;/ / เขียนข้อมูลที่จะ textfiles

writedata() ; แบ่ง ;
}
กรณี ' H ' :
{


} help() ; แบ่ง ; เริ่มต้นแบ่ง ; } :



} ในขณะที่ ! isexit ) ;
}
จับ ( ยกเว้นอดีต )
{
คอนโซล writeline ( โปรแกรม " ข้อผิดพลาด : " ex.message ) ;
คอนโซล read() ;
}
}

คงเป็นโมฆะ insert()
{
บูล M = false ;
) X = สตริงสตริงที่ว่างเปล่า ;
newlist = " รายการใหม่ : " ; {


ทำคอนโซล เขียน ( " ระบุหมายเลขโทรศัพท์ที่จะแทรก :" ) ;
x = คอนโซล readline() ;
x = x trim() ;
1 y = x ความยาว ;
( ถ้า Y > 10 )
คอนโซล writeline ( ข้อผิดพลาด - หมายเลขที่ยาวเกินไป " ) ;
อีกถ้า ( y < 10 )
คอนโซล writeline ( ข้อผิดพลาด - หมายเลข จะสั้นเกินไป " ) ;
อีก
{
M = true ;
foreach ( phonedata รายการใน phonedata1 )
{

ถ้า ( ข้อความ เปรียบเทียบ ( item.phonenumber , X ) = = 0 )
{
คอนโซล writeline ( ข้อผิดพลาด - เบอร์โทรศัพท์อยู่ในมือถือหนังสือ . " ) ;
M = false ;




} } } } ในขณะที่ ( M = = เท็จ ) ;

คอนโซล writeline ( " รายการ : " ) ;
showlist ( null ) ;

/ / แสดงเข้าใส่คนใหม่หรือไม่
คอนโซล เขียน ( " ใส่รหัสบุคคล ผนวกหมายเลขโทรศัพท์หรือ ' n ' ใหม่ เบอร์โทร : " ) ;
สตริง inputnp = คอนโซล readline() ;
1 ไม่มี ;
/ / ถ้ามัน
คนใหม่ถ้า ( " nn " ประกอบด้วย ( inputnp )
{
คอนโซล เขียน ( " ใส่ชื่อ ( 8 ตัวอักษรสูงสุด ) :
" ) ;สาย inputname = คอนโซล readline() ;
ในขณะที่ ( inputname.length > 8 )
{
คอนโซล เขียน ( ข้อผิดพลาด " ชื่อมากกว่า 8 ตัวอักษร กรุณาป้อนชื่อใหม่ " ) ;
inputname = คอนโซล readline() ;
}

/ / ใส่ชื่อใหม่
persondata P = ใหม่ persondata() ;
p.personno = persondata1 นับ 1 ;
หน้าชื่อ = inputname p.countphoneno ;
;
persondata1 เพิ่ม ( P )

/ / เบอร์โทรศัพท์ใส่ใหม่
รายการphonedata pH ใหม่ = = p.personno ph.no phonedata() ;
;
ph.phonenumber = x ;
ph.phoneorder = 1 ;
phonedata1 เพิ่ม ( pH ) ;

/ / เพิ่มคีย์ HashTable
inserthashtable ( pH ) ;
/ / พิมพ์รายการใหม่
คอนโซล writeline ( newlist ) ;

showlist ( null ) }
อีกถ้า ( int.tryparse ( inputnp ออกมาไม่มี ) = = true )
{
INT Ѻ = persondata1 . findindex ( ฉัน = > i.personno = = ไม่ ) ;
/ / ตรวจสอบมันเต็ม 5 โทรศัพท์ไม่มีคนคนนั้น
/ / ถ้ามันเต็มแสดงข้อผิดพลาดและเข้าแทนที่เพื่อแทนที่ไม่มีโทรศัพท์ไม่มี
ถ้า ( persondata1 [ Ѻ ] countphoneno = = 5 ) {

คอนโซล เขียน ( persondata1 [ Ѻ ] . ชื่อ " มี 5 หมายเลขโทรศัพท์แล้ว " environment.newline " เข้ามาแทนที่ตัวเลขหรือคีย์ใด ๆเพื่อยกเลิก : " ) ;
) inputrc = คอนโซล readline() ;
1 tryparseinputrc ;
/ / ถ้าไม่ยกเลิกแทนที่โทรศัพท์ไม่ไปอีกหนึ่ง
ถ้า ( Int .tryparse ( inputrc ออก tryparseinputrc )
{
/ / แทนที่และลบคีย์ที่โทรศัพท์หมายเลขจากตารางแฮช
/ / int indexperson = persondata1 . findindex ( ฉัน = > i.personno = = persondata1 [ ไม่ ] personno ) ;
phonedata pH = ใหม่ phonedata() ;
ph.no = ไม่ ;
1 indexphone = phonedata1 . findindex ( ฉัน = > i.phoneorder = = tryparseinputrc ) ;
ph.phonenumber = phonedata1 [ indexphone ] phonenumber ;
.phoneorder = tryparseinputrc ;

phonedata PH2 ใหม่ = = ph.no ph2.no phonedata() ;
;
ph2.phonenumber = x ;
ph2.phoneorder ph.phoneorder = [ ] = ;
phonedata1 indexphone PH2 ;

/ / ลบข้อมูลตาราง hash deletehashtable
( pH ) ;

/ / แทรกตารางข้อมูล ( แฮกใหม่
inserthashtable PH2 )

/ / แสดงรายการ
คอนโซลใหม่ writeline ( newlist ) ;
showlist ( null ) ;
} {

}

คนอื่นคอนโซลเขียน ( " เข้ามาแทนที่หมายเลขหรือ ' n ' ใหม่ เบอร์โทร : " ) ;
สตริง inputphid = คอนโซล readline() ;
( ถ้า " nn " ประกอบด้วย ( inputphid )
{
/ / เพิ่มเบอร์ใหม่และตำแหน่ง
phonedata pH = ใหม่ phonedata() ;
ph.phoneorder = persondata1 [ Ѻ ] countphoneno 1 ;
ph.no = ไม่ ;
ph.phonenumber = x ;
phonedata1 เพิ่ม ( pH ) ;

persondata1 [ Ѻ ] countphoneno ;
/ / เพิ่มสินค้าในบุคคล
โทรศัพท์1 indexper = persondata1 . findindex ( ฉัน = > i.personno = = ไม่ ) ;

/ / ใส่โทรศัพท์ไม่มีตารางแฮช
inserthashtable ( pH ) ;
} {


อีก 1 phonen ;
บูล isnumberic = int.tryparse ( inputphid ออก phonen ) ;
/ / ถามแทน
ถ้าโทรศัพท์ไม่ ( phonen < = persondata1 [ Ѻ ] countphoneno && phonen > 0 )
{
1 j = 0 ;
( int i = 0 ; i < phonedata1 นับ ; I )
{
ถ้า ( phonedata1 [ ฉัน ]phoneorder = = phonen && phonedata1 [ i ] . = = ไม่มี )
{
J = I ;

}

แบ่ง ; } pp1 สตริงสตริง ;
P1 = phonedata1 [ J ] phonenumber pp1 = P1
;
; P1 = P1 . ข้อความ ( 0 , 3 ) " " P1 . ข้อความ ( 3 , 3 ) " " P1 . ข้อความ ( 6 , 4 ) ;
) P2 = x ;
P2 = P2 . ข้อความ ( 0 , 3 ) " " P2 . ข้อความ ( 3 , 3 ) " " P2 . ข้อความ ( 6 , 4 ) ;
คอนโซล เขียน ( " คุณต้องการ เพื่อแทนที่ " persondata1 [ Ѻ ]ชื่อ " ติดต่อ " " กับ " " P1 P2 environment.newline ( 'y ' ครับ คีย์ใด ๆเพื่อยกเลิก ) : " ) ;
สตริง checkr = คอนโซล readline() ;
( ถ้า " YY " ประกอบด้วย ( checkr )
{
/ / แทนที่โทรศัพท์หมายเลข
phonedata ph1 ใหม่ = phonedata() ;
ph1.no = ไม่ ;
ph1.phonenumber = x = phonen ph1.phoneorder trim() ;
;
phonedata1 [ j ] = ph1 ;

phonedata PH2 ใหม่ = phonedata() ;
ph2.no = ไม่ ; ph2.phonenumber = pp1

;ph2.phoneorder = phonen ;

/ / ลบตาราง hash เกี่ยวกับโทรศัพท์หมายเลข
deletehashtable ( PH2 ) ;

/ / แทรกใหม่ตารางแฮชของโทรศัพท์นี้ . .
inserthashtable ( ph1 ) ;
} {

}

อีก / / ใส่โทรศัพท์ไม่มีหน้าในตำแหน่งใหม่ phonedata() phonedata pH =

; ph.phonenumber = x ;

ph.no = ไม่มี
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2025 I Love Translation. All reserved.

E-mail: