mexinth Mesaj tarihi: Aralık 18, 2003 Paylaş Mesaj tarihi: Aralık 18, 2003 şimdi shell script başlıklı konuda da bahsetmiş olduğum gibi bir c++ uygulamas üzerine çalışıyorum. Bir dikdörtgeni hepsi 1. kordinat düzleminde olacak 8 kordinat oluşturacak 4* (x, y) bu x y değerleri 20 den büyük olamayacak filan falan kare mi değil mi ölçülecek, alan çevre bulunacak. Bir heade file yaptım sonra source sonra driver source ta sorun var çünkü kordinat girdiğimde 0 0 şeklinde okuyor bunun sebebinin setCoord fonksiyonunun özel uygulamaları olmasına ve benim bunları eksik yapmış olabileceğime bağlamakla beraber getLength te belirttiğim { return length; } getWidth { return width;} ı algılayamamasına da bağlıyorum ki üstte bunların hesaplanması ile ilgil bir fonksiyon yazdım ama int değerine algılatamadım int main() { length = ( lenght =x2 - x1) ? length : 0;} şeklinde nasıl algılatabilirim?[hline]sonunda yeniledim. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
mexinth Mesaj tarihi: Aralık 18, 2003 Konuyu açan Paylaş Mesaj tarihi: Aralık 18, 2003 çalışmalarım hala devam ediyor, saçım sakalım uzadı. Ama şu an %20 yeterlilikte çalışıyor length - width hesaplamaları gibi anahtar bir çözüm aktifleştiği anda, bende tıraş olmaya gidebileceğim. Sabırrr....[hline]sonunda yeniledim. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Rahan Mesaj tarihi: Aralık 18, 2003 Paylaş Mesaj tarihi: Aralık 18, 2003 algılatmak ne demek anlayabilsem cevaplayacam Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
mexinth Mesaj tarihi: Aralık 18, 2003 Konuyu açan Paylaş Mesaj tarihi: Aralık 18, 2003 şimdi 4 kordinat ile bir diktörgn belirlenecek anlattığım gibi işte bu kordinatların 20,0 dan büyük olmaması sağlanacak sonrada uzunluk genişlik hesaplanacak alan, çevre buna göre hesaplanacka. eğer kare ise bunu belirtecek.. header, source ve driver olarak 3 dosya hazırlıyorsun. herşey hazır işte. ama sanırım constructor umda sorun var şimdi buraya sayfalarca kod yollamam çok mantıklı olur mu bilemiyorm.. length ve width hesaplamaları önem kazanıyor o yüzden[hline]sonunda yeniledim. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Rahan Mesaj tarihi: Aralık 18, 2003 Paylaş Mesaj tarihi: Aralık 18, 2003 kodun değiştirmek istediğin kısmını kopyalarsan -veya bi yerlere upload edersen- yardımcı olabilirim. yoksam yardımcı olamıycam. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Ra_d Mesaj tarihi: Aralık 18, 2003 Paylaş Mesaj tarihi: Aralık 18, 2003 abi böyle bi program için nasıl sayfalarca kod yazdın kafam basmadı? çok basit bişi.senin dediğin program taş çatlasa 100 satır tutar.ben mi anlamadım acaba?[hline]Mazhar Alanson-Cem Yılmaz: Bir zamanlar fırtınalar estirirdim Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
mexinth Mesaj tarihi: Aralık 18, 2003 Konuyu açan Paylaş Mesaj tarihi: Aralık 18, 2003 eh işte 100 satır doğru ama 3 ayrı sayfa olacak öyle isteniyor. işte class filan belirliyorsun constructor ayarlıyorsun filan.. header file ----- #ifndef COORDINATES_H #define COORDINATES_H class Coordinates { public: Coordinates(float = 1, float = 1 , float = 1, float = 1, float = 1, float = 1, float = 1, float = 1); // so x & y will definitely in first quadrant //set functions void setCoord(float , float , float , float, float, float, float, float); //get function float getCoord(); // calculation float Length(float); float Width(float); //property functions float computePerimeter(); float computeArea(); void printCheck(); void printcorrection(); private: float x1, x2, x3, x4, y1, y2, y3, y4; // print x and y }; #endif ------ source file --------- #include using std::cout; using std::cin; using std::endl; float length, width; #include "coordinates.h" Coordinates::Coordinates(float x1 , float x2, float x3 , float x4, float y1, float y2, float y3, float y4) { setCoord(x1, x2, x3, x4, y1, y2, y3, y4); } // now I start set functions void Coordinates::setCoord( float a1, float a2, float a3, float a4, float b1, float b2, float b3, float b4) { x1 = ( a1 >= 0 && a1 <= 20) ? a1: 0; x2 = ( a2 >= 0 && a2 <= 20) ? a2: 0; x3 = ( a3 >= 0 && a3 <= 20) ? a3: 0; x4 = ( a4 >= 0 && a4 <= 20) ? a4: 0; y1 = ( b1 >= 0 && b1 <= 20) ? b1: 0; y2 = ( b2 >= 0 && b2 <= 20) ? b2: 0; y3 = ( b3 >= 0 && b3 <= 20) ? b3: 0; y4 = ( b4 >= 0 && b4 <= 20) ? b4: 0; } // as usual length function float Coordinates::Length (float length ) { return length = x2 - x1 ; } // as usual width function float Coordinates::Width (float width ) { return width = y2 - y1;} // get functions float Coordinates::getCoord() { return x1, x2, x3, x4, y1, y2, y3, y4; } // calculation functions float Coordinates::computePerimeter() { return (2 * length + 2 * width);} float Coordinates::computeArea() { return (length * width);} void Coordinates::printCheck() { if (length == width ) cout << "This is a square" ; else cout << "This is a rectangle" ; return ; } // this function will check if this coordinates can establish a rectangular shape or not void Coordinates::printcorrection() { if ( x1 <= 20, x2 <= 20, x3 <= 20, x4 <= 20, y1 <= 20, y2 <= 20, y3 <= 20, y4 <= 20) cout << " nValues are accepted " << endl << endl; else cout << " nPlease make sure x and y's are not greater than 20 " << endl; if ( x1 == x3 , x2 == x4 , y1 == y3 , y2 == y4) cout << " This is a rectangle " << endl; else cout << " nMake sure that x1 = x3 , x2 = x4 and y1 = y3, y2 = y4 equal and all the values are smaller than 20" << endl; return ; } // now source part is over... -------- driver ------ #include using std::cout; using std::cin; using std::endl; #include "coordinates.h" float main() { float a1, a2, a3, a4, b1, b2, b3, b4; float clength; float cwidth; Coordinates cor; // now cor is my object cout << " Enter 2 x values for calculation of length " << endl; cin >> a1 >> a2 >> a3 >> a4; cout << " Enter 2 y values for calculation of width " << endl; cin >> b1 >> b2 >> b3 >> b4; cor.setCoord(a1, a2, a3, a4, b1, b2, b3, b4); cor.printcorrection(); cor.getCoord(); cout << " So after entering coordinates we will see your length and width : " << endl; cor.Length(clength); cout << " Length: " << endl; cor.Width(cwidth); cout << " Width: " << endl; cout << "nAlso the perimeter of your rectangle is: "; cor.computePerimeter(); cout << "nThe area of your rectangle which is: "; cor.computeArea(); cout << "nIs your rectangle a square? " << endl; cor.printCheck(); cout << endl << endl; return 0; } // End of Driver Part. --------[hline]sonunda yeniledim. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
mexinth Mesaj tarihi: Aralık 18, 2003 Konuyu açan Paylaş Mesaj tarihi: Aralık 18, 2003 constructor ımda bir sorun olabileceğini düşünyotum çünkü programı çalıştırdığımda kaynak kısmından, kordinat girdiğimde onları tartabiliyor, sonrası gelmiyor...[hline]sonunda yeniledim. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
mexinth Mesaj tarihi: Aralık 18, 2003 Konuyu açan Paylaş Mesaj tarihi: Aralık 18, 2003 evet sanırm anladım sorunu ama nasıl çözeceğim knusunda fikirler açığım. cor.Length ve cor.Width daha başlamadan kullanılıyor diyor, bunları nasl düzgün başlatabilirim...[hline]sonunda yeniledim. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Rahan Mesaj tarihi: Aralık 18, 2003 Paylaş Mesaj tarihi: Aralık 18, 2003 amanın bi ton hata var.. öncelikle hemen internetten bi c++ tutorial bul, sonra sırasıyla, fonksiyonları tekrar et yada tekrar öğren, (hem yazmasını hemde çağırmasını) classları bi daha bi gözden geçir constructorın nasıl kullanıldığına, nasıl çağırıldığına falan dikkat et. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
mexinth Mesaj tarihi: Aralık 18, 2003 Konuyu açan Paylaş Mesaj tarihi: Aralık 18, 2003 evet hatalı, biraz daha toparladım son koyduğumdan beri, ama genede karıştı... şimdilk sadece kordinat girebiliyorum , vede onların istenilene uygun olup olmadığını bulabiliyorum.. şu length ve width i başlatabilirsem bitecek... onca şeyer rağmen, bulduğun kritik kısımları işaretlersen sevinirim dünden beri yazıyorum tabi kafadan. fonksiyonlara çalışacak vaktim yok malesef yarın yollayacağım artık... birde tekrar tekrar denemelerden dolayı bazı şeyler eklendi çıktı filan ondan karışık biraz :) [hline]sonunda yeniledim. [Bu mesaj mexinth tarafından 18 December 2003 22:37 tarihinde değiştirilmiştir] [Bu mesaj mexinth tarafından 18 December 2003 22:38 tarihinde değiştirilmiştir] Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Rahan Mesaj tarihi: Aralık 18, 2003 Paylaş Mesaj tarihi: Aralık 18, 2003 hmm tamam o zaman hemen hataları düzeltelim; //////////////////////////////////////// . . . class Coordinates { public: Coordinates(float x1 =1, float x2=1, float x3=1, float x4=1, float y1=1, float y2=1, float y3=1, float y4=1) . . . //////////////////////////////////////// // as usual length function //float Coordinates::Length (float length ) //{ return length = x2 - x1 ; } //yukardaki kod derlenir ama doğru değil, çünkü fonksiyona atanan parametre için geçici bir değişken oluşturulur ve fonksiyon bittikten sonra bu geçici değişken silinir. yani argumanları okusanda yazsanda fonksiyondan çıkarken silinirler . doğrusu; float Coordinates::Length () { return (x2 - x1) ; } //////////////////////////////////////// // as usual width function //float Coordinates::Width (float width ) //{ return width = y2 - y1;} //aynı olay; doğrusu; float Coordinates::Width () { return (y2 - y1);} //////////////////////////////////////// // get functions //float Coordinates::getCoord() //{ return x1, x2, x3, x4, y1, y2, y3, y4; } yok böle bişi olamaz yani return a1,a2,a3 onun yerine dizi pointerı döndürmen lazım o yüzden boşver bu fonksiyonu sil //////////////////////////////////////// //cout << "nAlso the perimeter of your rectangle is: "; //cor.computePerimeter(); böyle bişi ekrana fonksiyonun çıktısını yazdıramaz. computePerimeter fonksiyonu değer döndürüyor ekrana çıktı vermiyor.olabilecek en iyi ihtimal şudur; cout << "nAlso the perimeter of your rectangle is: " << cor.computePerimeter(); //////////////////////////////////////// //Coordinates cor; yukardaki satırın derlenirken hata vermesi lazım. //kodları şu şekilde değiştirirsen doğru olur. cout << " Enter 2 x values for calculation of length " << endl; cin >> a1 >> a2 >> a3 >> a4; cout << " Enter 2 y values for calculation of width " << endl; cin >> b1 >> b2 >> b3 >> b4; Coordinates cor(a1, a2, a3, a4, b1, b2, b3, b4); cor.printcorrection(); //////////////////////////////////////// sonra; length ve width hesaplanmadan kullanılıyor o yüzden ikisini constructor da hesaplatmalısın constructoru da aşşadaki gibin değiştirelim Coordinates::Coordinates(float x1=1 , float x2=1, float x3=1 , float x4=1, float y1=1, float y2=1, float y3=1, float y4=1) { setCoord(x1, x2, x3, x4, y1, y2, y3, y4); length=Lenth(); width=Width(); } //////////////////////////////////////// bunları yaptıktan sora çalışması lazım ama gözümden kaçmış bişiler olabilir.. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Raid3r Mesaj tarihi: Aralık 18, 2003 Paylaş Mesaj tarihi: Aralık 18, 2003 koddan önce mantığı ben mi yanlış anladım bilmiyorum ama doğru anladıysam oalyın biraz kolayına kaçmışsın gibi geldi bana. dörtgenin köşeleri aynı x de ve y de olmak zorunda değilki yani lengthi x2-x1 widthi y2-y1 almışşsın ama çapraz duruyorsa bu dörtgen bu işlemler yanlış olur ha eğer çapraz durma gibi bir olay sözkonusu değilse bu mesajı boşver ehe :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Raid3r Mesaj tarihi: Aralık 18, 2003 Paylaş Mesaj tarihi: Aralık 18, 2003 koda gelince rahan baya düzeltmiş zaten ama onun yanında ben printcorrection() functionın işlevini anlamadım. zaten constructorda yaratırken eğer 20den büyükse 0 atıyorsun bu durumda printcorrection() functionını çağırdığında kordinatların 20den büyük olma şansı yokki. tabi burda kastettiğim this is a rectangle kısmı değil rectangle olup olmadığını kontrol etse sadece sorun yok ama if ( x1 <= 20, x2 <= 20, x3 <= 20, x4 <= 20, y1 <= 20, y2 <= 20, y3 <= 20, y4 <= 20) cout << " nValues are accepted " << endl << endl; else cout << " nPlease make sure x and y's are not greater than 20 " << endl; bu kontrol gereksiz olmuş onun dışında çok detaylı bakamadım sonra daha bir detaylı bakarım eğer sorun düzelmezse Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Chemical Mesaj tarihi: Aralık 18, 2003 Paylaş Mesaj tarihi: Aralık 18, 2003 ahah bi programcılık okudu raid direk yani karizma yaptı:) komiğime gitti ya:) ahaha Beni inşaat havuzuna atan sora kafasına çekiç yiyen insan şimdi neler diyo hey gidi günler hey:)[hline]Alexi_Septimus demiş ki:Kedi iyicene Avatarıyla özdeşir oldu. "ZzZzZzZZzZ" "Site kapandı site!" "ZzZzZzZzZz" "*Undenfied Flying Terlik Strikes Karakedi In The Middle Of Iki Kaşının Ortası*" ! Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
mexinth Mesaj tarihi: Aralık 18, 2003 Konuyu açan Paylaş Mesaj tarihi: Aralık 18, 2003 saoln arkadşlar uğraşıyorum işte demin düzeltirken baktım bazıların ilk başta öyle yapmışım ama fonksiyonları detaylı çalışmam lazım, yüzeysel biliyorum o yüzden tekrarında doğruyu yanlış sanmış olmam normaldir.. şu print correction olayı şu işte değerlerin sınır aşıp aşmadığının yazdırılması o kadar, ekrana çıkıyor, bir ara bir yere yükleyip gösteirim :) birde yok paralel kenar vari bir şey olamaz, silgi şeklinde filan da olamaz. Anladım raid in sorduğunu, bildiğimiz dikdörtgen istediler, yoksa ilk onu düşündüm, çizdim zaten formüle ettim 2 dk da öyle yazmaya başladım. Eh 3. kodum bu c++ başladığımdan beri mazur görmek lazım biraz :-)[hline]sonunda yeniledim. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
mexinth Mesaj tarihi: Aralık 18, 2003 Konuyu açan Paylaş Mesaj tarihi: Aralık 18, 2003 bende şu float get coord ları kaldırmıştım sonra tekrar koydum ama işlevini anlayamamıştım, şu ilk başta ki float larıda x1=1 filan diye gitmiştim, sonra yanlışa yönelmişim. Valla en iyi desteği lengthleri ayarlarken verdin // as usual length function float Coordinates::Length() { return (x2-x1); } // as usual width function float Coordinates::Width() { return (y2-y1);} şunlar için ne kadar uğraştım anlatamam böyle de denedim ama çıkaramadım ekranda şu cor.copmute ları cout a direk koymak ile olayı hallettirdin :)) hani yanlış yapmışım ama bu yanlışları doğrularıyla değiştirmişim yani birini düzeltirken ötekini yanlışa çevirmişim :)) ne diyelim paticikler saolsun yardım patisini uzattı . Bu arada yüksek lisans ta bir sanata başladım. Köpükten kahve bardaklarına sanat :) şaka maka bir karikatür bandı doğacak :) kahramanımız da tabi zühtü (arkadaşımın kedisi bir ara resimleri koymuştum konu dışına ) Kod çalışıyorr,, şu doğrulamada tamamsa ohh tadından yenmez.. Birde insanın kendi düşündüğü yoldan olmas dah bir keyif veriyor, her ne kadar yanlışlarımı düzelttirmişsemde. Nette bir örnekler var ağzım yarı açık izledim :)[hline]sonunda yeniledim. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
mexinth Mesaj tarihi: Aralık 18, 2003 Konuyu açan Paylaş Mesaj tarihi: Aralık 18, 2003 şimdi şöyle bir durum var hata mesajların her zaman vermiyor onu vermesini istiyorum // ok bu kısmı hallettim, ama aşağıda ki önemli... birde //return larger (fabs(x2-x1),(y2-y1)) olayını length e // return smaller(fabs(x2-x1)-(y2-y1)) width e set etmek istiyrum ama #include i daha önce kullanmadım şimdi ona girersem sorun çıkabilir mi diyorum?[hline]sonunda yeniledim. [Bu mesaj mexinth tarafından 19 December 2003 01:20 tarihinde değiştirilmiştir] Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Rahan Mesaj tarihi: Aralık 18, 2003 Paylaş Mesaj tarihi: Aralık 18, 2003 #include 'ın sorun çıkartıcağını sanmıyorum, ama return larger (fabs(x2-x1),(y2-y1)) return smaller(fabs (x2-x1)-(y2-y1) ) bu iki satır derlenmez hata verir, doğrusu return larger ( fabs ( (x2-x1),(y2-y1) ) ) yani parantez hatası, bu hatayı engellemenin de çok basit bi yolu var fonsiyonu yazarken önce fabs() diye yazmak sonra geri gelip içini doldurmak, yani aç kapa parantez sonra 1 sola kay. *bu arada larger ile smaller ı bilmiyorum ama fonksiyon olarak kabul ettim. [Bu mesaj Rahan tarafından 19 December 2003 01:23 tarihinde değiştirilmiştir] Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
mexinth Mesaj tarihi: Aralık 18, 2003 Konuyu açan Paylaş Mesaj tarihi: Aralık 18, 2003 rahan sana teşekkür olarak pizza tycoon veriyorum :) imzama tıkla :)[hline]sonunda yeniledim. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar