Arama butonu
Bu konudaki kullanıcılar: 2 misafir
4171
Cevap
168574
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (176. sayfa)
K
10 yıl
Yüzbaşı

quote:

Orijinalden alıntı: hodort

Merhaba , lise 2 yazılım öğrencisiyim . Hazır on beş tatile girilince kendi çapımda C# konsol uygulamaları yapmaya çalışıyorum. Aklıma gelen bir uygulama örneği de "telefon rehberi" örneği oldu. Bunu yaparken ilk başta bir menü geliyor ve yapılacak işlemi soruyor. Dört tane seçim var ; birincisi "kişi girişi" ,ikincisi "kişi listeleme" , üçüncüsü de " kişi silme" , dördüncü olarak da programdan çıkma. Şimdi ben bu üç olayı da kısmi olarak hallettim fakat biraz zorluk da olsun diye tüm bu kişileri txt ye kaydettim. Kaydetme işleminde sorun yok fakat "kişi silme" işleminde diziden sildiğim kişiyi çoktan txt ye kaydetmiş oluyorsunuz.Yani kişi silinse bile txt de kayıtlı oluyor . Sizlere sorum : Bu silme işlemini nasıl yapabilirim , birde "kişiler listele" denildiği zaman txt den okumasını istiyorum. Nasıl yapabilirim ? Yardım edebilirseniz çok makbule geçer. İyi forumlar.


using System; 
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace Week_III
{
class Program
{
static void Main(string[] args)
{
int menuDegeri;
int j=0,z=1;
string[] kisiler=new string[50];
double[] numaralar=new double[50];
string[] kucukKisiler = new string[50];
string silinmekİstenen;
string dosya = "F:\\rehber.txt";
FileStream fs = new FileStream(dosya, FileMode.Open);
StreamReader sr = new StreamReader(fs);
StreamWriter sw = new StreamWriter(fs);

do
{
Console.WriteLine("\n 1-Yeni kişi ekle \n 2-Kişileri Listele \n 3-Kişi sil \n 0-Çıkış");
menuDegeri=Convert.ToInt32(Console.ReadLine());
switch (menuDegeri)
{
case 1:
Console.Write("Kişinin adı :");
kisiler[j]=Convert.ToString(Console.ReadLine());
kucukKisiler[j]=kisiler[j].ToLower();

Console.Write("Numarası :");
numaralar[j]=Convert.ToDouble(Console.ReadLine());

sw.WriteLine(j +":"+kisiler[j]+"=="+numaralar[j]);

j++;
break;
case 2:
string Line;
while ((Line = sr.ReadLine()) != null)
Console.WriteLine(Line);
fs.Close();


//for(int i=0;i<j;i++)
//{
// Console.WriteLine(z + "-" + kisiler[i] + "-------" + numaralar[i]);
// z++;
//}

break;
case 3:
Console.Write("Lütfen silmek istediğiniz kişinin adını giriniz : ");
silinmekİstenen = Convert.ToString(Console.ReadLine());
silinmekİstenen = silinmekİstenen.ToLower();
for (int y = 0; y < j; y++)
{
if (silinmekİstenen == kucukKisiler[y])
{
Array.Clear(kisiler, y, 1);
Array.Clear(numaralar, y, 1);
}

}
break;

default:
Console.WriteLine("Lütfen 0-1-2-3 değerlerinden birini giriniz.");

break;
}
}while(menuDegeri!=0);


}
}
}


txt ye kayıt ederken kişi bilgilerinin arasına ayırıcı bir işaret koy
"Ad1 Soyad1 numarası1&Ad2 Soyad2 numarası2&Ad3 Soyad3 numarası3&Ad4 Soyad4 numarası4"
listeleme öncesinde bu koyduğun işareti split komutunu uygulayarak kayıtları ayrıştırabilirsin.
silme işlemi yapılırken de kayıtları aynı şekilde hafızaya alırsın, diziden silip kayıtların olduğu yeni bir diziye de atabilirsin sonra tekrar onları txt ye eskisini silip yazabilirsin.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
W
10 yıl
Yarbay

arkadaşlar ikinci dereceden denklemin gerçel kökleri olduğu varsayımıyla,kökleri hesaplayacak makro fonksiyonları tanımlayınız

soru bu makro kısmını doğru yapmışmıyım? uygulamaya dökmek istedimde hatalar verdi ilgilenirseniz sevinirim



edit:resim görünmüyorsa buyurunhttps://www.youtube.com/watch?v=0EWbonj7f18





< Bu mesaj bu kişi tarafından değiştirildi waleur5 -- 27 Ocak 2015; 15:26:32 >
Bu mesaja 2 cevap geldi.
K
10 yıl
Çavuş

quote:

Orijinalden alıntı: waleur5

arkadaşlar ikinci dereceden denklemin gerçel kökleri olduğu varsayımıyla,kökleri hesaplayacak makro fonksiyonları tanımlayınız

soru bu makro kısmını doğru yapmışmıyım? uygulamaya dökmek istedimde hatalar verdi ilgilenirseniz sevinirim

kökleri float olarak tanımlasan daha sağlıklı olur. Ayrıca math.h kütüphanesi de eklemen gerekiyor uygulamaya, sqrt fonksiyonunu bulamaz gibime geliyor.
Ekranda beklemesi için de System("PAUSE"); eklemelisin.





< Bu mesaj bu kişi tarafından değiştirildi kedijediyedi -- 27 Ocak 2015; 14:19:02 >
Bu mesaja 1 cevap geldi.
W
10 yıl
Yarbay

bu hataları ondanmı verdi.
edit:ekledim fakat hala aynı çalıştıran kodu atsın lütfen




Bu mesajda bahsedilenler: @kedijediyedi
&
10 yıl
Binbaşı

quote:

Orijinalden alıntı: █Loading...

c# ile android programlama yapmak istiyorum ama okulda pc için uygulamalar yaptık, androide geçerken ne gibi farklılıklar olur? ne yapmam gerekir?
Yardımlarınızı bekliyorum şimdiden teşekkürler...

Beyler bi yardım


Bu mesaja 1 cevap geldi.
K
10 yıl
Yüzbaşı

Merhaba. PictureBox içine eklenen resmin içindeki kırmızı-yeşil-mavi renkleri nasıl buldurabilirim? Ve buldurduklarımı nasıl not defterine nasıl yazdırabilirim? İnternette ki siteleri araştırdım fakat hepsi ingilizceydi, anlayamadım. Bana ne yapacağım hangi adımları izleyeceğim konusunda yardımcı olabilir misiniz?



W
10 yıl
Yarbay

C
10 yıl
Yüzbaşı

Koduda atsana buraya bi bakayım yarın , pek bakamıyorum gözlerim çok kuruyo ve çok fena yanıyo , roacutanenin yan etkisi galiba


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @waleur5
E
10 yıl
Er

Merhaba C ile program yazmaya daha yeni başladım. Birkaç şey yazdıktan sonra bunları switch case ile birleştirmeye başladım. Şu ana kadar bir sorun yoktu fakat bugün 7. case seçeneğini ekledikten sonra program çalışmayı durdurdu sorunu yaşadım. Eklediğim 7. program kendi başına sorunsuz çalışıyor. Bu soruna neyin sebep olabileceğini söylerseniz sevinirim. Program 7 seçenekle çok uzun olduğu için buraya eklemiyorum.


Bu mesaja 1 cevap geldi.
C
10 yıl
Yüzbaşı

[code][/code]
kullanarak buraya ekle yardımcı olalım




Bu mesajda bahsedilenler: @enzorbey
E
10 yıl
Er

case 7: 
{
char u;
int a,i,n,g,d,c,b,t,o;
int dizi[o];
printf("Toplam ders saatiniz nedir: ");
scanf ("%d",&g);
printf("Kac Ders Gireceksiniz?\n");
scanf("%d",&a);
int notdizisi[a];
float ortalama[n];
int x;
int toplam=0;

n=0;
c=1;
int toplamortalama=0;
float asd;
o=0;

while (c<=a)

{
printf("%d. dersin kac notu var?\n",c);
scanf("%d",&d);
printf("Ders kac saat?\n");
scanf ("%d",&t);
o++;
dizi[o]=t;
printf("Dersiniz %d saat.\n",t);
toplamortalama=0;
toplam=0;
for (x=1;x<=d;x++)
{
int i;
printf("Bir not giriniz: ");
scanf ("%d",¬dizisi[i]);
toplam=toplam+notdizisi[i];


}
while (n<=a)
{
n++;
goto ortalama;
}

ortalama:

ortalama[n]=(float)toplam/(float)d;

c++;


}



printf("%d tane ders girdiniz.\n",a);
scanf("%s",&u);
n=1;
o=1;
toplamortalama=0;
while (n<=a)
{

toplamortalama=toplamortalama+ortalama[n]*dizi[o];

n++;
o++;
}

printf("\n\n\n\n\n\n");

asd=(float)toplamortalama/(float)g;
printf("%f\n\n%f\n",(float)toplamortalama,(float)g);
printf("\nSonuc: %f",asd);

}

case kısmından itibaren burası burayı silince program çalışıyor ama ben bu kısmında ekli olmasını istiyorum.





< Bu mesaj bu kişi tarafından değiştirildi enzorbey -- 28 Ocak 2015; 15:07:55 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @cezaalp
W
10 yıl
Yarbay

arkadaşlar ikinci dereceden denklemin gerçel kökleri olduğu varsayımıyla,kökleri hesaplayacak makro fonksiyonları tanımlayınız

 


#include <stdio.h>
#include <stdlib.h>
#include<math.h>
#define deter(a,b,c) (b*b)-4*a*c
#define kok1(b,c,d) (-b - sqrt(d))/(2*a)
#define kok2(b,c,d) (-b + sqrt(d))/(2*a)
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {

int a1,b1,c1,k1,k2,det;
printf("ikinci dereceden denkleminizdeki katsayı olan a,b ve c değerlerini giriniz");
scanf("%d %d %d",&a1,&b1,&c1);
det=deter(a1,b1,c1);
k1=kok1(b1,c1,det);
k2=kok2(b1,c1,det);

printf("1.kok %d 2.kok %d idir",k1,k2);



}




Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @cezaalp
W
10 yıl
Yarbay

ben uğraştım bayağı ama kullanıcı değer girmedigi için kafam karıştı yardım edebilirmisiniz.(c programlama).
1 ile 100 arasındaki asal sayılardan tek olanların toplamını hesaplayan fonksiyonu rekursif olarak hesaplayın.

 

int main(int argc, char *argv[]) {
int k=100;
rekursif(k);

}

rekursif(a)
int a;
{
int i,toplam=0;


for(i=2;i<a;i++)
{
if(a%i==0)
goto etiket;



}


toplam+=a;
printf("sayilarin suanki toplami");

etiket:

rekursif(a-1);


}






Bu mesaja 2 cevap geldi.
W
10 yıl
Yarbay

komut satırından aktarılan bir mesajda kaç tane 'a' harfi olduğunu sayan ve ekranda gösteren programı yazınız

 






int main(int argc, char *argv[]) {


if(argc<2)
printf("yetersiz parametre");

int i,sayac=0;
short int k;

gets(*argv);
k=strlen(*argv);
for(i=0;i<k;i++)
{
if(*argv[i]=='a' || *argv[i]=='A')
{

sayac++;
}
}
printf("%d tane a girdiniz",sayac);
}











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

Merhaba dostum

Hangi derleyici kullanıyosun. Hatanın nerde olduğunu göstermiyor mu.? Visual studio kullanmanı (başka derleyicide varmı bilmediğimden bunu önerdim) ve debug yaparak adım adım kodları takip etmeyi araştırmanı tabsiye ederim.

Tam inceleyemedim ama;

int a,i,n,g,d,c,b,t,o; Burda tanımlamışsın intleri

Ama

int dizi[ o ]; // Burda dizi mi tanımlamaya çalıştın. o değişkenine bişey atamadın daha dizi kaç boyutlu nasıl anlayacak bunu program. Dizi tanımlamayı araştırmanı tavsiye ederim.

float ortalama[n] // Bu da aynı şekilde. n değişkeninde bir değer yok daha..

Son olarak da değişkenleri daha anlaşılır vermeye çalış ki sana yardımcı olabilelim.

int a,i,n,g,d,c,b,t,o;

Yukardaki şekilde hiç bişey anlayamayıız biz.

int alan, kenar1, kenar2, alanToplam, cevreToplam, uzunKenar, kısaKenar // gibi açıklayıcı olmanı tavsiye ederim.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @enzorbey
C
10 yıl
Er

Merhaba arkadaşlar,

C++ da matrix vector çarpım yapmaya çalıştım ama çalışmıyor hatamın nerde oldugunu anlayamadım. Bir bakabilirmisiniz ?

void matrixVector ( const int n, const double* A, const double* x, double* y ){

//for(int i = 0; i < n; i++){
// y[i*n] = 0.0;
// }
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
y[i*n] += A[i*n+j]*x[j*n];
}
}

for(int i=0; i<n; i++){
cout<<y[i*n]<<" ";

}



cout<<"\n";

}

int main(){

int n;
n=7;

double* A = new double[n*n];
double* x = new double[n];
double* y = new double[n];

for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
A[i*n+j] = rand()% 100 + 1;
cout<<A[i*n+j]<<" ";
}
cout<<"\n";
}
cout<<"\n";

for(int i=0; i<n; i++){
x[i*n] = rand()%100+1;
cout<<x[i*n]<<" ";


}
cout<<"\n";


matrixVector(n,A,x,y);

delete[] A;
delete[] y;
delete[] x;



return 0;

}



E
10 yıl
Er

quote:

Orijinalden alıntı: SharpShoooterr

Merhaba dostum

Hangi derleyici kullanıyosun. Hatanın nerde olduğunu göstermiyor mu.? Visual studio kullanmanı (başka derleyicide varmı bilmediğimden bunu önerdim) ve debug yaparak adım adım kodları takip etmeyi araştırmanı tabsiye ederim.

Tam inceleyemedim ama;

int a,i,n,g,d,c,b,t,o; Burda tanımlamışsın intleri

Ama

int dizi[ o ]; // Burda dizi mi tanımlamaya çalıştın. o değişkenine bişey atamadın daha dizi kaç boyutlu nasıl anlayacak bunu program. Dizi tanımlamayı araştırmanı tavsiye ederim.

float ortalama[n] // Bu da aynı şekilde. n değişkeninde bir değer yok daha..

Son olarak da değişkenleri daha anlaşılır vermeye çalış ki sana yardımcı olabilelim.

int a,i,n,g,d,c,b,t,o;

Yukardaki şekilde hiç bişey anlayamayıız biz.

int alan, kenar1, kenar2, alanToplam, cevreToplam, uzunKenar, kısaKenar // gibi açıklayıcı olmanı tavsiye ederim.


Merhaba öncelikle teşekkür ederim. Dev C++ kullanıyorum. Sorun şurada o kodu alıp ayrı bir sayfada başına gerekli kütüphaneyi ekleyip int main fonksiyonu altında açtığımda hiç bir sorun olmadan çalışıyor ama case olarak diğer programımla birleştirince çalışmayı durdurdu hatası alıyorum yani dizi kısmında bir hata olduğunu sanmıyorum. Yinede tekrar bakacağım. Ayrıca derleyici bir hata bulmuyor. Çalıştırabiliyorum programı ama hiçbir şey yapamadan çalışmayı durdurdu çıkıyor.




Bu mesajda bahsedilenler: @SharpShoooterr
C
10 yıl
Yüzbaşı

#define kok1(b,c,d) (-b - sqrt(d))/(2*a) ----> a yı tanımlamamışsın burada
#define kok2(b,c,d) (-b + sqrt(d))/(2*a) ---------> burda da aynı hata


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @waleur5
W
10 yıl
Yarbay

quote:

Orijinalden alıntı: cezaalp

#define kok1(b,c,d) (-b - sqrt(d))/(2*a) ----> a yı tanımlamamışsın burada
#define kok2(b,c,d) (-b + sqrt(d))/(2*a) ---------> burda da aynı hata

Nasil tanimlayacagim o parantezemi eklicem sorulari koydum bugun ara verdim ondan yrn denicem
bu arada dier sorularima forumdaki zamani uygun arkadaslar bakabilirmi





< Bu mesaj bu kişi tarafından değiştirildi waleur5 -- 28 Ocak 2015; 23:23:52 >

< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
C
10 yıl
Yüzbaşı

#define kok1(b,c,d) (-b - sqrt(d))/(2*a) bak c yi tanımlamışsın a yı tanımlamamışsın orda
#define kok1(b,a,d) (-b - sqrt(d))/(2*a) yapsan olur şiimdi recursive soruna bakcam , recursive çok b.ktan bir konu , birazdan anımıda anlatacam


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @waleur5