Rastgele kişi seçen program nasıl yazılır?

enesaak

Hectopat
Katılım
23 Ocak 2021
Mesajlar
1.249
Makaleler
1
Çözümler
19
Daha fazla  
Cinsiyet
Erkek
Meslek
Öğrenci
İyi günler herkese. Başlık pek açık olmayabilir. Sınıftaki bir projem için bir programa ihtiyacım var. Kendimde kodlayabilirim fakat nasıl yapacağımı bilmiyorum. Programa 38 kişinin adını yazacağım ve butona her tıkladığımda ekrana rastgele birisinin adı çıkacak. Acaba bunu nasıl yapabilirim?
 
Kod:
#include <cstdlib>
#include <iostream>
#include <string>
#include <fstream>
#include <time.h>
 
using namespace std;

 
int
main ()
{
 
ifstream myFile;
 
myFile.open ("isimler.txt");
 
string isimler[38];        // sinif ogrenci sayisi
  string randomNames[37];    //
  int a = 0;
 
int randNum;
 
while (myFile.good ())
    {
     
getline (myFile, isimler[a]);    //
      a++;
   
}
 
for (int i = 0; i < 1; i++)
    {                // tek seferde verecegi isim sayisi
      srand (time (NULL));    //
      randNum = rand () % 37 + 1;    //
      randomNames[i] = isimler[randNum];
 
}
for (int i = 0; i < 20; i++)
    {
     
cout << randomNames[i] << endl;    //
    }
myFile.close ();
 
system ("pause");

}

Kod:
#include <windows.h>
#include <cstdlib>
#include <iostream>
#include <string>
#include <fstream>
#include <time.h>

using namespace std;

int main() {
ifstream myFile;
myFile.open("isimler.txt");
string names[38]; // sinif ogrenci sayisi
string randomNames[37];//
int a = 0;
int randNum;
while (myFile.good()){
getline(myFile, isimler[a]); //
a++;
}
for (int i = 0; i < 1; i++) { // tek seferde verecegi isim sayisi
srand( time(NULL) ); //
randNum = rand() % 37 + 1; //
randomNames[i] = names[randNum];
}
for (int i = 0; i < 20; i++) {
cout << randomNames[i] << endl; //
}
myFile.close();
system("pause");
}
Ne kadar doğru bilemiyorum isimler.txt içine isimleri yerleştirip dener misin? Üstteki beauty hali.
 
1637584842642.png

Kişileri ekleyebildiğin ve rastgele seçtirdiğin kısa bir program, ne tasarıma önem verdim ne de mimarisine ama yine de kodları paylaşayım, kişi sayısını ne kadar eklersen o kadar kişi arasından seçiyor tabii istersen .txt dosyası içinden verileri çekerek yapılabilir ama karmaşık olmaması için ben uzatmak istemedim.

Form1.cs kodları:
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (textBox1.Text!="")
            {
                listBox1.Items.Add(textBox1.Text);
                textBox1.Text = "";
            }
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int indexkac = listBox1.SelectedIndex;
            if (indexkac >= 0)
            {
                textBox1.Text = listBox1.SelectedItem.ToString();
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Random r = new Random();
            int sayi;

            sayi = r.Next(0, listBox1.Items.Count);
            listBox1.SelectedIndex = sayi;

            MessageBox.Show("Seçilen kişi: " + listBox1.SelectedItem.ToString(), "Kişi seçildi!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            textBox1.Text = "";
          

        }
    }
}
 
Eki Görüntüle 1222934
Kişileri ekleyebildiğin ve rastgele seçtirdiğin kısa bir program, ne tasarıma önem verdim ne de mimarisine ama yine de kodları paylaşayım, kişi sayısını ne kadar eklersen o kadar kişi arasından seçiyor tabii istersen .txt dosyası içinden verileri çekerek yapılabilir ama karmaşık olmaması için ben uzatmak istemedim.

Form1.CS kodları:
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
 public partial class Form1 : Form
 {
 public Form1()
 {
 InitializeComponent();
 }

 private void button3_Click(object sender, EventArgs e)
 {
 if (textBox1.Text!="")
 {
 listBox1.Items.Add(textBox1.Text);
 textBox1.Text = "";
 }
 }

 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
 int indexkac = listBox1.SelectedIndex;
 if (indexkac >= 0)
 {
 textBox1.Text = listBox1.SelectedItem.ToString();
 }
 }

 private void button1_Click(object sender, EventArgs e)
 {
 Random r = new Random();
 int sayi;

 sayi = r.Next(0, listBox1.Items.Count);
 listBox1.SelectedIndex = sayi;

 MessageBox.Show("Seçilen kişi: " + listBox1.SelectedItem.ToString(), "Kişi seçildi!", MessageBoxButtons.OK, MessageBoxIcon.Information);
 textBox1.Text = "";

 }
 }
}

Elinize sağlık teşekkür ederim acaba müsaitseniz akşam bu kodlamayı detaylı anlatma şansınız var mı kodlamaya başlamayı bayağıdır istiyordum sanırım bu akşam ilk adımı atacağım.
 
Elinize sağlık teşekkür ederim acaba müsaitseniz akşam bu kodlamayı detaylı anlatma şansınız var mı kodlamaya başlamayı bayağıdır istiyordum sanırım bu akşam ilk adımı atacağım.
İlk adımı atmanızı çok isterim, yarın vizelerim var ben de yazılım mühendisliği okuyorum 10 yılı aşkım süredir, C# üzerine çalışıyorum her türlü yardımcı olabilirim ama bu akşam müsait değilim maalesef, kütüphanede olacağım.
 
İyi günler herkese. Başlık pek açık olmayabilir. Sınıftaki bir projem için bir programa ihtiyacım var. Kendimde kodlayabilirim fakat nasıl yapacağımı bilmiyorum. Programa 38 kişinin adını yazacağım ve butona her tıkladığımda ekrana rastgele birisinin adı çıkacak. Acaba bunu nasıl yapabilirim?
Yeni başlıyorsan Python öneririm, bunun için de yazacağın kod:
Python:
#
#     Luff tarafından hazırlandı.
#

import random as r
import pyautogui as pt


sinifkisileri = []
kisisayisi = pt.prompt(title="Rastgele Kişi Seçen Program" , text="Kişi Sayısını Giriniz")

for i in range(int(kisisayisi)):
    ad = pt.prompt(title="Rastgele Kişi Seçen Program" , text="Yeni kişi adını giriniz:")
    sinifkisileri = sinifkisileri + [ad]
random = pt.alert(text="Sınıftaki kişiler:\n{}\nRastgele kişi seçmek için OK tuşuna basınız.".format(sinifkisileri), title="Rastgele Kişi Seçen Program")

if random == "OK":
    rast = r.randint(0,(int(kisisayisi)-1))
    secilenkisi = sinifkisileri[rast]
    son = pt.alert(text="Seçilen kişi:{}".format(secilenkisi), title="Rastgele Kişi Seçen Program")
Ancak bunu kullanman için kurulu bir Python ve "pyautogui" modülüne ihtiyacın var. İstersen bu programı .exe haline çevirip gönderebilirim veya Python ve "pyautogui"'nin nasıl kurulduğu konusunda yardımcı olabilirim.
 
İlk adımı atmanızı çok isterim, yarın vizelerim var ben de yazılım mühendisliği okuyorum 10 yılı aşkım süredir, C# üzerine çalışıyorum her türlü yardımcı olabilirim ama bu akşam müsait değilim maalesef, kütüphanede olacağım.

Tamamdır o zaman umarım müsait olduğunuz bir gün konuşabiliriz. Umarım istediğiniz yere gelirsiniz kolay gelsin
 
Tamamdır o zaman umarım müsait olduğunuz bir gün konuşabiliriz. Umarım istediğiniz yere gelirsiniz kolay gelsin
Çok teşekkür ederim, daha yeni Kural 60 gerekli mi? konusunu açtım, bu sebepten iletişim adresi sunamıyorum ama istediğiniz zaman beni etiketleyebilirsiniz, gelirim.
 
Yeni başlıyorsan Python öneririm, bunun için de yazacağın kod:
Python:
#
# Luff tarafından hazırlandı.
#

import random as r
import pyautogui as pt

sinifkisileri = []
kisisayisi = pt.prompt(title="Rastgele Kişi Seçen Program" , text="Kişi Sayısını Giriniz")

for i in range(int(kisisayisi)):
 ad = pt.prompt(title="Rastgele Kişi Seçen Program" , text="Yeni kişi adını giriniz:")
 sinifkisileri = sinifkisileri + [ad]
random = pt.alert(text="Sınıftaki kişiler:\n{}\nRastgele kişi seçmek için OK tuşuna basınız.".format(sinifkisileri), title="Rastgele Kişi Seçen Program")

if random == "OK":
 rast = r.randint(0,(int(kisisayisi)-1))
 secilenkisi = sinifkisileri[rast]
 son = pt.alert(text="Seçilen kişi:{}".format(secilenkisi), title="Rastgele Kişi Seçen Program")
Ancak bunu kullanman için kurulu bir Python ve "pyautogui" modülüne ihtiyacın var. İstersen bu programı .exe haline çevirip gönderebilirim veya Python ve "pyautogui"'nin nasıl kurulduğu konusunda yardımcı olabilirim.

Nasıl kurulduğu ve nasıl başlayacağım hakkında yardımcı olursanız sevinirim.
 
Eki Görüntüle 1222934
Kişileri ekleyebildiğin ve rastgele seçtirdiğin kısa bir program, ne tasarıma önem verdim ne de mimarisine ama yine de kodları paylaşayım, kişi sayısını ne kadar eklersen o kadar kişi arasından seçiyor tabii istersen .txt dosyası içinden verileri çekerek yapılabilir ama karmaşık olmaması için ben uzatmak istemedim.

Form1.CS kodları:
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
 public partial class Form1 : Form
 {
 public Form1()
 {
 InitializeComponent();
 }

 private void button3_Click(object sender, EventArgs e)
 {
 if (textBox1.Text!="")
 {
 listBox1.Items.Add(textBox1.Text);
 textBox1.Text = "";
 }
 }

 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
 int indexkac = listBox1.SelectedIndex;
 if (indexkac >= 0)
 {
 textBox1.Text = listBox1.SelectedItem.ToString();
 }
 }

 private void button1_Click(object sender, EventArgs e)
 {
 Random r = new Random();
 int sayi;

 sayi = r.Next(0, listBox1.Items.Count);
 listBox1.SelectedIndex = sayi;

 MessageBox.Show("Seçilen kişi: " + listBox1.SelectedItem.ToString(), "Kişi seçildi!", MessageBoxButtons.OK, MessageBoxIcon.Information);
 textBox1.Text = "";

 }
 }
}

Bu kodları şimdi hangi programdan yazıyoruz şimdi inidirip yazıyoruz şimdi bir denemek istiyorum.
 

Technopat Haberler

Geri
Yukarı