در اين بخش مي‌توانيد به مباحث مربوط به انواع زبان هاي برنامه نويسي بپردازيد
Major II

Major II



نماد کاربر
پست ها

258

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

پنج شنبه 29 تیر 1385 03:36

محل سکونت

دانشگاه

آرشيو سپاس: 25 مرتبه در 22 پست

برنامه ي من چه مشکلي داره؟؟!!

توسط borhan » سه شنبه 10 بهمن 1385 01:49

lسلام
رو ای برنامه خیلی زحمت کشیدم ولی نمیدونم مشکلش چیه؟ :sad:
اگه شما کمکم کنید خیلی ممنون میشم :(
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
typedef struct{
     long int stid;
     char name[20];
     char major[20];
     char city[20];
     float avg;
     int Valid;
}student;
char display(void);
cmptr(char[],char[]);
int stdinput(student arr[],int size);
void sortid(student arr[],int size);
void sortname(student arr[],int size);
void sortavg(student arr[],int size);
void findid(student arr[],int size);
void findname(student arr[],int size);
int main(void)
{
student data[100];
int size=0;
  char key;
  while((key=display())!='7')
     {
      clrscr();
      switch(key)
                {

                         case '1':size=stdinput(data,size);
                                        break;
                         case '2':sortid(data,size);
                                        break;
                         case '3':sortname(data,size);
                                        break;
                         case '4':sortavg(data,size);
                                        break;
                         case '5':findid(data,size);
                                        break;
                         case '6':findname(data,size);
                                        break;
                         case '7':return 0;
                    }
       }
       return 0;
  }
////////////////////////////////////////////////////////////////////////////////
char display(void)
{
            clrscr();
            char ch;
            cout<<"Student's DataBase\n";
            cout<<"------------------\n\n";
            cout<<"\t 1)Enter New student."<<endl;
            cout<<"\t 2)View List by ID."<<endl;
            cout<<"\t 3)View List by Name."<<endl;
            cout<<"\t 4)View List by Average."<<endl;
            cout<<"\t 5)Find by ID."<<endl;
            cout<<"\t 6)Find by Name."<<endl;
            cout<<"\t 7)Exit"<<endl<<endl;
            cout<<"Select:";
            ch=getch();
            return ch;
}
////////////////////////////////////////////////////////////////////////////////
int cmpstr(char str1[],char str2[])
{

  int flag=0,i=0;
  while(str1[i]||str2[i]&&!flag)
  {
          if(str1[i]>str2[i])
                 flag=1;
          else if(str1[i]<str2[i])
                 flag=-1;

          i++;
     }
     return(flag);
}
////////////////////////////////////////////////////////////////////////////////
void findname(student arr[],int size)
{
  cout<<endl<<"Find Student by Name"
           <<endl<<"-------------------"
           <<endl<<"Enter Student Name";
  char Name[25];
  int i;
  gets(Name);
  for(i=0;i<size;i++)
      if(!cmpstr(arr[i].name,Name))
       break;
      if(i<size)
          cout<<(i+1)<<")"<<"\t"
               <<arr[i].stid<<"\t\t"
               <<arr[i].name<<"\t\t"
               <<arr[i].avg<<"\t\t"
               <<arr[i].major<<"\t\t"
               <<arr[i].city<<endl;


       else
          cout<<endl<<" not found.";

      getch();
}
////////////////////////////////////////////////////////////////////////////////
int stdinput(student arr[],int size)
{
int n;
cout<<endl<<"Enter New Student's Information:"
      <<endl<<"--------------------------------"
      <<endl<<"How many student?";

cin>>n;
for(int i=0;i<n;i++)
{
           cout<<(i+1)<<")"<<endl;
           cout<<"Name:";
           gets(arr[size].name);
           cout<<"ID:";
           cin>>arr[size].stid;
           cout<<"Major:";
           gets(arr[size].major);
           cout<<"City:";
           gets(arr[size].city);
           cout<<"Average:";
           cin>>arr[size].avg;
           cout<<endl;
           size++;
          }

      cout<<endl<<"New entry.";
      getch();
      return(size);
  }
////////////////////////////////////////////////////////////////////////////////
void sortid(student arr[],int size)
{
  student temp;
  int j;
  cout<<endl<<"Studen's Information(Sorted by ID)"
          <<endl<"----------------------------------"
          <<endl<<"ID\t\tName\t\tAverag\tMajor\tCity\n\n";
  for(int i=0;i<size;i++)
  {
     j=i;
     temp=arr[i];
     while(j>0&&temp.stid<arr[j-1].stid)
     {
                arr[j]=arr[j-1];
                j--;
      }
      arr[j]=temp;
  }
  for(int k=0;k<size;k++)
  {
       cout<<(k+1)<<")"<<"\t"
               <<arr[k].stid<<"\t\t"
               <<arr[k].name<<"\t\t"
               <<arr[k].avg<<"\t\t"
               <<arr[k].major<<"\t\t"
               <<arr[k].city<<endl;
     }

getch();
}

////////////////////////////////////////////////////////////////////////////////
void sortname(student arr[],int size)
{
  student temp;
  int j;
  cout<<endl<<"Studen's Information(Sorted by Name)"
          <<endl<<"----------------------------------"
          <<endl<<"ID\t\tName\t\tAverag\tMajor\tCity\n\n";
for(int i=0;i<size;i++)
{

                              j=i;
                              temp=arr[i];
                              while(j>0&&cmptr(arr[j-1].name,temp.name)>0)
                              {
                                               arr[j]=arr[j-1];
                                               j--;
                              }
                              arr[j]=temp;

          }

     for(int k=0;k<size;k++)
     {
       cout<<(k+1)<<")"<<"\t"
               <<arr[k].stid<<"\t\t"
               <<arr[k].name<<"\t\t"
               <<arr[k].avg<<"\t\t"
               <<arr[k].major<<"\t\t"
               <<arr[k].city<<endl;
     }

     getch();
}
////////////////////////////////////////////////////////////////////////////////
void sortavg(student arr[],int size)
{
student temp;
  int j;

  cout<<endl<<"Studen's Information(Sorted by Average)"
          <<endl<<"----------------------------------"
          <<endl<<"ID\t\tName\t\tAverag\tMajor\tCity\n\n";
for(int i=0;i<size;i++)
{

                              j=i;
                              temp=arr[i];
                              while(j>0&&temp.avg<arr[j-1].avg)
                              {
                                               arr[j]=arr[j-1];
                                               j--;
                              }
                              arr[j]=temp;

          }

     for(int k=0;k<size;k++)
     {
       cout<<(k+1)<<")"<<"\t"
               <<arr[k].stid<<"\t\t"
               <<arr[k].name<<"\t\t"
               <<arr[k].avg<<"\t\t"
               <<arr[k].major<<"\t\t"
               <<arr[k].city<<endl;
     }


     getch();
}
////////////////////////////////////////////////////////////////////////////////
void findid(student arr[],int size)
{
  int n,i;
  cout<<endl<<"Find Student by Std ID"
          <<endl<<"----------------------"
          <<endl<<"Enter Student ID:";
cin>>n;
for(i=0;i<size;i++)
                    if(arr[i].stid==n)
                    break;
     if(i<size)
       cout<<(i+1)<<")"<<"\t"
               <<arr[i].stid<<"\t\t"
               <<arr[i].name<<"\t\t"
               <<arr[i].avg<<"\t\t"
               <<arr[i].major<<"\t\t"
               <<arr[i].city<<endl;



       else
                 cout<<endl<<"Not found";
  getch();
}
فکر کنم مشکل از تابع سرت آی دی باشه :sad:

Major II

Major II



نماد کاربر
پست ها

258

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

پنج شنبه 29 تیر 1385 03:36

محل سکونت

دانشگاه

آرشيو سپاس: 25 مرتبه در 22 پست

توسط borhan » سه شنبه 10 بهمن 1385 13:42

يعني هيچکي نيست به من کمک کنه؟ :sad:
زود ازدواج کردن اشتباهه،ولي دير ازدواج کردن اشتباهي بزرگتر..

Major II

Major II



نماد کاربر
پست ها

258

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

پنج شنبه 29 تیر 1385 03:36

محل سکونت

دانشگاه

آرشيو سپاس: 25 مرتبه در 22 پست

اخطار در C ؟!!

توسط borhan » سه شنبه 10 بهمن 1385 14:28

این اخطار در C چرا پیش میاد؟
علت ای اخطار در C چیه؟
general protection exception
processor fault
زود ازدواج کردن اشتباهه،ولي دير ازدواج کردن اشتباهي بزرگتر..

Major I

Major I



نماد کاربر
پست ها

301

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

سه شنبه 14 شهریور 1385 07:00

آرشيو سپاس: 44 مرتبه در 19 پست

توسط bmyazdani » سه شنبه 10 بهمن 1385 15:19

این خط :
کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

چی هست؟ مطمئنی تعریفش کردی.فکر کنم یک تابع بوده :-(که جا افتاده.
شرمنده کد رو نخوندم :o

New Member



نماد کاربر
پست ها

2

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

جمعه 8 دی 1385 00:26

آرشيو سپاس: 0 مرتبه در 0 پست

توسط saalek » سه شنبه 10 بهمن 1385 15:31

در این قسمت:
cmptr(char[],char[]);
سریع اشکال رفع میشه.
قضیه اینه که موقع صدا کردن و دیکلر با تعریف تابع اسم یکی نیست. یکی cmptr است و دیگری cmpstr . که با رفع مشکل املایی حل میشه.
برنامه 3 نوع لیست گیری دارد و 2 تا سرچ .اکثر قسمتها درست کار می کند.

Major II

Major II



نماد کاربر
پست ها

258

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

پنج شنبه 29 تیر 1385 03:36

محل سکونت

دانشگاه

آرشيو سپاس: 25 مرتبه در 22 پست

توسط borhan » سه شنبه 10 بهمن 1385 16:22

دستتون درد نکنه انارو درست کردم ولي الان يه مشکلديگه ميکيره که نميدونم تقصير چيه  :sad:
اين اخطار رو ميده:
general protection exception
processor fault
الان چيکار کنم؟
زود ازدواج کردن اشتباهه،ولي دير ازدواج کردن اشتباهي بزرگتر..

Colonel II

Colonel II



no avatar
پست ها

90

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

پنج شنبه 9 شهریور 1385 21:15

آرشيو سپاس: 9 مرتبه در 8 پست

توسط athlon64x2 » سه شنبه 10 بهمن 1385 16:38

سلام دوست عزيز

1. از چه کمپايلر سي و در چه محيطي استفاده ميکنيد و چه نسخه اي ؟
2. روي چه ويندوزي کار ميکنيد يا اين خطا رو در داس گرفتيد ؟
3. اين خطار رو کجا ميگيريد ؟ داخل ide  يا بعد از ساختن exe  و با اجراي اون ؟


1. اجراي برنامه 16 بيتي (ide ها و کمپايلرهاي قديمي در حد بورلند سي نسخه هاي قديمي توربو سي و ميکروسافت سي و کوييک سي ) روي ويندوز اxp ميتونه چنين مشکلي ايجاد کنه. اين ويندوز فاقد مود real هست و داس اون عملا يک ماشين مجازي است (به چشم يک virtual pc که داس رو بوت کرده اما درست عمل نميکنه بهش نگاه کنيد). به نظر من مشکل شما از اين مورده چون اين خطا يک خطاي ويندوز هست که گرفتيد . در اينصورت يا در real dos بوت کنيد و کار کنيد (مثلا با ديسکت) يا راه بهترش نصب vmware که مجاني است و نصب داس روي اون هست که داس 7.1 که غير رسمي منتشر شده اما با هاردهاي بسيار بزرگ هم سازگاره (از لحاظ نشون دادن سايز فايل و حجم باقيمانده و ...) پيشنهاد ميکنم. اين روشي است که چندساليه استفاده ميکنم و تا حالا مشکلي نداشتم.

2. اگر در محيط IDE اين خطا رو ميگيريد احتمالا بخاطر قديمي بودن ide است  مثلا ide ماکرو اسمبلر با سيستم هاي سريع و يا روي هاردديسک هاي بزرگ (بخاطر متغير 32 بيني که براي محاسبه حجم استفاده ميکنه) هنگ ميکنه . در اين موارد راه حل موقت اما موثر کمپايل کردن کد در کنسول و بدون استفاده از ide است يا استفاده از make که فوق العاده کارو آسون ميکنه

3. در ضمن بعضي اخلالات شناخته شده هستن . هر کمپايلري براي لينک کد نهايي يک بخش کد obj به obj کد شما اضافه ميکنه که در اين کد مثلا c0.obj آماده سازي stack انجام ميشه stack اختصاصي crt تنظيم ميشه و متغيرهاي گلوبال مربوطه ست ميشن . بعضي کمپايلرها کاراي ديگه اي هم ميکنن مثلا توربو پاسکال يک لوپ رو اجرا ميکنه که بتونه زمان تيک سي پي يو (عملا سرعت) رو براي sleep کردن بعدي محاسبه کنه . در اين بين اگر اختلالي پيش بياد با پيغام هاي خطايي که در اون کد هست مواجه ميشيد . مثلا توربوپاسکال 7 روي سي پي يو هاي سريع هم exe هايي که ميسازه اجرا نميشن . در اين موارد اگر نسخه جديدتري وجود داره معمولا مشکل رو حل ميکنه اگرم نبود پچ هايي هست که مشکل رو برطرف ميکنه

اگر جواب سوالهاي فوق رو بديد بيشتر ميتونم کمک کنم
ارادتمند
نعيمي

Major II

Major II



نماد کاربر
پست ها

258

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

پنج شنبه 29 تیر 1385 03:36

محل سکونت

دانشگاه

آرشيو سپاس: 25 مرتبه در 22 پست

توسط borhan » سه شنبه 10 بهمن 1385 21:07

خواهش ميکنم يکي به من کمک کنه  :sad:
زود ازدواج کردن اشتباهه،ولي دير ازدواج کردن اشتباهي بزرگتر..

Major I

Major I



نماد کاربر
پست ها

301

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

سه شنبه 14 شهریور 1385 07:00

آرشيو سپاس: 44 مرتبه در 19 پست

توسط bmyazdani » سه شنبه 10 بهمن 1385 21:19

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

Major II

Major II



نماد کاربر
پست ها

258

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

پنج شنبه 29 تیر 1385 03:36

محل سکونت

دانشگاه

آرشيو سپاس: 25 مرتبه در 22 پست

توسط borhan » سه شنبه 10 بهمن 1385 21:33

واقعا دستت درد نکنه... :razz:
ولي شما خودتون اين برنامه رو اجرا کردين؟
فکر کنم بازم مشکل داره...
يه اخطار جديد رو کامپيوتر من نشون ميده ولي نميدونم تقصير چيه  :sad:
اخطار اينه:
general protection exception
processor fault
الان چيکار کنم؟ :lol:
زود ازدواج کردن اشتباهه،ولي دير ازدواج کردن اشتباهي بزرگتر..

Major I

Major I



نماد کاربر
پست ها

301

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

سه شنبه 14 شهریور 1385 07:00

آرشيو سپاس: 44 مرتبه در 19 پست

توسط bmyazdani » سه شنبه 10 بهمن 1385 22:10

من برنامه رو بدون مشکل اجرا کردم درست کار میکرد.با بورلند c++ 5 و توربو c
در مورد خطای بالا هم من هیچی نمی دونم  :o
فکر کنم آقای athlon64x2 بتونه کمکت کنه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

Major II

Major II



نماد کاربر
پست ها

258

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

پنج شنبه 29 تیر 1385 03:36

محل سکونت

دانشگاه

آرشيو سپاس: 25 مرتبه در 22 پست

توسط borhan » سه شنبه 10 بهمن 1385 22:35

من با توربو c++ 4.5 اجرا کردم کار نميکنه  :sad:
.
بابت زحمات شما هم خيلي دستتون درد نکنه  :razz:
زود ازدواج کردن اشتباهه،ولي دير ازدواج کردن اشتباهي بزرگتر..

بعدي

 


  • موضوعات مشابه
    پاسخ ها
    بازديدها
    آخرين پست

چه کسي حاضر است ؟

کاربران حاضر در اين انجمن: بدون كاربران آنلاين و 3 مهمان



phpBB | CentralClubs