KONU : C Sharp Uygulamalar - C Sharp ( C# ) Konsol Uygulamaları Telefon rehberi uygulaması. C Sharp konsol ekranından personel ismi ve soyadını yazarak programa girme. Personelin telefon numarasını konsoldan girme. C sharp da girilen personel bilgilerini konsol ekranına yazdırma. Personel listesi telefon numarasına göre sıralama. Girilen Personel listesini personel ismine göre sıralama. C sharp while döngüsü kullanımı. C sharp if else örnekleri ve kullanımı.
ETİKETLER: c sharp konsol - c sharp streamreader - c sharp streamwriter - c sharp telefon rehberi
UYGULAMAYI İNDİR
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace C_Sharp_Konsol_Telefon_Rehberi
{
class Program
{
static string dosya = "TelefonRehberi.txt";
static private void menu()
{
Console.WriteLine("======= Menu =======\n");
Console.WriteLine("[1] isim listesi");
Console.WriteLine("[2] yeni isim gir");
Console.WriteLine("[3] cikis yap");
Console.Write("\nSeciminiz: ");
}
static Dictionary < int, string > telefonRehberList = new Dictionary < int, string >();
static private void dosyayiOku()
{
if (File.Exists(dosya))
{
string[] isimler = File.ReadAllLines(dosya);
telefonRehberList.Clear();
for (int i = 0; i < isimler.Length; i++)
{
string[] satir = isimler[i].Split('-');
telefonRehberList.Add( int.Parse(satir[1].Trim()),satir[0].Trim());
}
var list = telefonRehberList.Keys.ToList();
Console.WriteLine("\n--- isim listesi------------Tel---\n\n");
var items = from pair in telefonRehberList
orderby pair.Key ascending
select pair;
foreach (KeyValuePair pair in items)
{
WriteAt(pair.Key.ToString(), Console.CursorLeft, Console.CursorTop);
WriteAt(pair.Value, 28, Console.CursorTop);
Console.WriteLine();
}
}
}
protected static void WriteAt(string yazi, int x, int y)
{
try
{
Console.SetCursorPosition(x, y);
Console.Write(yazi);
}
catch (ArgumentOutOfRangeException e)
{
Console.Clear();
Console.WriteLine(e.Message);
}
}
static private void dosyayaYaz(string yazilacakIsim, string yazilacakTelefon)
{
using (StreamWriter sw = new StreamWriter(dosya, true))
{
sw.WriteLine(yazilacakIsim + " - " + yazilacakTelefon);
sw.Close();
}
}
static void Main(string[] args)
{
char secim = '0';
do
{
menu();
try
{
secim = Convert.ToChar(Console.ReadLine());
switch (secim)
{
case '1':
dosyayiOku();
break;
case '2':
string isim = "";
string telefon = "";
Console.WriteLine("İsim giriniz.");
isim = Console.ReadLine();
Console.WriteLine("Telefon Giriniz");
telefon = Console.ReadLine();
dosyayaYaz(isim, telefon);
break;
case '3':
break;
default:
Console.WriteLine("Yanlis secim yaptiniz!!!");
break;
}
}
catch (Exception)
{
}
} while (secim != '3');
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace C_Sharp_Konsol_Telefon_Rehberi
{
class Program
{
static string dosya = "TelefonRehberi.txt";
static private void menu()
{
Console.WriteLine("======= Menu =======\n");
Console.WriteLine("[1] isim listesi");
Console.WriteLine("[2] yeni isim gir");
Console.WriteLine("[3] cikis yap");
Console.Write("\nSeciminiz: ");
}
static Dictionary < int, string > telefonRehberList = new Dictionary < int, string >();
static private void dosyayiOku()
{
if (File.Exists(dosya))
{
string[] isimler = File.ReadAllLines(dosya);
telefonRehberList.Clear();
for (int i = 0; i < isimler.Length; i++)
{
string[] satir = isimler[i].Split('-');
telefonRehberList.Add( int.Parse(satir[1].Trim()),satir[0].Trim());
}
var list = telefonRehberList.Keys.ToList();
Console.WriteLine("\n--- isim listesi------------Tel---\n\n");
var items = from pair in telefonRehberList
orderby pair.Key ascending
select pair;
foreach (KeyValuePair pair in items)
{
WriteAt(pair.Key.ToString(), Console.CursorLeft, Console.CursorTop);
WriteAt(pair.Value, 28, Console.CursorTop);
Console.WriteLine();
}
}
}
protected static void WriteAt(string yazi, int x, int y)
{
try
{
Console.SetCursorPosition(x, y);
Console.Write(yazi);
}
catch (ArgumentOutOfRangeException e)
{
Console.Clear();
Console.WriteLine(e.Message);
}
}
static private void dosyayaYaz(string yazilacakIsim, string yazilacakTelefon)
{
using (StreamWriter sw = new StreamWriter(dosya, true))
{
sw.WriteLine(yazilacakIsim + " - " + yazilacakTelefon);
sw.Close();
}
}
static void Main(string[] args)
{
char secim = '0';
do
{
menu();
try
{
secim = Convert.ToChar(Console.ReadLine());
switch (secim)
{
case '1':
dosyayiOku();
break;
case '2':
string isim = "";
string telefon = "";
Console.WriteLine("İsim giriniz.");
isim = Console.ReadLine();
Console.WriteLine("Telefon Giriniz");
telefon = Console.ReadLine();
dosyayaYaz(isim, telefon);
break;
case '3':
break;
default:
Console.WriteLine("Yanlis secim yaptiniz!!!");
break;
}
}
catch (Exception)
{
}
} while (secim != '3');
}
}
}
static Dictionary telefonRehberList = new Dictionary();
YanıtlaSilsatırında hata veriyor
using System.Collections.Generic;
Silsatırını uygulamana ekledin mi?
using System.Collections.Generic; eklememe rağmen bu hatayı yine veriyor.
SilProgramındaki bütün "Static" leri silip bir dene. Hata mesajını da yazarsan daha kolay yardımcı olabilirim
Silyinede olmuyor
YanıtlaSilSorunu yani hata mesajını yazın ona göre inceleyeyim. Uygulamayı indirip çalıştırıyorum bende hiç bir sorun yok. Siz uygulamayı form uygulamada mı çalıştıyorsunuz?
YanıtlaSilaynı hata bendede veriyor , Console app de çalıştırıyorum birde
SilŞimdi sorunu anladım. dictionary sınıfı 2 tip argüman olması gerekiyor: < int, string > . Ama sayfa içine kopyala yağıştır yapınca bu argümanları tag zannettiği için sayfada görünmüyormuş. Şimdi aralarına boşluk koyarak güncelledim ve sayfada görünüyor. Teşekkürler geri dönüş için :)
Sil