Şu anda C# öğreniyorum ve öğrenmek için okuyorum kitaptan egzersizleri biri kendi kelime ve tanımları ekleyebilirsiniz hangi bir sözlük konsolu programı yapmaktır. Kullanıcı kelimeyi girdiğinde ve söz konusu sözcük için tanımlandığında, her birinde farklı bir metin dosyasına koyuyorum. Benim sahip olduğum problem, kullanıcılar daha önce eklediği bir kelimeyi ararken, ilgili kelimeyi bu kelimeyi karşılık gelen bir tanımla basmak için programa ihtiyaç duyuyorlar. Bu yüzden, tanımların metin dosyasında, bu kelimenin başındaki ve sonundaki karşılık gelen tanımın nerede olduğunu bilmek için programa ihtiyacım var, ve sonra bunu yazdır. Bu mümkün ise veya bilmiyorumMetni bir .txt dosyasından başka bir metinle başka bir .txt dosyasından bağlayabilir miyim? C#
evet orada aynı sonucu elde etmek için daha iyi bir yol var ama eğer ...
Üzgünüm Anlatabildim Sadece öğrenmeye başladım yapmadığı durumlarda: Şunları yapabilirsiniz
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApplication8
{
class Program
{
#region Static variables and stuff
static string palabra;
static string definicion;
static string PalabrasContenido;
static string DefinicionesContenido;
static int opcion;
static bool palabraborrada = false;
static bool palabraborrada0 = false;
static FileStream PalabraStream = new FileStream("Palabras.txt", FileMode.Append);
static FileStream DefinicionStream = new FileStream("Definiciones.txt", FileMode.Append);
static byte[] PalabraBytes = new byte[100];
static byte[] DefinicionBytes = new byte[5000];
//static StreamReader PalabrasSR = new StreamReader("C:\\Users\\Dani\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication8\\ConsoleApplication8\\bin\\Debug\\Palabras.txt");
#endregion
static void ShowMenu()
{
Console.WriteLine("________________________________________________________");
Console.WriteLine("");
Console.WriteLine("Por favor escoje tu opcion.");
Console.WriteLine("________________________________________________________");
Console.WriteLine("");
Console.WriteLine("1 - Agregar palabra.");
Console.WriteLine("2 - Buscar palabra.");
Console.WriteLine("3 - Mostrar palabras.");
Console.WriteLine("4 - Borrar palabra.");
Console.WriteLine("5 - Salir.");
}
static void AskChoice()
{
Console.WriteLine("");
Console.WriteLine("");
int.TryParse(Console.ReadLine(), out opcion);
}
static void AddWord()
{
PalabrasContenido = File.ReadAllText("C:\\Users\\Dani\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication8\\ConsoleApplication8\\bin\\Debug\\Palabras.txt");
PalabraStream = new FileStream("Palabras.txt", FileMode.Append);
DefinicionStream = new FileStream("Definiciones.txt", FileMode.Append);
Console.Clear();
Console.WriteLine("Ingresa palabra a agregar...\n");
palabra = Console.ReadLine().ToLower() + " ";
Console.WriteLine("");
if (PalabrasContenido.Contains(palabra))
{
Console.Clear();
Console.WriteLine("\n--La palabra '{0}' ya existe en El Diccionario.--\n", palabra);
Console.WriteLine("Volviendo al menu...");
Thread.Sleep(3000);
}
else
{
Console.WriteLine("Ingresa definicion...\n");
definicion = Console.ReadLine() + " ";
Console.WriteLine("");
PalabraStream.Write(Encoding.ASCII.GetBytes(palabra), 0, palabra.Length);
DefinicionStream.Write(Encoding.ASCII.GetBytes(definicion), 0, definicion.Length);
PalabraStream.Close();
DefinicionStream.Close();
Console.Clear();
Console.WriteLine("--La palabra ha sido agregada con exito--\n");
Console.WriteLine("Volviendo al menu...");
Thread.Sleep(3000);
}
}
static void SearchWord()
{
PalabrasContenido = File.ReadAllText("C:\\Users\\Dani\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication8\\ConsoleApplication8\\bin\\Debug\\Palabras.txt");
DefinicionesContenido = File.ReadAllText("C:\\Users\\Dani\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication8\\ConsoleApplication8\\bin\\Debug\\Definiciones.txt");
Console.Clear();
Console.WriteLine("Ingresa palabra a buscar...\n");
palabra = Console.ReadLine().ToLower();
if (PalabrasContenido.Contains(palabra))
{
PalabraStream = new FileStream("Palabras.txt", FileMode.Open);
Console.Clear();
Console.WriteLine("\nDefinicion de: {0}", palabra);
Console.WriteLine("________________________________________________________\n");
Console.WriteLine("{0}", definiciones[palabra]);
Console.WriteLine("________________________________________________________\n");
Console.WriteLine("Pulsa enter para continuar...");
Console.ReadLine();
PalabraStream.Close();
}
else
{
Console.Clear();
Console.WriteLine("\n--La palabra ingresada no ha sido encontrada--\n");
Console.WriteLine("Pulsa enter para continuar...");
Console.ReadLine();
Console.WriteLine("");
}
}
static void ShowWords()
{
Console.Clear();
PalabraStream = new FileStream("Palabras.txt", FileMode.Open);
if (PalabraStream.Length > 0)
{
Console.WriteLine("________________________________________________________\n");
Console.WriteLine("Palabras encontradas:");
Console.WriteLine("________________________________________________________\n");
PalabraStream.Read(PalabraBytes, 0, (int)PalabraStream.Length);
Console.WriteLine(Encoding.ASCII.GetString(PalabraBytes));
PalabraStream.Close();
Console.WriteLine("\n\nPulsa enter para continuar...");
Console.ReadLine();
}
else
{
Console.WriteLine("________________________________________________________\n");
Console.WriteLine("Palabras encontradas:");
Console.WriteLine("________________________________________________________\n");
Console.WriteLine("\n--No se han encontrado palabras.--\n");
Console.WriteLine("Pulsa enter para continuar...");
PalabraStream.Close();
Console.ReadLine();
Console.WriteLine("");
}
}
static void DeleteWord()
{
Console.Clear();
Console.WriteLine("\nIngresa palabra a borrar...\n");
palabra = Console.ReadLine().ToLower();
palabraborrada = definiciones.Remove(palabra);
palabraborrada0 = diccionario.Remove(palabra);
if (palabraborrada == true && palabraborrada0 == true)
{
Console.Clear();
Console.WriteLine("\n--La palabra ha sido borrada con exito.--\n");
Console.WriteLine("Volviendo al menu...");
Thread.Sleep(3000);
}
else
{
Console.Clear();
Console.WriteLine("\n--La palabra no existe.--\n");
Console.WriteLine("Volviendo al menu...");
Thread.Sleep(3000);
}
}
static void Exit()
{
Console.Clear();
Console.WriteLine("\n--Gracias por usar El Diccionario.--\n");
Console.WriteLine("Pulsa enter para continuar...");
Console.ReadLine();
Console.WriteLine("");
}
static void InvalidInput()
{
Console.WriteLine("\n--Opcion invalida.--\n");
Console.WriteLine("Pulsa enter para continuar...\n");
Console.ReadLine();
}
static void Main(string[] args)
{
Console.WriteLine("Bienvenido a Tu diccionario.\n");
PalabraStream.Close();
DefinicionStream.Close();
do
{
//Presentar menu y limpiar consola
Console.Clear();
ShowMenu();
//Pedir opcion
AskChoice();
if (opcion == 1)
{
//Añadir palabra
AddWord();
}
if (opcion == 2)
{
//Buscar palabra
SearchWord();
}
if (opcion == 3)
{
//Mostrar palabras
ShowWords();
}
if (opcion == 4)
{
DeleteWord();
}
if (opcion == 5)
{
Exit();
}
if (opcion > 5 || opcion < 1)
{
InvalidInput();
}
}
while (opcion != 5);
}
}
}
Düzenlemenizi geri çevirdim. Eğer yeni kodunuzu bir çözüm olarak göndermek istiyorsanız, bunu tıpkı başkaları gibi bir cevap olarak yazarak doğru şekilde yapın. ** ** sorunuzu ** yanıtlamak için ** sorunuzu düzenlemek uygun değildir. Burada kendi sorunuzu cevaplamak kabul edilebilir - aslında, nasıl yapılacağına adanmış bir [yardım/cevap] bölümü var. –