C# programok ismertetése érdeklődőknek kezdőktől haladókig

C# MŰHELY

C# MŰHELY

SZTRING: Szövegből rész szöveg kimásolása

2022. április 11. - Benkő Tiborné

Írjunk programot, amely a megadott szövegből rész szöveget másol ki. 

A feladat megoldása:

               private void Kimasol_Click(object sender, EventArgs e)
       { 
            string s1, s2;
            int kezdo_pozicio, db;
            if (textBox1.Text != "" && textBox2.Text != "" &&
                textBox3.Text != "")
            {
                s1 = textBox1.Text;
                kezdo_pozicio = Int32.Parse(textBox2.Text);
                db =Int32.Parse( textBox3.Text);
                if (kezdo_pozicio + db > s1.Length)
                {
                    MessageBox.Show("Adathiba", "Figyelmeztetés",
                                     MessageBoxButtons.OK);
                    textBox2.Text = "";
                    textBox3.Text = "";
               }
               else
               {
                   s2 = s1.Substring(kezdo_pozicio, db);
                   textBox4.Text = s2;
               }
           }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            textBox4.Text = ""; textBox2.Text = "";
            textBox3.Text = "";
       }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
             textBox4.Text = "";
        }

        private void textBox3_TextChanged(object sender, EventArgs e)
        {
             textBox4.Text = "";
        }

A program futási eredményei:

    

    

SZTRING: Írásjelek figyelése és helyettesítése **-gal

Írjunk programot, amely figyeli az írásjeleket és helyettesíti két csillaggal.

A feladat megoldása.

                       private void Végrehajt_Click(object sender, EventArgs e)
        {
            string s1;  
            char [] irasjel = {',', '.', '!', '?'};
            char c;
            int h1=0;
            string s3 = " ** ";
            if (textBox1.Text != "" )
            {
                s1 = textBox1.Text;
                do
                {
                    h1 = s1.IndexOfAny(irasjel);
                    c = s1[h1];
                    if (c != '.')
                    {
                        s1 = s1.Remove(h1, 1);
                        s1 = s1.Insert(h1, s3);
                    }
                } while (c != '.'); 
                textBox2.Text = s1;
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
             textBox2.Text = "";
        }

A program futási eredménye:

SZTRING: Karakter és szövegrész pozíciójának keresése szövegben

Írjunk programot, amely karakter és szövegrész pozícióját megkeresi a szövegben.

A feladat megoldása:

        private void Keres_Click(object sender, EventArgs e)
        {
            string s1, ks2;
            char c;
            int h1, h2;
            if (textBox1.Text != "" && textBox2.Text != "" &&
                textBox4.Text != "")
            {
                s1 = textBox1.Text;
                c = Char.Parse(textBox2.Text);
                ks2 = textBox4.Text;
                h1 = s1.IndexOf(c);
                h2 = s1.IndexOf(ks2);

                if (h1 == -1)
                    textBox3.Text = "nem talált";
                else
                    textBox3.Text = h1.ToString();

                if( h2 == -1)
                    textBox5.Text = "nem talált";
                else
                    textBox5.Text = h2.ToString();
            }

         }

         private void textBox2_TextChanged(object sender,
                                           EventArgs e)
         {
             textBox3.Text = "";
         }

         private void textBox4_TextChanged(object sender,
                                           EventArgs e)
         {
             textBox5.Text = "";
         }

A program futási eredményei:

    

 

SZTRING: Szövegből részszöveg kimásolása kétféle módon

Írjunk programot, amely szövegből részszöveget kimásol kétféle módon.

A feladat megoldása:

                  private void Vegrehajt_Click_1(object sender, EventArgs e)
        {
            string s1, resz_s1, resz_s2;
            int honnan1, honnan2, mennyit, hossz;
            if (textBox1.Text != "" && textBox2.Text != "" &&
                textBox4.Text != ""
 && textBox5.Text != "")
            {
                s1 = textBox1.Text;
                hossz = s1.Length;          
                honnan1 = Int32.Parse(textBox2.Text);
                if (honnan1 > hossz)
                    textBox3.Text = "Hibás adat!";
                else
                {
                    resz_s1 = s1.Substring(honnan1);
                    textBox3.Text = resz_s1;
                }
                honnan2 = Int32.Parse(textBox4.Text);
                mennyit = Int32.Parse(textBox5.Text);
                if (honnan2 > hossz)
                    textBox6.Text = "Hibás adat!";
                else
                {
                    resz_s2 = s1.Substring(honnan2, mennyit);
                    textBox6.Text = resz_s2;                        
                }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            textBox3.Text = "";
            textBox6.Text = "";
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
             textBox3.Text = "";
        }

        private void textBox4_TextChanged(object sender, EventArgs e)
        {
             textBox6.Text = "";
        }

        private void textBox5_TextChanged(object sender, EventArgs e)
        {
             textBox6.Text = "";
        }

A program futási eredményei:

    

SZTRING: Szövegből szövegrész törlése

Írjunk programot, amely szövegből szövegrészt töröl.

A program megoldása:

        private void Torles_Click(object sender, EventArgs e)
        {
            string s1, s2;
            int honnan, mennyit, hossz;
            if (textBox1.Text != "" && textBox2.Text != "" &&
                textBox3.Text != "")
            {
                s1 = textBox1.Text;
                honnan = Int32.Parse(textBox2.Text);
                mennyit = Int32.Parse(textBox3.Text);
                hossz = s1.Length;
                if (honnan+mennyit > hossz)
                    textBox4.Text = "hibás a törlési adat";
                else
                {
                    s2 = s1.Remove(honnan, mennyit);
                    textBox4.Text = s2;
                }
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
             textBox4.Text = "";
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
             textBox4.Text = "";
        } 

        private void textBox3_TextChanged(object sender, EventArgs e)
        {
             textBox4.Text = "";
        }

A program futásának eredményei:

   

SZTRING: Szöveg beszúrása adott pozícióba

Írjunk programot, amely az adott szövegbe egy megadott pozícióba szöveget szúr be.

A feladat megoldása:

         private void Beszuras_Click(object sender, EventArgs e)
         {
            string s1, s2, s3;
            int pozicio, hossz;
            if (textBox1.Text != "" && textBox2.Text != "" &&
                textBox3.Text != "")
            {
                s1 = textBox1.Text;
                s2 = textBox2.Text;
                pozicio = Int32.Parse(textBox3.Text);
                hossz = s1.Length;
                if (pozicio > hossz)
                    textBox4.Text = "hibás a pozició";
                else
                {
                    s3 = s1.Insert(pozicio,s2);
                    textBox4.Text = s3;
                }
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
             textBox4.Text = "";
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
             textBox4.Text = "";
        }

        private void textBox3_TextChanged(object sender, EventArgs e)
        {
             textBox4.Text = "";
        }

A program futási eredményei:

   

 

SZTRING: Felsorolt nevek szétválasztása, ABC szerint rendezése

Olvassunk be keresztneveket vesszővel elválasztva a Keresztnevek szövegablakból, a Szavakra bontás nyomógomb a keresztneveket a Keresztnevek listája listaablakba külön tételként helyezze el. A Rendez  nyomógomb Abécé szerint rendezze a neveket.

A program megoldása:

        private void Bontás_Click(object sender, EventArgs e)
        {
            string s1 = "";
            if (textBox1.Text != "")
            {
                s1 = textBox1.Text;
                string[] Szavak = s1.Split(',', ' ');
                listBox1.Items.Clear();
                foreach (string s in Szavak)
                {
                     if (s != "")
                        listBox1.Items.Add(s);
                }
            }
        }

        private void Rendez_Click(object sender, EventArgs e)
        {
            int db = 10, aktdb;
            string temp;
            string[] nevek = new string[db];
            aktdb = listBox1.Items.Count;
            for (int i = 0; i < aktdb; i++)
            {
                nevek[i] = listBox1.Items[i].ToString();
            }

            for (int i = 0; i < aktdb-1; i++)
                for (int j = i + 1; j < aktdb; j++)
                {
                    if (String.Compare(nevek[i], nevek[j]) == 1)
                    {
                        temp = nevek[i];
                        nevek[i] = nevek[j];
                        nevek[j] = temp;
                    }
                }

            for (int i = 0; i < aktdb; i++)
            {
                listBox2.Items.Add(nevek[i]);          
            }
        }

A program futási eredménye:

SZTRING: Vesszővel elválasztott neveket listaablakba helyezi el

Olvassunk be keresztneveket vesszővel elválasztva a Keresztnevek szövegablakból, a Szavakra bontás nyomógomb a keresztneveket a Keresztnevek listája listaablakba külön tételként helyezze el.

A feladat megoldása:

            private void button1_Click(object sender, EventArgs e)
        {
            string s1 = "";
            if (textBox1.Text != "")
            {
                s1 = textBox1.Text;
                string[] Szavak = s1.Split(',',' ');
                listBox1.Items.Clear();
                foreach(string s in Szavak)
                {
                    if( s != "")
                      listBox1.Items.Add(s);
                }
            }
        }

A program futási eredménye:

 

SZTRING: Egy mondat adott karakterének cseréje és kisbetűs kiírása

Olvassunk be egy mondatot  és két karaktert. A Mit  karaktert lecseréljük a Mire karakterre a mondatban  a Cserél nyomógombbal és jelenítsük meg a Módosított mondat szövegablakban  A Kisbetűvé nyomógombbal a javított szöveget alakítsuk át kisbetűvé és jelenítsük a Kisbetűs szöveg szövegablakban.

A feladat megoldása:

            string s1, s2;
        private void button1_Click(object sender, EventArgs e)
        {
            char c1, c2;
            if (textBox1.Text != "" && textBox2.Text != "" &&
                textBox3.Text != "")
            {
                s1 = textBox1.Text;
                c1 = Char.Parse(textBox2.Text);
                c2 = Char.Parse(textBox3.Text);
                s2 = s1.Replace(c1, c2);
                textBox4.Text = s2;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string s3;
            s3 = s2.ToLower();
            textBox5.Text = s3;
        }

 

A program futási eredménye:

SZTRING: Személynév keresztnevének cseréje

Olvassunk be egy személy nevet, valamint a keresztnév kezdőpozícióját és darabszámát, majd a Keresztnév törlése nyomógombbal töröljük a teljes névből és jelenítsük meg a Név keresztnév nélkül szövegablakban. Olvassunk be egy új keresztnevet és a megmaradt vezetéknévvel az Új teljes név nyomógombbal fűzzük össze és jelenítsük meg az Új teljes név szövegablakban.

 A feladat megoldása:

           string teljes1, keresztnev, vezeteknev, teljes2;

        private void Torles_Click(object sender, EventArgs e)
        {
            int kpoz, mennyit;
            if (textBox1.Text != "" && textBox2.Text != "" &&
                textBox3.Text != "")
            {
                teljes1 = textBox1.Text;
                kpoz = Int32.Parse(textBox2.Text);
                mennyit = Int32.Parse(textBox3.Text);
                vezeteknev = teljes1.Remove(kpoz, mennyit);
                textBox4.Text = vezeteknev;
            }
        }

        private void Összefűz_Click(object sender, EventArgs e)
        {
            if (textBox5.Text != "")
            {
                keresztnev = textBox5.Text;
                teljes2 = String.Concat(vezeteknev, keresztnev);
                textBox6.Text = teljes2;
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            textBox4.Text = "";
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            textBox4.Text = "";
        }

        private void textBox3_TextChanged(object sender, EventArgs e)
        {
            textBox4.Text = "";
        }

        private void textBox5_TextChanged(object sender, EventArgs e)
        {
            textBox6.Text = "";
        }

A program futási eredménye:

 

süti beállítások módosítása