Arama butonu
Bu konudaki kullanıcılar: 3 misafir
4171
Cevap
167967
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (72. sayfa)
S
12 yıl
Teğmen

quote:

Orijinalden alıntı: champions1905

arkadaşlar c++ ta proje konsol dosyasını aşağıdaki şekilde açamıyorum sanırım windows 8 uyumsuzluğundan dolayı
< Resime gitmek için tıklayın >

return 0 değerini veriyor system pause gelmiyor
her yeni projede aşağıdaki şekilde nasıl açabılırım

++ ek olarak derleme f9 değil f10 oluyor windows 8 de

başlat-çalıştır-regedit yaz sonra orda local de vsbasic dosyasını bul. orda system.pause yazan yeri 1 de 0 a çevir.



S
12 yıl
Teğmen

quote:

Orijinalden alıntı: srkndmrly

C# da yazdığım bir projede veritabanı access kullanıyorum. 2-3 tablodan veriler çekerek çıktı almam gerekiyor. Bunu ne şekilde yapabilirim?

yazıcı ile çıktı alabilirsin. hp nin her bütçeye uygun modelleri var.


Bu mesaja 1 cevap geldi.
S
12 yıl
Teğmen

quote:

Orijinalden alıntı: memocan023

Arkdaşlar benim bu ödevim 6 secenekli 6. seceneği olan yaş aralığı bulma yani 1000 öğrenci kayıtlı ise bu 100 öğrenci içinden 14 yaş ile 18 yaş arasındakileri veya 15 - 16 yaşındaki öğrencileri sıralaran kodu yazamıyoruz hata oluşuyor yardım edebilirmisiniz

void yasgrubu(){
int dizi[4];
FILE *veriler=fopen("d:\\telefon.txt","r");//dosyadan okutuyoruz
int tutTelno;//buble sort sıralama için ara eleman
char tutadi[12],tutsoyadi[12],tutdogumTarihi[4];//buble sort sıralama için ara eleman
if(sayacc==0){//sayac 0 ise verileri dosyadan okur aksi halde okumazsıralama yapar
sayacc++;//sayacın artırıldığını gösterir.
while(!feof(veriler)){
fscanf(veriler,"%d %s %s %s",&rehber[kackayitvar].telno,rehber[kackayitvar].adi,rehber[kackayitvar].soyadi,rehber[kackayitvar].dogumTarihi);
// printf("\n%d %s %s %d",rehber[kackayitvar].telno,rehber[kackayitvar].adi,rehber[kackayitvar].soyadi,rehber[kackayitvar].maas);

strcpy(tutdogumTarihi,rehber[kackayitvar].dogumTarihi);
kackayitvar++;// dosyadaki kayıt sayısını arttırıyor
dizi[0]=
printf("%s\n",tutdogumTarihi);
}

bu kodun doğru çalışması lazım. senin config dosyalarında bi sıkıntı var. config dosyalarını silip internetten yeni bir config dosyası indirebilirsin. bende de aynı şey olmuştu yaptım düzeldi.



L
12 yıl
Yarbay

quote:

Orijinalden alıntı: Seviyeli Yarbay

elde çalışan .exe dosyası varsa bunu kodunu çıkartabilir miyiz ?

benim bildiğim hayır. belki yapılabilen diller vardır ama c++'ta compile eidldikten sonra anca binary belki assembly kodu çıkarılabilir diye düşünüyorum.


Bu mesaja 1 cevap geldi.
E
12 yıl
Çavuş

arkadaşlar bu kodlarda neden hata veriyo. lütfen yardım edin.
 
#include<stdio.h>
#include<conio.h>
int *dizileribirlestir(int [], int, int [], int);
main()
{
int i,a,b,*p, *q, **sonuc;
printf("1.dizinin boyutu:");
scanf("%d", &a);
printf("2.dizinin boyutu:");
scanf("%d", &b);
int dizi1[a], dizi2[b];
for(i=0; i<a; i++){
printf("dizi1[%d]=", i);
scanf("%d", &dizi1[i]);
}
for(i=0; i<b; i++){
printf("dizi2[%d]=", i);
scanf("%d", &dizi2[i]);
}
p=dizi1;
q=dizi2;
sonuc=dizileribirlestir(dizi1, a, dizi2, b);
for(i=0; i<a+b; i++)
printf("yenidizi[%d]=%d\n", i, **(sonuc+i));
getch();
}
int *dizileribirlestir(int dizi1[], int a, int dizi2[], int b)
{
int j, *r,yenidizi[a+b];
for(j=0; j<a;j++)
yenidizi[j]=dizi1[j];
for(j=0; j<a+b;j++)
yenidizi[j+a]=dizi2[j];
r=yenidizi;
return r;
}


Hata mesajı:
 
22 44 C:\Users\İlker\Desktop\deneme.cpp [Error] cannot convert 'int*' to 'int**' in assignment


Bu mesaja 1 cevap geldi.
Y
12 yıl
Yarbay

for(i=0; i<5; i++){
if (gecicidizi==NULL){}
else printf(",%s",gecicidizi);
}

C de boş elemanları atlamaya çalışıyorum ama NULL ile gerçekleştiremedim . Bunun kontrolünü ne şekilde yapabiliyoruz ?


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

quote:

Orijinalden alıntı: ebubekir.s

arkadaşlar bu kodlarda neden hata veriyo. lütfen yardım edin.
 
#include<stdio.h>
#include<conio.h>
int *dizileribirlestir(int [], int, int [], int);
main()
{
int i,a,b,*p, *q, **sonuc;
printf("1.dizinin boyutu:");
scanf("%d", &a);
printf("2.dizinin boyutu:");
scanf("%d", &b);
int dizi1[a], dizi2[b];
for(i=0; i<a; i++){
printf("dizi1[%d]=", i);
scanf("%d", &dizi1[i]);
}
for(i=0; i<b; i++){
printf("dizi2[%d]=", i);
scanf("%d", &dizi2[i]);
}
p=dizi1;
q=dizi2;
sonuc=dizileribirlestir(dizi1, a, dizi2, b);
for(i=0; i<a+b; i++)
printf("yenidizi[%d]=%d\n", i, **(sonuc+i));
getch();
}
int *dizileribirlestir(int dizi1[], int a, int dizi2[], int b)
{
int j, *r,yenidizi[a+b];
for(j=0; j<a;j++)
yenidizi[j]=dizi1[j];
for(j=0; j<a+b;j++)
yenidizi[j+a]=dizi2[j];
r=yenidizi;
return r;
}


Hata mesajı:
 
22 44 C:\Users\İlker\Desktop\deneme.cpp [Error] cannot convert 'int*' to 'int**' in assignment


Bu iş öyle zor olur. Mantık hatasını geçersek for(j=0; j<a+b;j++) <-- buffer overflow bir fonksiyonun içinde tanımladığın diziyi geri döndürüyorsun. Fonksiyondan çıktığın an, memoryde Data segmentinde o alan bu yenidizi değişkenine ait olmaz. ÜStüne yazılabilir.

Senin asıl sorunun cevabı sonuç değişkenini double pointer olarak tanımlamandan kaynaklanmakta. Biraz incele bunu istersen.

#include<stdio.h> 
#include <stdlib.h>

//#include<conio.h>
int* dizileribirlestir(int*, int, int*, int);
int main()
{
int i,a,b;
int *sonuc;
//printf("1.dizinin boyutu:");
//scanf("%d", &a);
a=5;
//printf("2.dizinin boyutu:");
//scanf("%d", &b);
b=10;
int* dizi1 = (int*) malloc(a*sizeof(int));
int* dizi2 = (int*) malloc(b*sizeof(int));
for(i=0; i<a; i++){
//printf("dizi1[%d]=", i);
//scanf("%d", &dizi1[i]);
dizi1[i]=i;
}
for(i=0; i<b; i++){
//printf("dizi2[%d]=", i);
//scanf("%d", &dizi2[i]);
dizi2[i]=i;
}

sonuc=dizileribirlestir(dizi1, a, dizi2, b);

for(i=0; i<a+b; i++)
printf("yenidizi[%d]=%d\n", i, *(sonuc+i));
//getch();
free(dizi1);
free(dizi2);
free(sonuc);
}

int* dizileribirlestir(int* dizi1, int a, int* dizi2, int b)
{
int j;
int* yenidizi = (int*) malloc((a+b)*sizeof(int));
for(j=0; j<a;j++)
yenidizi[j]=dizi1[j];
for(j=0; j<b;j++)
yenidizi[j+a]=dizi2[j];

return yenidizi;
}



G
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Yarr

for(i=0; i<5; i++){
if (gecicidizi==NULL){}
else printf(",%s",gecicidizi);
}

C de boş elemanları atlamaya çalışıyorum ama NULL ile gerçekleştiremedim . Bunun kontrolünü ne şekilde yapabiliyoruz ?

Böyle bir şey yok.

Bir arrayin elemanı NULL olmaz (aslında olur 0'a eşit olur diyebiliriz). NULL pointer vardır.

http://www.cplusplus.com/reference/cstring/NULL/


Bu mesaja 1 cevap geldi.
Y
12 yıl
Yarbay

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: Yarr

for(i=0; i<5; i++){
if (gecicidizi==NULL){}
else printf(",%s",gecicidizi);
}

C de boş elemanları atlamaya çalışıyorum ama NULL ile gerçekleştiremedim . Bunun kontrolünü ne şekilde yapabiliyoruz ?

Böyle bir şey yok.

Bir arrayin elemanı NULL olmaz (aslında olur 0'a eşit olur diyebiliriz). NULL pointer vardır.

http://www.cplusplus.com/reference/cstring/NULL/

Bu tarz bir kontrol yapmak mümkün değil midir peki ?


Bu mesaja 1 cevap geldi.
E
12 yıl
Binbaşı

Arkadaşlar visual studio 2010 c#'da mantık hatası ile karşı karşıyayım. sql güncelleme(update) sorgusu oluşturdum.Güncelleme yapıldığında örneğin 100 kayıt var ise hepsine aynı güncellemeyi yapıyor yani istediğim kayıtı değil hepsini güncelliyor


public void kayitdegistir()
{

try
{
Baglanti.Open();
OleDbCommand degistir = new OleDbCommand();
degistir.Connection = Baglanti;
degistir.CommandText = "Update not1 Set sinav1=@sinav1,sinav2=@sinav2,sinav3=@sinav3,sozlu1=@sozlu1,sozlu2=@sozlu2 where ID=@ID";
degistir.Parameters.Add("@sinav1", txtnot1.Text);
degistir.Parameters.Add("@sinav2", txtnot2.Text);
degistir.Parameters.Add("@sinav3", txtnot3.Text);
degistir.Parameters.Add("@sozlu1", txtsozlu.Text);
degistir.Parameters.Add("@sozlu2", sozlu2.Text);
degistir.Parameters.Add("@ID", dataGridView1.CurrentRow.Cells[0].Value.ToString());


if (degistir.ExecuteNonQuery() == 1)
MessageBox.Show("not bilgileri güncellendi");



}
catch (Exception hata)
{

MessageBox.Show(hata.Message, "kayıt güncelle hata penceresi");
}
Baglanti.Close();
}
< Resime gitmek için tıklayın >


Bu mesaja 1 cevap geldi.
E
12 yıl
Binbaşı

quote:

Orijinalden alıntı: Ergin.

Arkadaşlar visual studio 2010 c#'da mantık hatası ile karşı karşıyayım. sql güncelleme(update) sorgusu oluşturdum.Güncelleme yapıldığında örneğin 100 kayıt var ise hepsine aynı güncellemeyi yapıyor yani istediğim kayıtı değil hepsini güncelliyor


public void kayitdegistir()
{

try
{
Baglanti.Open();
OleDbCommand degistir = new OleDbCommand();
degistir.Connection = Baglanti;
degistir.CommandText = "Update not1 Set sinav1=@sinav1,sinav2=@sinav2,sinav3=@sinav3,sozlu1=@sozlu1,sozlu2=@sozlu2 where ID=@ID";
degistir.Parameters.Add("@sinav1", txtnot1.Text);
degistir.Parameters.Add("@sinav2", txtnot2.Text);
degistir.Parameters.Add("@sinav3", txtnot3.Text);
degistir.Parameters.Add("@sozlu1", txtsozlu.Text);
degistir.Parameters.Add("@sozlu2", sozlu2.Text);
degistir.Parameters.Add("@ID", dataGridView1.CurrentRow.Cells[0].Value.ToString());


if (degistir.ExecuteNonQuery() == 1)
MessageBox.Show("not bilgileri güncellendi");



}
catch (Exception hata)
{

MessageBox.Show(hata.Message, "kayıt güncelle hata penceresi");
}
Baglanti.Close();
}
< Resime gitmek için tıklayın >

sorunu çözdüm arkadaşlar malum gece geç saatlere kadar beyin patlatınca böyle oluyor :) accdb tasarımda kimlik yazıp sorguda ID girmişim sorunsuz şuan.Teşekkürler



G
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Yarr

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: Yarr

for(i=0; i<5; i++){
if (gecicidizi==NULL){}
else printf(",%s",gecicidizi);
}

C de boş elemanları atlamaya çalışıyorum ama NULL ile gerçekleştiremedim . Bunun kontrolünü ne şekilde yapabiliyoruz ?

Böyle bir şey yok.

Bir arrayin elemanı NULL olmaz (aslında olur 0'a eşit olur diyebiliriz). NULL pointer vardır.

http://www.cplusplus.com/reference/cstring/NULL/

Bu tarz bir kontrol yapmak mümkün değil midir peki ?

Hayır pek mümkün değil. Kendin bir sinyal değer verip yapabilirsin bunu. Ama sonu.ta dizide bir değişken bu değeri almış olaibilir.

Belki başka bir yol da tüm değişkenlerini BSS segmentinde tanımlamaktan geçebilir ama sanırım bu değişkeni 0 değerine veya NULL değerine eşitlemek demek. 0 kontrol çeki bir değişkenin tanımlanıp tanımlanmadığına karar vermek için uygun değil bence.



D
12 yıl
Teğmen

quote:

Orijinalden alıntı: selamolsunbolubeyine

quote:

Orijinalden alıntı: srkndmrly

C# da yazdığım bir projede veritabanı access kullanıyorum. 2-3 tablodan veriler çekerek çıktı almam gerekiyor. Bunu ne şekilde yapabilirim?

yazıcı ile çıktı alabilirsin. hp nin her bütçeye uygun modelleri var.

yanlış anladınız sanırım. programdan cıktı al butonu ekleyerek yazıcıya dosyayı göndermem gerekiyor



D
12 yıl
Er

merhaba.
c# da,listboxun içine rastgele 100 tane sayı atattırdım.bunları tek veya çift olarak gruplamam gerekiyor.listboxun içindeki itemleri dizi haline getirmem için hangi kodu kullanmam gerekiyor bilmiyorum yardım ederseniz sevinirim.


Bu mesaja 1 cevap geldi.
O
12 yıl
Teğmen

arkdaşlar c'de fonksiyon ile dikçgende alan bulmayı yazmaya çalışıyorum ama bi türlü olmadı yazdığım kodlar burada cvplarını bekliyorum teşekkürler

#include <stdio.h>
#include <conio.h>

float tri_area(float a,float h);

int main()
{
float a=0;
float h=0;
float area;
printf("dık ucgenın taban ve yukseklik degerini gir\n");
scanf("%f %f",&a,&h);
printf("alan = %f",area);

area = 0.5*a*h;



getch();

return();
}


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

quote:

Orijinalden alıntı: oguzkaancom

arkdaşlar c'de fonksiyon ile dikçgende alan bulmayı yazmaya çalışıyorum ama bi türlü olmadı yazdığım kodlar burada cvplarını bekliyorum teşekkürler

#include <stdio.h>
#include <conio.h>

float tri_area(float a,float h);

int main()
{
float a=0;
float h=0;
float area;
printf("dık ucgenın taban ve yukseklik degerini gir\n");
scanf("%f %f",&a,&h);
printf("alan = %f",area);

area = 0.5*a*h;



getch();

return();
}



Alanı hesapladığın "area = 0.5*a*h;" kısmını bir üstteki printf'ten önce yazman gerekirdi hocam.


Bu mesaja 1 cevap geldi.
O
12 yıl
Teğmen

M
12 yıl
Yüzbaşı

O
12 yıl
Teğmen

bu foknsiyonlara takıldım kaldm
------------------------------------------------yazmış olduğum

#include <stdio.h>
#include <conio.h>


int alan(int i,int j)
{
int a,b;
int alan=0;
alan=a*b*0.5;

}
main()
{
scanf("%d %d",&a,&b);
printf("%d",alan(a,b));




getch();
return 0;
}

yazmış olduğum bu örnekte main'den önce fonksiyunumu tanıyayıp herşeyi halledip main kısmından sonra girdi yapılıp sonucun gösterilmesini sağlayamıyorum
interntte bulduğum bu örnekteki gibi yapmak istiyorum aslında hatayı nerede yapıyorum düşüncem fonksiyonu bir hesap makinası gibi düşünüp yukarıda tanımlamak sonra aşağıda girdi yapıp çağırıp sonucu bulmak yanlışmı düşünüyorum

------------------------------------------------------alıntı örnek

#include <stdio.h>
#include <conio.h>

int f(int a)
{
int i=0,carpim=1;
for(i=1;i<=a;i++)
carpim=carpim*i;
return carpim;
}

main()
{
printf("%d",f(5));
getchar ();
return 0;
}





< Bu mesaj bu kişi tarafından değiştirildi oguzkaancom -- 5 Nisan 2013; 23:06:24 >
Bu mesaja 1 cevap geldi.
Y
12 yıl
Yarbay

quote:

Orijinalden alıntı: oguzkaancom


Fonksiyon int tanımlanmış ama return değeri döndürülmemiş .

return alan;





< Bu mesaj bu kişi tarafından değiştirildi Yarr -- 5 Nisan 2013; 23:42:44 >
Bu mesaja 2 cevap geldi.