Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
4171
Cevap
168607
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (49. sayfa)
C
13 yıl
Teğmen

Ustalar şuraya bir bakın ya, zor bir yerde tıkandım :S

http://forum.donanimhaber.com/m_69309599/tm.htm



B
13 yıl
Çavuş

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?



< Resime gitmek için tıklayın >



E
13 yıl
Yüzbaşı

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



C
13 yıl
Onbaşı

Sfg



< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
C
13 yıl
Onbaşı

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ı >
Bu mesaja 1 cevap geldi.
A
13 yıl
Binbaşı

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);
}


Bu mesaja 1 cevap geldi.
G
13 yıl
Yüzbaşı

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


Bu mesaja 1 cevap geldi.
M
13 yıl
Yüzbaşı

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.


Bu mesaja 3 cevap geldi.
L
13 yıl
Yarbay

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.


Bu mesaja 1 cevap geldi.
M
13 yıl
Binbaşı

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


Bu mesaja 1 cevap geldi.
L
13 yıl
Yarbay

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


Bu mesaja 1 cevap geldi.
A
13 yıl
Er

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


Bu mesaja 1 cevap geldi.
G
13 yıl
Yüzbaşı

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/


Bu mesaja 1 cevap geldi.
A
13 yıl
Binbaşı

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 >

A
13 yıl
Er

cevap icin tesekkurler. peki pointer ile nasıl yapabalirim?


Bu mesaja 1 cevap geldi.
S
13 yıl
Binbaşı

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ı ?


Bu mesaja 1 cevap geldi.
C
13 yıl
Onbaşı

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



C
13 yıl
Onbaşı

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


Bu mesaja 1 cevap geldi.
C
13 yıl
Onbaşı

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



E
13 yıl
Er

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:)


Bu mesaja 1 cevap geldi.