Şimdi Ara

C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (49. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
4.172
Cevap
118
Favori
169.982
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
3 oy
Öne Çıkar
Sayfa: önceki 4748495051
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Ustalar şuraya bir bakın ya, zor bir yerde tıkandım :S

    http://forum.donanimhaber.com/m_69309599/tm.htm
  • Arkadaşlar

    visual studio 2012 kullanıyorum. bilgisayarımda Office 2007 yüklü iken c# ta bir projeye başladım ve yarıladım.

    Fakat bilgisayarımda şuan

    Windows 8
    visiual studio 2012
    ve Office 2010

    sorunsuz olarak devam ettiğim projem Office 2010 yüklediğimden beri

    using System; 
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.OleDb;


    namespace Arıza_Kayıt_Takip
    {
    public partial class Form2 : Form
    {
    public Form1 frm1;
    public Form2()
    {
    InitializeComponent();
    }
    OleDbConnection bag = new OleDbConnection("Provider=Microsoft.Ace.OleDb.12.0;Data Source=data.accdb");
    DataTable tablo = new DataTable();
    OleDbCommand kmt = new OleDbCommand();


    public void listele()
    {
    tablo.Clear();
    OleDbDataAdapter adtr = new OleDbDataAdapter("Select * From Tablo11 ", bag);
    adtr.Fill(tablo);
    dataGridView1.DataSource = tablo;
    }


    private void Form2_Load(object sender, EventArgs e)
    {
    this.WindowState = FormWindowState.Maximized;
    groupBox2.Visible = false;
    groupBox1.Size = new Size ( 1346, 645 );


    // TODO: Bu kod satırı 'dataDataSet2.Tablo11' tablosuna veri yükler. Bunu gerektiği şekilde taşıyabilir, veya kaldırabilirsiniz.
    this.tablo11TableAdapter.Fill(this.dataDataSet2.Tablo11);



    listele();
    dataGridView1.Columns[0].HeaderText = "Sıra";
    dataGridView1.Columns[1].HeaderText = "Ekleyen";
    dataGridView1.Columns[2].HeaderText = "Tarih";
    dataGridView1.Columns[3].HeaderText = "Saat";
    dataGridView1.Columns[4].HeaderText = "Süre";
    dataGridView1.Columns[5].HeaderText = "Area";
    dataGridView1.Columns[6].HeaderText = "Ekipman";
    dataGridView1.Columns[7].HeaderText = "Oluşan Arıza";
    dataGridView1.Columns[8].HeaderText = "Yapılan İşlem";
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

    }


    Formun loadında bulunan

    this.tablo11TableAdapter.Fill(this.dataDataSet2.Tablo11);

    satırına

    Nesne başvurusu bir nesnenin örneğine ayarlanmadı.

    Hatanın ayrıntısı ;

    System.NullReferenceException işlenmedi
    HResult=-2147467261
    Message=Nesne başvurusu bir nesnenin örneğine ayarlanmadı.
    Source=Arıza_Kayıt_Takip
    StackTrace:
    konum: Arıza_Kayıt_Takip.Form2.Form2_Load(Object sender, EventArgs e) c:\Users\-CaSPeR-\Desktop\Yedek proje 1 DB\Arıza_Kayıt_Takip\Arıza_Kayıt_Takip\Form2.cs içinde: satır 43
    konum: System.Windows.Forms.Form.OnLoad(EventArgs e)
    konum: System.Windows.Forms.Form.OnCreateControl()
    konum: System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
    konum: System.Windows.Forms.Control.CreateControl()
    konum: System.Windows.Forms.Control.WmShowWindow(Message& m)
    konum: System.Windows.Forms.Control.WndProc(Message& m)
    konum: System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    konum: System.Windows.Forms.ContainerControl.WndProc(Message& m)
    konum: System.Windows.Forms.Form.WmShowWindow(Message& m)
    konum: System.Windows.Forms.Form.WndProc(Message& m)
    konum: System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    konum: System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    konum: System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    InnerException:


    Office 2010 un eklentilerini visual studio 12 ye eklemem mı gerekiyor?







  • quote:

    Orijinalden alıntı: Eren Keleş

    mesajım bulunsun. hem yazılanlardan bilgi alırım hem yardımcı olabildiğim kadar yardımcı olurum.

    eskiden konu çok gzldi bişey sorduğumuzda 2-3 saat içinde cvp geliodu şimdi sadece sorular var cvp yok, demirbaşlar uğramıo artık heralde
  • Sfg

    < Bu ileti tablet sürüm kullanılarak atıldı >
  • bir sayı tahmin oyunu progamladım c de dogru sayı dogru yer için +1 dogru sayı yanlış yer için -1 koyacak 4 basamaklı sayılar için ancak -,+l degerler 5,6,7 gibi degerler geliyo napabilirim
    edit :

    #include <stdio.h>

    void diziyeAktar(int sayi,int dizi[]);

    int main(void)
    {
    int gizliSayi[3],tahmin[3],sayi1,sayi2,i,dogruTahmin=0,yanlisTahmin=1;

    printf("Gizli Sayiyi Giriniz X=?\n");
    scanf("%d",&sayi1);

    if(sayi1<1000 || sayi1>9999)
    {
    printf("Girdi Uygun Degil\n");
    return -1;
    }

    diziyeAktar(sayi1,gizliSayi);

    while(sayi1 != sayi2)
    {
    printf("Tahmininizi Giriniz Y=?\n");
    scanf("%d",&sayi2);

    if(sayi2<1000 || sayi2>9999)
    {
    printf("Girdi Uygun Degil\n");
    return -1;
    }

    diziyeAktar(sayi2,tahmin);

    for(i=0;i<3;i++)
    {
    if(gizliSayi == tahmin)
    {
    dogruTahmin += 1;
    }
    else if(gizliSayi != tahmin)
    {
    yanlisTahmin += 1;
    }


    }
    if(sayi1 == sayi2)
    {
    printf("Tebrikler Sayiyi Buldunuz\n");
    scanf("%d",&i); /* programin hemen kapanmasini onler */
    return -1;
    }
    printf("+%d\n",dogruTahmin);
    printf("-%d\n",yanlisTahmin);
    dogruTahmin = 0;
    yanlisTahmin = 1;


    }


    scanf("%d",&i); /* Derleyici olarak Dev C++ ý kullanarak yazdým bu scanfin amaci programin hemen kapanmasini onlemek */

    return 0;



    }


    /* Bu fonksiyon gelen integer sayiyi uzunluðu 4 olan bir boyutlu bir diziye atar */

    void diziyeAktar(int sayi,int dizi[])
    {
    int temp=0,bolen=10,i=0,carpan=1;



    for(i=0;i<4;i++)
    {
    temp = (sayi%bolen) / carpan;
    sayi = sayi - (temp*carpan);
    dizi[3-i] = temp;
    bolen *= 10;
    carpan *= 10;
    }





    }



    < Bu mesaj bu kişi tarafından değiştirildi chipagat -- 21 Aralık 2012; 16:23:42 >
    < Bu ileti tablet sürüm kullanılarak atıldı >




  • merhaba, c de yanyana yazılan bir işlemi hesaplayan bir program yapmaya çalışıyorum (örneğin 5469*9856-9625+6985 gibi) ama sadece tek bir + işareti için bile denediğimde ilk sayının çıktısını alamadım, yardımcı olursanız sevinirim

    quote:

    #include <stdio.h>
    #include <stdlib.h>
    #define A 200


    long int usalan(long int sayi,long int us)
    {
    long int a,i;
    a=sayi;
    i=1;
    while (i<us)
    {
    i++;
    sayi=a*sayi;
    }
    return sayi;
    }

    int main()
    {
    int sayac,a,t,ilksayi,ikincisayi,k,l,m;

    char sayi[A];
    sayi[A]="555665+65456";
    for(sayac=0; sayi[sayac] != '\0'; sayac++)
    { m=sayac-1;
    t=sayac;
    k=t-2;
    if (sayi[sayac]=='+')
    {

    while (a<m)
    {


    l=sayi[a]*usalan(10,k);
    ilksayi=ilksayi+l;
    k--;
    a++;

    }
    }
    }
    printf ("%d",ilksayi);
    }




  • quote:

    Orijinalden alıntı: aytzey

    merhaba, c de yanyana yazılan bir işlemi hesaplayan bir program yapmaya çalışıyorum (örneğin 5469*9856-9625+6985 gibi) ama sadece tek bir + işareti için bile denediğimde ilk sayının çıktısını alamadım, yardımcı olursanız sevinirim

    quote:

    #include <stdio.h>
    #include <stdlib.h>
    #define A 200


    long int usalan(long int sayi,long int us)
    {
    long int a,i;
    a=sayi;
    i=1;
    while (i<us)
    {
    i++;
    sayi=a*sayi;
    }
    return sayi;
    }

    int main()
    {
    int sayac,a,t,ilksayi,ikincisayi,k,l,m;

    char sayi[A];
    sayi[A]="555665+65456";
    for(sayac=0; sayi[sayac] != '\0'; sayac++)
    { m=sayac-1;
    t=sayac;
    k=t-2;
    if (sayi[sayac]=='+')
    {

    while (a<m)
    {


    l=sayi[a]*usalan(10,k);
    ilksayi=ilksayi+l;
    k--;
    a++;

    }
    }
    }
    printf ("%d",ilksayi);
    }


    Sayilari elde etmen o kadar basit degil. char arraya o sekilde veri giremezsin. senin icin biraz ornekliyim

    quote:


    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define A 200

    int main()
    {
    int i;
    long int ilksayi,ikincisayi;

    char sayilar[A];
    char *locationSayi;

    strncpy(sayilar,"555665+65456",sizeof(sayilar));

    locationSayi = strtok(sayilar,"+-/*"); //1.sayi icin
    ilksayi = atol(locationSayi);
    locationSayi = strtok (NULL, "+-/*"); //2.sayi icin
    ikincisayi = atol(locationSayi);

    printf("Sayilar : %d %d\n",ilksayi,ikincisayi);

    return 0;
    }


    quote:


    Sayilar : 555665 65456




  • quote:

    Orijinalden alıntı: chipagat

    bir sayı tahmin oyunu progamladım c de dogru sayı dogru yer için +1 dogru sayı yanlış yer için -1 koyacak 4 basamaklı sayılar için ancak -,+l degerler 5,6,7 gibi degerler geliyo napabilirim
    edit :

    #include <stdio.h>

    void diziyeAktar(int sayi,int dizi[]);

    int main(void)
    {
    int gizliSayi[3],tahmin[3],sayi1,sayi2,i,dogruTahmin=0,yanlisTahmin=1;

    printf("Gizli Sayiyi Giriniz X=?\n");
    scanf("%d",&sayi1);

    if(sayi1<1000 || sayi1>9999)
    {
    printf("Girdi Uygun Degil\n");
    return -1;
    }

    diziyeAktar(sayi1,gizliSayi);

    while(sayi1 != sayi2)
    {
    printf("Tahmininizi Giriniz Y=?\n");
    scanf("%d",&sayi2);

    if(sayi2<1000 || sayi2>9999)
    {
    printf("Girdi Uygun Degil\n");
    return -1;
    }

    diziyeAktar(sayi2,tahmin);

    for(i=0;i<3;i++)
    {
    if(gizliSayi == tahmin)
    {
    dogruTahmin += 1;
    }
    else if(gizliSayi != tahmin)
    {
    yanlisTahmin += 1;
    }


    }
    if(sayi1 == sayi2)
    {
    printf("Tebrikler Sayiyi Buldunuz\n");
    scanf("%d",&i); /* programin hemen kapanmasini onler */
    return -1;
    }
    printf("+%d\n",dogruTahmin);
    printf("-%d\n",yanlisTahmin);
    dogruTahmin = 0;
    yanlisTahmin = 1;


    }


    scanf("%d",&i); /* Derleyici olarak Dev C++ ý kullanarak yazdým bu scanfin amaci programin hemen kapanmasini onlemek */

    return 0;



    }


    /* Bu fonksiyon gelen integer sayiyi uzunluðu 4 olan bir boyutlu bir diziye atar */

    void diziyeAktar(int sayi,int dizi[])
    {
    int temp=0,bolen=10,i=0,carpan=1;



    for(i=0;i<4;i++)
    {
    temp = (sayi%bolen) / carpan;
    sayi = sayi - (temp*carpan);
    dizi[3-i] = temp;
    bolen *= 10;
    carpan *= 10;
    }





    }

    Bu oyunu çok severim, çocukluğumdan beri hala daha oynarım :) Her basamak için olanını yazmıştım(seçenekli değil, algoritma otomatik olarak ayarlıyor). Yarın müsait vaktim olursa paylaşacağım.




  • Merhaba beyler, c de ufak bir proje hazırlıyorum ancak nedenini anlayamadığım değişik bir sorunla karşılaşıyorum.. Sorunla karşılaştığım kısmı koddan kırptım ve buraya ekliyorum.

    #include <stdio.h> 

    int x[3];
    int y[3];

    int a,b,c,d,g,h,m;


    int main()
    {
    for(int i=0; i<4 ;i++)
    {
    printf("X Dizisine rakam giriniz:");
    scanf("%d",&x[i]);

    }

    for (b=0;b>-1;b++)
    {

    if(c==4)
    printf("Bitir\n");
    else
    {
    c=0;
    d=0;
    printf("\n");

    for(int k=0; k<4 ;k++)
    {
    printf("Y Dizisine rakam giriniz:");
    scanf("%d",&y[k]);

    }


    printf("\n");
    printf("X Dizisi:");
    for(int p=0;p<4;p++){
    printf("%d",x[p]);
    }

    printf("\n");
    printf("Y Dizisi:");
    for(int z=0;z<4;z++){
    printf("%d",y[z]);
    }

    printf("\n");


    }
    }



    getchar();
    return 0;
    }



    Kodda x dizisine ve y dizisine sırayla eleman girdiriyoruz. Sorun şu ki program y[0]'daki değeri x[3]'e yazdırıyor. Neden böyle bir durum oluşuyor anlamış değilim. Yardım eden arkadaşlara şimdiden teşekkürler.




  • quote:

    Orijinalden alıntı: lovekrand

    Merhaba beyler, c de ufak bir proje hazırlıyorum ancak nedenini anlayamadığım değişik bir sorunla karşılaşıyorum.. Sorunla karşılaştığım kısmı koddan kırptım ve buraya ekliyorum.

    #include <stdio.h> 

    int x[3];
    int y[3];

    int a,b,c,d,g,h,m;


    int main()
    {
    for(int i=0; i<4 ;i++)
    {
    printf("X Dizisine rakam giriniz:");
    scanf("%d",&x[i]);

    }

    for (b=0;b>-1;b++)
    {

    if(c==4)
    printf("Bitir\n");
    else
    {
    c=0;
    d=0;
    printf("\n");

    for(int k=0; k<4 ;k++)
    {
    printf("Y Dizisine rakam giriniz:");
    scanf("%d",&y[k]);

    }


    printf("\n");
    printf("X Dizisi:");
    for(int p=0;p<4;p++){
    printf("%d",x[p]);
    }

    printf("\n");
    printf("Y Dizisi:");
    for(int z=0;z<4;z++){
    printf("%d",y[z]);
    }

    printf("\n");


    }
    }



    getchar();
    return 0;
    }



    Kodda x dizisine ve y dizisine sırayla eleman girdiriyoruz. Sorun şu ki program y[0]'daki değeri x[3]'e yazdırıyor. Neden böyle bir durum oluşuyor anlamış değilim. Yardım eden arkadaşlara şimdiden teşekkürler.

    Hocam dizinin eleman sayısıyla indeks sayısı karışmış kodda 3 elemanlı bir X dizisinde son eleman X[2]dir, ama döngüde sen X[3]ü de kullanıyosun ilk gözüme bu çarptı benim




  • quote:

    Orijinalden alıntı: Mtntk

    quote:

    Orijinalden alıntı: lovekrand



    Hocam dizinin eleman sayısıyla indeks sayısı karışmış kodda 3 elemanlı bir X dizisinde son eleman X[2]dir, ama döngüde sen X[3]ü de kullanıyosun ilk gözüme bu çarptı benim

    Eyvallah hocam hiç aklıma gelmemişti orda hata olacağı,teşekkürler
  • arkadaslar c de yardıma ihtiyacım var. basit bi login yani sifre girme programı yapmak istiyorum. sifreyi onceden soyle tanımlamam lazım. ogrencinin adını ve numarasını array olarak yazıcam en basta sonra ogrencinin sifresi adı ve numarasının son 4 rakamının birlesimi olucak yani. mehmet5678 gibi. bu isim ve numara arraylerini tek pointerla birlestirip nasıl sifreyi olustururum? yardımcı olursanız sevinirim
  • quote:

    Orijinalden alıntı: acan46

    arkadaslar c de yardıma ihtiyacım var. basit bi login yani sifre girme programı yapmak istiyorum. sifreyi onceden soyle tanımlamam lazım. ogrencinin adını ve numarasını array olarak yazıcam en basta sonra ogrencinin sifresi adı ve numarasının son 4 rakamının birlesimi olucak yani. mehmet5678 gibi. bu isim ve numara arraylerini tek pointerla birlestirip nasıl sifreyi olustururum? yardımcı olursanız sevinirim

    pointer kullanmak zorunda değilsin. strcat ve strlen - 3 kombinasyonunu kullanabilirsin.

    http://www.cplusplus.com/reference/cstring/strcat/
    http://www.cplusplus.com/reference/cstring/strlen/




  • quote:

    Orijinalden alıntı: garui

    quote:

    Orijinalden alıntı: aytzey

    merhaba, c de yanyana yazılan bir işlemi hesaplayan bir program yapmaya çalışıyorum (örneğin 5469*9856-9625+6985 gibi) ama sadece tek bir + işareti için bile denediğimde ilk sayının çıktısını alamadım, yardımcı olursanız sevinirim

    quote:

    #include <stdio.h>
    #include <stdlib.h>
    #define A 200


    long int usalan(long int sayi,long int us)
    {
    long int a,i;
    a=sayi;
    i=1;
    while (i<us)
    {
    i++;
    sayi=a*sayi;
    }
    return sayi;
    }

    int main()
    {
    int sayac,a,t,ilksayi,ikincisayi,k,l,m;

    char sayi[A];
    sayi[A]="555665+65456";
    for(sayac=0; sayi[sayac] != '\0'; sayac++)
    { m=sayac-1;
    t=sayac;
    k=t-2;
    if (sayi[sayac]=='+')
    {

    while (a<m)
    {


    l=sayi[a]*usalan(10,k);
    ilksayi=ilksayi+l;
    k--;
    a++;

    }
    }
    }
    printf ("%d",ilksayi);
    }


    Sayilari elde etmen o kadar basit degil. char arraya o sekilde veri giremezsin. senin icin biraz ornekliyim

    quote:


    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define A 200

    int main()
    {
    int i;
    long int ilksayi,ikincisayi;

    char sayilar[A];
    char *locationSayi;

    strncpy(sayilar,"555665+65456",sizeof(sayilar));

    locationSayi = strtok(sayilar,"+-/*"); //1.sayi icin
    ilksayi = atol(locationSayi);
    locationSayi = strtok (NULL, "+-/*"); //2.sayi icin
    ikincisayi = atol(locationSayi);

    printf("Sayilar : %d %d\n",ilksayi,ikincisayi);

    return 0;
    }


    quote:


    Sayilar : 555665 65456


    Alıntıları Göster

    Sayilari elde etmen o kadar basit degil. char arraya o sekilde veri giremezsin. senin icin biraz ornekliyim


    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define A 200

    int main()
    {
    int i;
    long int ilksayi,ikincisayi;

    char sayilar[A];
    char *locationSayi;

    strncpy(sayilar,"555665+65456",sizeof(sayilar));

    locationSayi = strtok(sayilar,"+-/*"); //1.sayi icin
    ilksayi = atol(locationSayi);
    locationSayi = strtok (NULL, "+-/*"); //2.sayi icin
    ikincisayi = atol(locationSayi);

    printf("Sayilar : %d %d\n",ilksayi,ikincisayi);

    return 0;
    }



    Sayilar : 555665 65456



    Hocam çok teşekkür ederim, burda sayıyı kullanıcıdan aldığımızda onun kaç sayı girdiğini ve araya kaç artı koyduğunu bilmezsek yine aynı yolu izleyerek sonuca varabilir miyiz (örneğin kullanıcı 2+3-5565767546+32*8762 girdi), bir de strok atol ve strncopy fonksiyonlarını açıklayabilir misiniz



    < Bu mesaj bu kişi tarafından değiştirildi aytzey -- 22 Aralık 2012; 17:38:41 >




  • cevap icin tesekkurler. peki pointer ile nasıl yapabalirim?
  • Merhabalar zamansızlıktan uğrayamıyorum diye üzülüyordum saolsun C proje ödeviyle baya burada kalıcam gibi .

    Yapmaya çalışacağım şey verilen sayılar ile istenilen 4 işlem kullanılarak hedef sayıya ulaşmak. Süreyi kısaltmaya çalışmaya başlamadan önce bütün seçenekleri deneyen bir kod oluşturma düşüncesindeyim yani

    a+b+c , a+b*c, a+b/c şeklinde giderek bütün seçenekleri deneyecek. Verilen sayıların sayısı değişken olabiliyor en çok zorlayacak yer bu olacak heralde , kalansız bölme işlemleri yapılabiliyor sadece .

    Hoca direk bu projeyi seçmeyin dedi ama deniycem en azından , sormak istediğim bütün olasılıkların denenmesi çok mu uzun sürer ? Bu projeye başlamadan önce ilk önce şu örnekleri yaparsan kafanda daha iyi oturur diyebileceğiniz sorular var mı ?




  • quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: chipagat

    bir sayı tahmin oyunu progamladım c de dogru sayı dogru yer için +1 dogru sayı yanlış yer için -1 koyacak 4 basamaklı sayılar için ancak -,+l degerler 5,6,7 gibi degerler geliyo napabilirim
    edit :

    #include <stdio.h>

    void diziyeAktar(int sayi,int dizi[]);

    int main(void)
    {
    int gizliSayi[3],tahmin[3],sayi1,sayi2,i,dogruTahmin=0,yanlisTahmin=1;

    printf("Gizli Sayiyi Giriniz X=?\n");
    scanf("%d",&sayi1);

    if(sayi1<1000 || sayi1>9999)
    {
    printf("Girdi Uygun Degil\n");
    return -1;
    }

    diziyeAktar(sayi1,gizliSayi);

    while(sayi1 != sayi2)
    {
    printf("Tahmininizi Giriniz Y=?\n");
    scanf("%d",&sayi2);

    if(sayi2<1000 || sayi2>9999)
    {
    printf("Girdi Uygun Degil\n");
    return -1;
    }

    diziyeAktar(sayi2,tahmin);

    for(i=0;i<3;i++)
    {
    if(gizliSayi == tahmin)
    {
    dogruTahmin += 1;
    }
    else if(gizliSayi != tahmin)
    {
    yanlisTahmin += 1;
    }


    }
    if(sayi1 == sayi2)
    {
    printf("Tebrikler Sayiyi Buldunuz\n");
    scanf("%d",&i); /* programin hemen kapanmasini onler */
    return -1;
    }
    printf("+%d\n",dogruTahmin);
    printf("-%d\n",yanlisTahmin);
    dogruTahmin = 0;
    yanlisTahmin = 1;


    }


    scanf("%d",&i); /* Derleyici olarak Dev C++ ý kullanarak yazdým bu scanfin amaci programin hemen kapanmasini onlemek */

    return 0;



    }


    /* Bu fonksiyon gelen integer sayiyi uzunluðu 4 olan bir boyutlu bir diziye atar */

    void diziyeAktar(int sayi,int dizi[])
    {
    int temp=0,bolen=10,i=0,carpan=1;



    for(i=0;i<4;i++)
    {
    temp = (sayi%bolen) / carpan;
    sayi = sayi - (temp*carpan);
    dizi[3-i] = temp;
    bolen *= 10;
    carpan *= 10;
    }





    }

    Bu oyunu çok severim, çocukluğumdan beri hala daha oynarım :) Her basamak için olanını yazmıştım(seçenekli değil, algoritma otomatik olarak ayarlıyor). Yarın müsait vaktim olursa paylaşacağım.

    eyvallah




  • quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: chipagat

    bir sayı tahmin oyunu progamladım c de dogru sayı dogru yer için +1 dogru sayı yanlış yer için -1 koyacak 4 basamaklı sayılar için ancak -,+l degerler 5,6,7 gibi degerler geliyo napabilirim
    edit :

    #include <stdio.h>

    void diziyeAktar(int sayi,int dizi[]);

    int main(void)
    {
    int gizliSayi[3],tahmin[3],sayi1,sayi2,i,dogruTahmin=0,yanlisTahmin=1;

    printf("Gizli Sayiyi Giriniz X=?\n");
    scanf("%d",&sayi1);

    if(sayi1<1000 || sayi1>9999)
    {
    printf("Girdi Uygun Degil\n");
    return -1;
    }

    diziyeAktar(sayi1,gizliSayi);

    while(sayi1 != sayi2)
    {
    printf("Tahmininizi Giriniz Y=?\n");
    scanf("%d",&sayi2);

    if(sayi2<1000 || sayi2>9999)
    {
    printf("Girdi Uygun Degil\n");
    return -1;
    }

    diziyeAktar(sayi2,tahmin);

    for(i=0;i<3;i++)
    {
    if(gizliSayi == tahmin)
    {
    dogruTahmin += 1;
    }
    else if(gizliSayi != tahmin)
    {
    yanlisTahmin += 1;
    }


    }
    if(sayi1 == sayi2)
    {
    printf("Tebrikler Sayiyi Buldunuz\n");
    scanf("%d",&i); /* programin hemen kapanmasini onler */
    return -1;
    }
    printf("+%d\n",dogruTahmin);
    printf("-%d\n",yanlisTahmin);
    dogruTahmin = 0;
    yanlisTahmin = 1;


    }


    scanf("%d",&i); /* Derleyici olarak Dev C++ ý kullanarak yazdým bu scanfin amaci programin hemen kapanmasini onlemek */

    return 0;



    }


    /* Bu fonksiyon gelen integer sayiyi uzunluðu 4 olan bir boyutlu bir diziye atar */

    void diziyeAktar(int sayi,int dizi[])
    {
    int temp=0,bolen=10,i=0,carpan=1;



    for(i=0;i<4;i++)
    {
    temp = (sayi%bolen) / carpan;
    sayi = sayi - (temp*carpan);
    dizi[3-i] = temp;
    bolen *= 10;
    carpan *= 10;
    }





    }

    Bu oyunu çok severim, çocukluğumdan beri hala daha oynarım :) Her basamak için olanını yazmıştım(seçenekli değil, algoritma otomatik olarak ayarlıyor). Yarın müsait vaktim olursa paylaşacağım.

    bir arkadaş else yerine else if kullan dedi ama zaten else if li problem başka bi yerde ama bulamadım bi turlu




  • arkadaşlar derleyici olarak visual studio 2012 kullanıyorum bir program esnasında "unable to start program " diye hata verdi bilenler yardım ederse sevinirim şimdiden teşekkurler
  • merhaba.benim c# dan proje ödevim var.c# da yeniyim.hesap makinası yapayım dedim hocamız basit buldu.yani aklınıza yapabilceğim bir proje geliyormu?netten araştırdım ama farklı bişeyler olsun istiyorum.umarım yardımcı olursunuz:)
  • 
Sayfa: önceki 4748495051
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.