C ödevi hakkında yardımlarınızı bekliyorum

Başlatan pwl, 25 Aralık 2009 - 05:02:34

« önceki - sonraki »

0 Üyeler ve 5 Ziyaretçi konuyu incelemekte.

pwl

Arkadaşlar aramızda çok çok iyi programcılar vardır eminim, yapmam gereken bir proje var ancak işin içinden çıkamadım.

proje ile ilgili bir örnek buldum ama ikisini nasıl bağdaştıracağımı çözemedim.

aramızda programıcı olan arkadaşlar bir el atabilir mi?

Proje de tam olarak istenen şu
http://img710.imageshack.us/i/78391856.png/

Yukarda ekran görüntüleri verilen Hastane programını C dilinde kodlayınız. Menüler ve alt menüler açıklayıcı olmakla birlikte doktor, hasta ya da bilgilerini elde ederken önerilen bilgiler dışında fazla bilgi talep etmeyiniz.  Doktor,  hasta, veya randevu sil ya da düzelt seçeneklerinde var olan doktorları listeleyip hangisinin silineceği gene kullanıcıdan istenecektir.


Benden C olarak isteniyor ancak ben c++ ile buna benzer yapılan bir örnek buldum arkadaşlar.Ancak bağdaştıramadım :(

yardımlarınızı bekliyorum

#include <iostream.h>
#include <fstream.h> //File functions
#include <stdlib.h>

// Global Variables:

fstream  fOgrenci;   // File descriptor variable

int  StudentID;
char FirstName[20];
char LastName[20];
int  Grade;

// Function Prototypes:
void add_student();
void display_students();

//---------------------------------------------------------------------------
int main()
{
    int choice;

     while(1)
     {
      cout << "\nMENU\n";
      cout << "1.Add a new student to file\n";
      cout << "2.Display all students\n";
      cout << "0.Exit program\n\n";
      cout << "  Enter Choice: ";
      cin >> choice;

      switch (choice)
      {
         case 1: add_student(); break;
         case 2: display_students(); break;
         case 0: return 0;
         default: cout << "Invalid choice!\n";
      }
     }
}


//---------------------------------------------------------------------------
void add_student()
{
  fOgrenci.open("students.dat", ios::app); // Open file with append-mode

  cout << "\nEnter StudentID : ";
  cin >> StudentID;
  cout << "First Name : ";
  cin >> FirstName;
  cout << "Last Name : ";
  cin >> LastName;
  cout << "Grade : ";
  cin >> Grade;

  fOgrenci << StudentID << "  " << FirstName << "  " << LastName << "  " <<  Grade << "\n";
  cout << "\n*** STUDENT ADDED TO FILE SUCCESSFULLY***\n";

  fOgrenci.close();
}

//---------------------------------------------------------------------------
void display_students()
{
  fOgrenci.open("students.dat", ios::in);   // Open file with input-mode

  if (fOgrenci.fail())
  {
    cout << "\n\nSTUDENTS.DAT FILE NOT FOUND OR EMPTY\n\n";
    return;
  }

  cout << "\nStudentID  Student Name        Grade";
  cout << "\n=========  ==================  ========\n";

// Read first record from file
  fOgrenci >> StudentID >> FirstName >> LastName >> Grade;

  while(! fOgrenci.eof()) // Check whether the end-of-file has been reached
  {
    cout << StudentID << "\t   " << FirstName << " " << LastName << "\t   " << Grade << "\n";

    // Read next record from file
    fOgrenci >> StudentID >> FirstName >> LastName >> Grade;
  }

  fOgrenci.close();
}




sema

@pwl. Önce kolay gelsin. Ödevinizin son günü ne zaman bilmiyorum, belirtir misiniz? Benim sınavlar var da bu aralar sınavlardan sonra yardımcı olabilirim. Sıkı çalışmam gerekiyor :)
Ama taslak olarak şunları yapabilirsin. Menulerin yapımı zaten kolay, internetten de bir sürü kaynak bulabilirsin bu konuda. Oradan önce bi menu oluşturun, seçimler için switch case yapsını kullanabilirsiniz. Kaynak konusunda da eksiğiniz varsa yardım edebilirim. Tavsiyem ödevinizi kendiniz yapmanızdır, uğraşırsanız anlarsınız.
susema

pwl

Dostum öncelikle hızlı cevabınız ve ilginiz için teşekkür ederim.
Son günü bugün, yumurta kapıya sıkışınca oldu biraz ama sanırım usta bir C programcısına göre bu 3-5 dakika içerisinde halledilecek * bir şey.

Ben biraz ilerleme kaydettim son durum şu ama bundan ötesine gidemiyorum bilgim olmadığı için.
(yalnız resimde ki gibi olmadı 1'e bastığımda çıkması lazım alt menünün ancak 2,3,4'e basınca da çıkıyor.
fazla uçmuşum, araya bir yere eklemem lazım bir de hangi komutla eklemem lazım işte onu da bilmiyorum, hadi bilsem birkaç satır daha ilerlerim diye düşünüyorum.

tavsiyeniz için teşekkür ederim ben şu switch ve case'leri bir araştırayım bakalım.


#include <stdio.h>

int main()
{
 int ANA_MENU;

 printf( "1.Doktor Menu\n" );
 
 printf( "2.Hasta Menu\n" );
 printf( "3.Randevu Menu\n" );
 printf( "4.Logout\n" );
 scanf( "%d", &ANA_MENU );
 printf( "You entered %d", ANA_MENU );
 system("PAUSE");
 
 
 printf( "1.yeni doktor ekle\n" );
 printf( "2.listeden doktor sil\n" );
 printf( "3.doktor bilgisini duzelt\n" );
 printf( "4.doktor listele\n" );
 printf( "5.onceki menuye don\n" );
 scanf( "%d", &ANA_MENU );
 printf( "You entered %d", ANA_MENU );
 system("PAUSE");
 
 

printf( "Adi:\n" );
 printf( "Soyadi\n" );
 printf( "Telefon numarasi:\n" );
 printf( "Adresi:\n " );
 printf( "Bransi\n " );
 printf( "Diploma No:\n" );
 printf( "ID Numarasi:\n " );
 scanf( "%d", &ANA_MENU );
 printf( "You entered %d", ANA_MENU );
 system("PAUSE");






getchar(); getchar();
 return 0;

sema

Dostum yalnız :P Ödevin yaptığın kadar basit değil, ekle sil'ler var daha işin çoook :)

switch case yapısını kabaca şu şekilde yapabilirsin;


printf("*****************************************\n");
printf("                       ANA MENU\n");
printf("*****************************************\n");
printf("Ana menu icin a'ya; doktor menusu icin b'ye; doktor bilgileri icin c'ye; cikis icin\n q'ya basiniz\n");
printf("*****************************************\n");
while((ch=getchar())!='q')
{
if('\n'==ch)
continue;
)
switch(ch) //yukarda char ch; tanımladığınızı varsayarak
{
case'a':
printf("1) Doktor Menu:\n\n");
printf("2) Hasta Menu\n");
printf("3) Randevu Menu\n");
printf("4) Cikis icin q' ya basiniz/n");

break;


case 'b':
  printf( "1.yeni doktor ekle\n" );
  printf( "2.listeden doktor sil\n" );
  printf( "3.doktor bilgisini duzelt\n" );
  printf( "4.doktor listele\n" );
  // falan filan
// cikis al burada yine
breaak;

//diger menuler de aynı sekilde

default:
}
else
while(getchar()!='\n')
continue;
printf("bir harf girin veya cikis icin q'ya basiniz\n");
}
return 0;
}



Yalnız dediğim gibi daha çok işiniz var. Bilgisayarı kapatmam gerek, kolay gelsin.
susema

pwl

#include <conio.h>

int menu(void);
void setcolor(unsigned short color);



main()
{
       printf( "1.Doktor Menu\n" );
       printf( "2.Hasta Menu\n" );
  printf( "3.Randevu Menu\n" );
  printf( "4.Logout\n" );


  system("PAUSE");
while(1)
{
/*get selection and execute the relevant statement*/
switch(menu())
{
case 1:
{
setcolor(8);
puts("Yeni Doktor Ekle\n");
puts("Listeden Doktor Sil\n");
puts("Doktor Bilgisi Duzelt\n");
puts("Doktor Listele\n");
puts("You selected menu item 1\n");
puts("Lutfen Secin\n");
break;
}
case 2:
{
setcolor(11);
puts("You selected menu item 2\n");
puts("Finished item 2 task\n");
break;
}
case 3:
{
setcolor(12);
puts("You are quitting\n");
exit(0);
break;
}
default:
{
puts("Invalid menu choice\n");
break;
}
}
}
return 0;
}

void setcolor(unsigned short color)
{


}
/*menu function*/
int menu(void)
{
int reply;
/*display menu options*/
setcolor(6);
puts("Enter 1 for task 1.\n");
setcolor(9);
puts("Enter 2 for task 2.\n");
setcolor(2);
puts("Enter 3 to quit.\n");
/*scan for user entry*/
scanf("%d", &reply);

return reply;
}


tekrar selamlar, sizin verdiğiniz kodları ekledim ancak belli bir satırda hata verdi bende anlamadığım için çözemedim, netten biraz daha araştırma yapıp kendime uygun olarak derledim bunu ama çözemediğim yerler var gene, sanki bu biraz daha uyuyor gibi benim menü modeline, ne dersiniz?

mce

Fikir vermesi açısından aşağıdaki kodu yazdım c++'da. Hepsini yazamam maalesef. Sizin yapmanız daha iyi olur. Ayrıca direk c'de yazmak yerine önce bir kağıda ne yapacağınızı yazın, sonra c'ye çevirmek daha kolay olur diye düşünüyorum.

//============================================================================
// Name        : hastane.cpp
// Author      : mce
// Version     :
// Copyright   : Your copyright notice
// Description :
//============================================================================

#include <iostream>
using namespace std;

void ana_menu();
void doktor_menu();
void hasta_menu();


int main() {

ana_menu();
return 0;
}
void ana_menu(){
cout << "1.Doktor Menü" << endl;
cout << "2.Hasta Menü"  << endl;
cout << "3.Randevu Menü" << endl;
cout << "4.Çıkış" << endl;

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
doktor_menu();
break;
case '2':
hasta_menu();
break;
case '3':
randevu_menu();
break;
default:
continue;
}
}
}
void doktor_menu(){
char ch;
cout << "1.Yeni doktor ekle" << endl;
cout << "2.Listeden doktor sil" << endl;
cout << "3.Doktor bilgisi düzelt" << endl;
cout << "4.Doktor Listele" << endl;
cout << "5.Önceki menüye dön" << endl;
while((ch = getchar())){
switch(ch){
case '1':
doktor_ekle();
break;
case '2':
doktor_sil();
break;
case '3':
doktor_duzelt();
break;
case'4':
doktor_listele();
case '5':
ana_menu();
default:
continue;
}
}
}
void hasta_menu(){
cout << "1.Yeni hasta ekle" << endl;
cout << "2.Listeden hasta sil"  << endl;
cout << "3.Hasta bilgisi düzelt" << endl;
cout << "4.Hasta listele" << endl;
cout << "5.Önceki menüye dön" << endl;

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
hasta_ekle();
break;
case '2':
hasta_sil();
break;
case '3':
hasta_duzelt();
break;
case '4':
hasta_listele();
case '5':
ana_menu();
default:
continue;
}
}
}


sema

Tekrar merhaba @pwl. Ödeviniz ne durumda diye sormak için açmıştım ki telefonum çaldı, işim çıktı şimdi kısa süreliğine dışarıya çıkmak zorundayım. @mce'nin kodlarına baktım da güzel olmuşlar onları C dilinde kodlasanız az da ekleme yapsanız tamamdır. Şimdi çıkmak zorundayım geri geldiğimde yardım etmeye çalışacağım yapamamışsanız.
susema

pwl

@mce
@semagkyz
tekrar tekrar ilginiz ve alakanız için çok teşekkür ederim sizlere.

ödevi henüz tamamlayamadım, internetten örnekler baktım ama hep belli noktalarda tıkandım.teorik bilgim olmayınca uygulamada olmuyor maalesef ama yeni yeni yaptıkça biraz daha öğrendiğimin farkına varıyorum
ve çok zevk alıyorum.
saat12 ye kadar ödevi teslim etmem gerekiyor bakalım halledebilecek miyim?
ancak tek başıma halledemesemde ve bugün ödevi sizlerin sayesinde gönderebilirsemde kesinlikle mantığını ve nasıl yapıldığını öğrenmem gerek,üzerinde kafa yormalıyım ki sınavlarda hakkatten bilerek geçeyim.
sıkı bir kampa gireceğim, benim de aynı şekilde sınavlarım başlıyor.
ben denemelere devam ediyorum mce arkadaşın vermiş olduğu son bilgiler ışığında belki bir kaç adım daha ileri gidebilirim.

ancak c++'ı nasıl c'ye uyarlayacağımı da bilmiyorum

cin ve cout vardı sanırım farklı olan ama onların yerine ne kullanacağımı bilmiyorum.


denemelerim sonucu
mcs'e kardeşimizin verdiği örneklerle compile ettim programı
case '3':
randevu_menu();
satırında hata aldım.

ayrıca bu cout değerlerini gördüğüm yere printf mi yazacağım?

   cout << "1.Doktor Menü" << endl;
   cout << "2.Hasta Menü"  << endl;
   cout << "3.Randevu Menü" << endl;
   cout << "4.Çıkış" << endl;


Nasıl becerdim ya da hangi mantıkla becerdim bende tam olarak çözemedim yalnız açıklama satırı eklemeden, hata veren satırı geçtim.

c++ kodunu c'ye uyarladım sanırım istemeden de olsa.
@mce kardeşimizin verdiği kodlara puts ekledim
şunları yaptım ve oldu bakalım denemelere devam.
gerisini kendim örneklerde ki gibi eklemeyi deneyeceğim.
tekrar çok teşekkür ederim ilginiz için.


//============================================================================
// Name        : hastane.cpp
// Author      : mce
// Version     :
// Copyright   : Your copyright notice
// Description :
//============================================================================

#include <iostream>
using namespace std;

void ana_menu();
void doktor_menu();
void hasta_menu();


int main() {

ana_menu();
return 0;
}
void ana_menu(){
cout << "1.Doktor Menu\n" ;
cout << "2.Hasta Menu\n"  ;
cout << "3.Randevu Menu\n";
cout << "4.Cikis\n" ;

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
doktor_menu();
break;
case '2':
hasta_menu();
break;
case '3':
puts("randevu menu\n");
break;
default:
continue;
}
}
}
void doktor_menu(){
char ch;
cout << "1.Yeni Doktor Ekle\n" << endl;
cout << "2.Listeden Doktor Sil\n" << endl;
cout << "3.Doktor Bilgisi Düzelt\n" << endl;
cout << "4.Doktor Listele\n" << endl;
cout << "5.Onceki Menuye Don\n" << endl;
while((ch = getchar())){
switch(ch){
case '1':
puts("1.doktor ekle\n");
break;
case '2':
puts("2.doktor sil\n");
break;
case '3':
puts("3.doktor duzelt\n");
break;
case'4':
puts("4.doktor listele\n");
case '5':
ana_menu();
default:
continue;
}
}
}
void hasta_menu(){
cout << "1.Yeni Hasta Ekle\n" << endl;
cout << "2.Listeden Hasta Sil\n"  << endl;
cout << "3.Hasta Bilgisi Düzelt\n" << endl;
cout << "4.Hasta Listele\n" << endl;
cout << "5.Önceki Menuye Don\n" << endl;

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
puts("1.hasta ekle\n");
break;
case '2':
puts("2.hasta sil\n");
break;
case '3':
puts("3.hasta duzelt\n");
break;
case '4':
puts("4.hasta listele\n");
case '5':
ana_menu();
default:
continue;
}
}
}
void randevu_menu(){
cout << "1.Yeni Randevu Ekle\n" << endl;
cout << "2.Randevu Sil\n"  << endl;
cout << "3.Randevu Duzelt\n" << endl;
cout << "4.Randevuları Listele\n" << endl;
cout << "5.Önceki Menuye Don\n" << endl;

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
puts("1.Gun\n");
break;
case '2':
puts("2.Ay\n");
break;
case '3':
puts("3.Yil\n");
break;
case '4':
puts("4.Saat\n");
           break;
       case '5':
puts("Doktor ID\n");
           break;
           case '6':
ana_menu();
default:
continue;
}
}
}

son hali budur ancak randevu menüde bir sıkıntı yaşadım.
tamamdır yukarıda void randevu_menu(); satırını ekleyince
randevu menüsüde çıktı :)

şimdi sıra geldi bir kaç ek bilgiyi ekleyip,c++'dan c'ye çevirmeye.

sema

@pwl verdiğiniz karar sevindirici. Ayrıca öğrenmiş olmanıza da çok sevindim. C'ye çevirirken evet dediğiniz gibi cout olan kısımlara printf yazıyorsunuz, cin olan yerlere de scanf yazacaksınız, klavyeden değer girmek için. C'de % işaretini de yazmayı unutmayın. Yapmaya çalışıp, son halini yazarsanız hataları bulmaya çalışırız. Kolay gelsin.
susema

pwl

tekrar selam,30 saattir uyumamanın verdiği halsizlik ve bilinç bulanıklığı ile daha öteye gidemiyorum.
elimdekinin son hali bu
teslim etmem için son iki buçuk saatim kaldı.

#include <iostream>
using namespace std;

void ana_menu();
void doktor_menu();
void hasta_menu();
void randevu_menu ();


int main() {

ana_menu();
return 0;
}
void ana_menu(){
cout << "1.Doktor Menu\n" ;
cout << "2.Hasta Menu\n"  ;
cout << "3.Randevu Menu\n";
cout << "4.Cikis\n" ;

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
doktor_menu();
break;
case '2':
hasta_menu();
break;
case '3':
           randevu_menu();
break;
default:
continue;
}
}
}
void doktor_menu(){
char ch;
cout << "1.Yeni Doktor Ekle\n" << endl;
cout << "2.Listeden Doktor Sil\n" << endl;
cout << "3.Doktor Bilgisi Duzelt\n" << endl;
cout << "4.Doktor Listele\n" << endl;
cout << "5.Onceki Menuye Don\n" << endl;
while((ch = getchar())){
switch(ch){
case '1':
puts("1.doktor ekle\n");
break;
case '2':
puts("2.doktor sil\n");
break;
case '3':
puts("3.doktor duzelt\n");
break;
case'4':
puts("4.doktor listele\n");
case '5':
ana_menu();
default:
continue;
}
}
}
void hasta_menu(){
cout << "1.Yeni Hasta Ekle\n" << endl;
cout << "2.Listeden Hasta Sil\n"  << endl;
cout << "3.Hasta Bilgisi Duzelt\n" << endl;
cout << "4.Hasta Listele\n" << endl;
cout << "5.Onceki Menuye Don\n" << endl;

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
puts("1.hasta ekle\n");
break;
case '2':
puts("2.hasta sil\n");
break;
case '3':
puts("3.hasta duzelt\n");
break;
case '4':
puts("4.hasta listele\n");
case '5':
ana_menu();
default:
continue;
}
}
}
void randevu_menu(){
cout << "1.Yeni Randevu Ekle\n" << endl;
cout << "2.Randevu Sil\n"  << endl;
cout << "3.Randevu Duzelt\n" << endl;
cout << "4.Randevuları Listele\n" << endl;
cout << "5.Onceki Menuye Don\n" << endl;

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
puts("1.Gun\n");
break;
case '2':
puts("2.Ay\n");
break;
case '3':
puts("3.Yil\n");
break;
case '4':
puts("4.Saat\n");
           break;
       case '5':
puts("Doktor ID\n");
           break;
           case '6':
ana_menu();
default:
continue;
}
}
}



siz ve yardımlarınız olmasaydı durumum vahim olurdu eminim.

ilk resim de görülen bazı yerleri tasarlayamadım, ayrıyetten bu C++ 'ı bir türlü C'ye çeviremedim.

bu konuda bana yardım edebilir misiniz, hem eksikleri gidermek hem de bunu tamamen C diline çevirebilmem için?

@semagkyz , artık son demlerimle, son nefesimle verdiğiniz bilgiler doğrultusunda bir kez daha değiştirmeye çalışacağım, hataları birlikte bulmaya çalışalım.


C'ye çevirmeye çalışırken uyguladıklarımı aşşağıdaki kod içerisinde veriyorum.


#include <iostream>


void ana_menu();
void doktor_menu();
void hasta_menu();
void randevu_menu ();


int main() {

ana_menu();
return 0;
}
void ana_menu(){
printf( "1.Doktor Menu\n") ;
printf( "2.Hasta Menu\n")  ;
printf( "3.Randevu Menu\n");
printf( "4.Cikis\n");

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
doktor_menu();
break;
case '2':
hasta_menu();
break;
case '3':
            randevu_menu();
break;
default:
continue;
}
}
}
void doktor_menu(){
char ch;
printf( "1.Yeni Doktor Ekle\n");
printf( "2.Listeden Doktor Sil\n");
printf( "3.Doktor Bilgisi Duzelt\n");
printf( "4.Doktor Listele\n");
printf( "5.Onceki Menuye Don\n");
while((ch = getchar())){
switch(ch){
case '1':
puts("1.doktor ekle\n");
break;
case '2':
puts("2.doktor sil\n");
break;
case '3':
puts("3.doktor duzelt\n");
break;
case'4':
puts("4.doktor listele\n");
case '5':
ana_menu();
default:
continue;
}
}
}
void hasta_menu(){
printf( "1.Yeni Hasta Ekle\n");
printf( "2.Listeden Hasta Sil\n");
printf( "3.Hasta Bilgisi Duzelt\n");
printf( "4.Hasta Listele\n");
printf( "5.Onceki Menuye Don\n");

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
puts("1.hasta ekle\n");
break;
case '2':
puts("2.hasta sil\n");
break;
case '3':
puts("3.hasta duzelt\n");
break;
case '4':
puts("4.hasta listele\n");
case '5':
ana_menu();
default:
continue;
}
}
}
void randevu_menu(){
printf( "1.Yeni Randevu Ekle\n");
printf( "2.Randevu Sil\n");
printf( "3.Randevu Duzelt\n");
printf( "4.Randevuları Listele\n");
printf( "5.Onceki Menuye Don\n");

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
puts("1.Gun\n");
break;
case '2':
puts("2.Ay\n");
break;
case '3':
puts("3.Yil\n");
break;
case '4':
puts("4.Saat\n");
            break;
        case '5':
puts("Doktor ID\n");
            break;
            case '6':
ana_menu();
default:
continue;
}
}
}


karşılaştığım tek sorum compile'a bastığımda ekran çok hızlı geçiyor.
ancak error falan göstermiyor nedenini anlayamadım, sanırım çok az kaldı C diline çevirmeme ama teknik bilgim yeterli olmadığı için hatayı anlayamıyorum.
@semagkyz, bu verdiğim son kodu bir compile edip hatanın ne olduğunu bana açıklayabilir misiniz çözüm yolunu söylemeden?bir fikir verseniz yeterli kendim çözmeye çalışayım bakalım ne olacak durum.

sema

:D Peki @pwl. Ben çevirmeye başlayayım o zaman. Yalnız bi sorunum var, Vista'yı Win 7'ye yükseltmiştim bu yüzden ordaki derleyicim şuan çalışmıyor, sınavlardan sonraya bıraktım, tekrar repair etmiyi. Ubuntu'da derlemedim o da sınavlardan sonraya kaldı (ne kadar çok ertelemişim dimi :P ) her neyse ben çevireyim siz de bilgisayarınızda derleyin. Bana kolay gelsin.
susema

pwl

Eğer çevirmeye başlamadıysanız siz bana bir ipucu verirseniz ben kendim çözmeye çalışayım, siz bana eksik olan içeriği ekleme konusunda yardım ederseniz çok daha iyi olur benim için yoksa ödevi eksik olarak teslim etmiş olacağım.

Bu arada ben de şu anda win7 kullanmaktayım ama DEV C++ ile hiçbir sorunum yok, sizin ki nedir?

sema

#12
Benim sorunum programla ilgili değil, Win 7'ye yükselttiğinizde birçok program çalışmıyor tekrar yüklemeniz gerekiyor (Visual Studio 2008, DreamWeaver ya da misal Matlab şuan çalışmıyor yeniden kurmam gerkiyor, ilgilenmiyorum şimdilik) DEV C++ ben de kullandım uzun bi süre ama açıkçası tavsiye etmiyorum çünkü hata olmasa bile hata veriyor, zaten sonda 2 defa getchar(); kullanmanızdan anlamıştım DEV C++ kullandığınızı. Muhtemelen arkadaşın kodlarında hata yoktur ama dediğim gibi ben de derleyemiyorum şuan bi şey diyemeyeceğim. Win oartamındaki en iyi derleyici bence Visual Studio 2005 6.0 Daha önce bunu kullanyordum, misal bu programla çalıştırdığım programlar Dev'de hata veriyordu.
Ubuntu kuruluysa sizde ordaki derleyicide bilginiz/deneyiminiz varsa onda da yapabilirsiniz.
susema

pwl

#13
Anladım umarım en kısa zamanda çözersiniz sorununuzu, bende Visual Studio 2008 kurmuştum makineye çok karışık geldi bana ve kaldırdım :)
sistemi de çok kasıyordu sanırım :(


sema

Tamam başlıyorum :) Ben de merak ediyordum ne yapacağımı.
susema

heartsmagic

Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

pwl

#16
şimdi sonuç olarak nedir durumumuz çeviriyor musunuz, anlamadım o kısmı net olarak.
@semagkyz ben hallettim sanırım çevirme sorununu umarım mesajımı görürsünüz, boşa zamanınızı harcamış olmak istemem. :'(

son kod aşşağıdaki gibidir, compile log kısmına baktığımda iostream hatası alıyordum ve şüphelendiğim iki şey vardı:
1- dos ekranı hemen gidiyor diye eksik get char(); mı kullandım acaba,
2- stdlib header'ı mı olmalıydı ilk kod.
cevap 2 numaralı madde =)
şu anda c++ olan bu program c dilinde çevrildi ancak tek eksik yer, ilk mesajımda resimde yer alan, Doktor Bilgileri(Adı,Soyadı,Telefon Numarası) alanı.
Orayı nasıl halledeceğim bir yardım edebilir misiniz?
#include <iostream>


void ana_menu();
void doktor_menu();
void hasta_menu();
void randevu_menu ();


int main() {

ana_menu();
return 0;
}
void ana_menu(){
printf( "1.Doktor Menu\n") ;
printf( "2.Hasta Menu\n")  ;
printf( "3.Randevu Menu\n");
printf( "4.Cikis\n");

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
doktor_menu();
break;
case '2':
hasta_menu();
break;
case '3':
           randevu_menu();
break;
default:
continue;
}
}
}
void doktor_menu(){
char ch;
printf( "1.Yeni Doktor Ekle\n");
printf( "2.Listeden Doktor Sil\n");
printf( "3.Doktor Bilgisi Duzelt\n");
printf( "4.Doktor Listele\n");
printf( "5.Onceki Menuye Don\n");
while((ch = getchar())){
switch(ch){
case '1':
puts("1.doktor ekle\n");
break;
case '2':
puts("2.doktor sil\n");
break;
case '3':
puts("3.doktor duzelt\n");
break;
case'4':
puts("4.doktor listele\n");
case '5':
ana_menu();
default:
continue;
}
}
}
void hasta_menu(){
printf( "1.Yeni Hasta Ekle\n");
printf( "2.Listeden Hasta Sil\n");
printf( "3.Hasta Bilgisi Duzelt\n");
printf( "4.Hasta Listele\n");
printf( "5.Onceki Menuye Don\n");

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
puts("1.hasta ekle\n");
break;
case '2':
puts("2.hasta sil\n");
break;
case '3':
puts("3.hasta duzelt\n");
break;
case '4':
puts("4.hasta listele\n");
case '5':
ana_menu();
default:
continue;
}
}
}
void randevu_menu(){
printf( "1.Yeni Randevu Ekle\n");
printf( "2.Randevu Sil\n");
printf( "3.Randevu Duzelt\n");
printf( "4.Randevuları Listele\n");
printf( "5.Onceki Menuye Don\n");

char ch;

while((ch = getchar()) != '4'){
switch(ch){
case '1':
puts("1.Gun\n");
break;
case '2':
puts("2.Ay\n");
break;
case '3':
puts("3.Yil\n");
break;
case '4':
puts("4.Saat\n");
           break;
       case '5':
puts("Doktor ID\n");
           break;
           case '6':
ana_menu();
default:
continue;
}
}
}

sema

Evet @pwl onu düzeltmiştim :) Neyse şimdi o eksiğinize bakayım o zaman. Eklemeleri scanf ile giriyoruz, kullanıcıdan istediği için, klavyeden girecek. Yalnız bunu yapmadan önce yukarıda istenen bilgileri yazınız (char isim[30]; int yas; falan filan; ne istiyorsa artık bakacağım şimdi)
susema

pwl

tamam çok teşekkür ederim :)

sizi epey uğraştırdım kusura bakmayın, ancak gerçekten bir bilgi açlığı var bende bu konuda o yöndeki potansiyelimi hissettim  :P

sema

Alıntı yapılan: heartsmagic - 25 Aralık 2009 - 22:35:40
Ubuntu altında neden derlemiyorsunuz?

Birilerinin bunu sormasını bekliyordum aslında. @heartsmagic Ubuntu altında da derleyeceğim ama daha bakmadım, Ubuntu'dakine. Programı kurdum ama daha uğraşmadım. Sınavlardan sonra ilk işim o olacak.?
susema

heartsmagic

Ubuntu altında temelde çok kolaydır o iş :)

gcc falanca.c
./a.out
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

sema

:) Teşekkür ederiz verdiğiniz çok kolay bilgi için. İlk fırsatta.

Bu arada @pwl sizi biraz bekletiyorum (diğer mesajlara da arada bir bakıyorum da uzayabiliyor ama yetiştirirsiniz umarım, hemen dönüyorum).
susema

pwl

rica ederim düşünmeniz yeterli, açıklama satırları yazıyorum bende şu anda kendi çapımda

sema

Son durum :P Programı kendi aramızda özel mesajla halletmeye çalıştık, ekle(), sil(), duzenle() gibi yeni fonksiyonların tanımlanıp her menu için ayrı ayrı çağrılması gerekiyor. Programın son halini daha sonra hazırlayıp koyacağım buraya, isteyenlere güzel bir otomasyon programı olur. (Şimdi özel mesaja karşı çıkanlar olabilir, herkesin faydalanması gerekçesiyle fakat daha tamamlanmadığı, eksik olduğu ve yeterli zaman kalmadığı için daha çabuk olması açısından, birlikten kuvvet doğar mantığıyla iyi olur diye düşündük)

Son halini daha sonra buraya koyacağız, umarım, inşallah, sanırım.
susema

pwl

tabii ki çalışmalara devam edeceğiz bakalım son halini buraya koyarız semagkyz kardeşimiz uygun olduğu bir vakit.
hem de isteyen arkadaşlar kendilerine göre gereken sekmelerin isimlerini değiştirirse örnek bir kod olur c açısından, bende c++ ile çalışan hallerini eklerim :)
hem bilgim artar hem de elimden geldiğince arkadaşlara yardımcı olmuş olurum
yaşasın özgürlük değil mi ;)