نمایش نتایج 1 تا 12 از 12

نام تاپیک: سوال در مورد sorting در زبان C

  1. #1

    سوال در مورد sorting در زبان C

    سلام من یه پروژه ی کتابخونه دارم که باید توی یه قسمتش این قابلیتو اضافه کنم که اسامی اعضا و کتاب ها رو از راه های مختلف مرتب کنه و نمایش بده...مثلا اعضا رو هم بتونه بر اساس شماره عضویت مرتب کنه و هم نام خانوادگی و کتاب ها رو هم بر اساس نام نویسنده و هم نام خود کتاب...صفحه 139 کتاب جعفرنژاد یه مثال واسه مرتب کردن نام خانوادگی داره ولی توی اون مثال برای اسم ها آرایه 2 بعدی تعریف کرده ولی من 1 بعدی تعریف کردم...میشه کمکم کنید این قسمتو بنویسم؟
    برای اطلاعاتون برنامم به زبان c هست

  2. #2
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: سوال در مورد sorting در زبان C

    شما مشخص کن با چه روشی می خواهی این لیست را مرتب کنی

    ولی ساده ترین کار استفاده از یک آرایه تمپ هست که اول کل اطلاعات را به اون منتقل کنی تا مرتب شد دوباره روی اولی بنویسی که یک بعدیه

  3. #3

    نقل قول: سوال در مورد sorting در زبان C

    اون قسمت مرتب کردن رو نوشتم الان برنامه اجرا میشه ولی خیلی جاهاش اشکال داره...من دارم یکی یکی دارم گزینه های منو رو بررسی میکنم...رسیدم به گزینه ی سوم ولی نمیدونم چرا وقتی به این گزینه میرم دیگه نمیتونه خارج بشه...منظورم اینه که برمیگرده به منو ولی دیگه از تو منو خارج نمیشه...یه نگاه بش بندازید لطفا...
    پدرم درومد پای این پروژه....
    http://rapidshare.com/files/345437430/LIBRARY.CPP.html

  4. #4

    نقل قول: سوال در مورد sorting در زبان C



    int menu(void){
    char s[10];
    int c;
    printf("1)Add a new book:\n");
    printf("2)Add a new member:\n");
    printf("3)Edit memeber's informatin:\n");
    printf("4)Edit information of books:\n");
    printf("5)remove a book:\n");
    printf("6)Remove a member:\n");
    printf("7)Display lis of books:\n");
    printf("8)Display member's list:\n");
    printf("9)Search for members:\n");
    printf("10)Search for books:\n");
    printf("11)Load memeber file:\n");
    printf("12)Load book file:\n");
    printf("13)Borrow book:\n");
    printf("14)Display list of borrowed books:\n");
    printf("15)Add an assistant:\n");
    printf("16)exit\n");
    printf: printf("Please enter your choose between 1-16:\n");
    gets(s);
    c=atoi(s);
    if(c<1||c>16)
    goto printf;
    else{
    clrscr();
    return(c); }

    }


    void editm(void){
    int n,i,j,t,k;
    first: printf("Enter member's ID:\n");
    scanf("%d",&n);
    for(j=0;j<MAX;j++){
    if(n==mem_info[j].memno)
    goto last;
    if(mem_info[j].memno!=n){
    edit:printf("wrong ID!\n1.another member\n2.back");
    scanf("%d",&t);
    if(t==2){
    clrscr();
    menu();}
    if(t==1)
    goto first;
    else
    printf("wrong number");
    goto edit; }
    }

    last: printf("enter new member name:\n");
    scanf("%s",mem_info[j].name);
    printf("enter new family name:\n");
    scanf("%s",mem_info[j].family);
    printf("enter new address:\n");
    scanf("%s",mem_info[j].address);
    printf("enter telephone number:\n");
    scanf("%d",&mem_info[j].phno);
    printf("enter new ID:");
    scanf("%d",&mem_info[j].memno);
    printf("press any key...");
    getch();
    clrscr();
    goto edit; }








    700خطه من اینجارو که مشکل داشت گذاشتم

  5. #5
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    227

    نقل قول: سوال در مورد sorting در زبان C

    سلام،

    ببخشید این کدی که گذاشتین مربوط به sort میشد !؟

    خیلی خسته نباشین که 700 خط کد نوشتین... من کدتون رو نگاه کردم، دستورات printf بسیار زیاد بودن! هیچ جوره نمیتونین این چاپ کردن ها رو کم کنین !؟

    ویرایش : کد مربوط به sort کردنتون رو دیدیم. یه struct مجموعه ای از فیلدهاست نه فقط یه فیلد اسم. منظورم اینه که شما فقط نباید فیلد name دوتا متغیر رو با هم عوض کنین و باید کل محتویات 2 تا struct رو با هم عوض کنین. یه سوال دیگه هم برام پیش اومد این بود که آیا تعداد کتابها رو داریم یا نه !؟
    آخرین ویرایش به وسیله qwerty11 : پنج شنبه 15 بهمن 1388 در 01:17 صبح

  6. #6

    نقل قول: سوال در مورد sorting در زبان C

    نقل قول نوشته شده توسط qwerty11 مشاهده تاپیک
    سلام،

    ببخشید این کدی که گذاشتین مربوط به sort میشد !؟

    خیلی خسته نباشین که 700 خط کد نوشتین... من کدتون رو نگاه کردم، حداقل نصف خطها دستورات printf بود! هیچ جوره نمیتونین این چاپ کردن ها رو کم کنین !؟
    نخیر کامل مطلبو بخونید اینایی که گذاشتم مربوط به sort نیست....مربوط به ویرایش اطلاعاته وقتی وارد این تابع میشم دیگه بیرون نمیاد...فعلا مشکل اینه
    اون دستور printf ها هم نمیشه کم کرد...بالاخره باید استاد یا کاربر بفهمه چی کار کنه یا نه؟!
    آدم با این حرفا خستگی به تنش میمونه که...10 روزه پای این پروژه ام آخرش یکی درمیاد اینطوری میگه...

  7. #7
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    227

    نقل قول: سوال در مورد sorting در زبان C

    اون دستور printf ها هم نمیشه کم کرد...بالاخره باید استاد یا کاربر بفهمه چی کار کنه یا نه؟!
    آدم با این حرفا خستگی به تنش میمونه که...10 روزه پای این پروژه ام آخرش یکی درمیاد اینطوری میگه...
    من چه حرف بدی زدم !؟ الآن مثلاً گفتم printf زیاد داری خستگی تو تنت بیشتر شده !؟ printf هم جزء دستورات برنامه نویسیه!!! من فقط به خاطر خودتون گفتم که کدتون یکم کمتر بشه ! بگذریم...

    خط آخر چرا goto edit گذاشتین دوباره !؟ فکر کنم به جای اون باید return میزاشتین

  8. #8
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: سوال در مورد sorting در زبان C

    فکر کنم مشکلت حل بشه اگر یک نقطه end: آخر تابع در نظر بگیری و وقتی برک شد بری اونجا تا از تابع خارج بشه
    آخرین ویرایش به وسیله amin1softco : پنج شنبه 15 بهمن 1388 در 10:10 صبح

  9. #9

    نقل قول: سوال در مورد sorting در زبان C

    نقل قول نوشته شده توسط qwerty11 مشاهده تاپیک
    سلام،
    ویرایش : کد مربوط به sort کردنتون رو دیدیم. یه struct مجموعه ای از فیلدهاست نه فقط یه فیلد اسم. منظورم اینه که شما فقط نباید فیلد name دوتا متغیر رو با هم عوض کنین و باید کل محتویات 2 تا struct رو با هم عوض کنین. یه سوال دیگه هم برام پیش اومد این بود که آیا تعداد کتابها رو داریم یا نه !؟
    یه سوال کد مربوط به sort منو از کجا دیدید؟ اون فایلی که تو رپید شیر آپلود کردم که باز نمیشه بقیه ی کدهایی هم که گذاشتم به sort مربوط نیست؟؟؟؟حالا به هر صورت میشه بیشتر توضیح بدید؟ یکمی نفهمیدم
    برای تعداد کتابها هم یه ماکزیمم در نظر گرفتم که 100 تا هست...تعداد دقیق رو نداریم فقط میدونیم حداکثر 100 تا میتونه بگیره

  10. #10
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    227

    نقل قول: سوال در مورد sorting در زبان C

    من دیروز اون فایلی رو که تو رپیدشیر آپ کردین دیدم! الآنم یکم تست کردم، بازم میشه دانلودش کرد.

    شما باید حتماً یه متغیر عمومی برای تعداد کتابها و تعداد کاربرها در نظر بگیرین تا از بوجود آمدن مشکلات احتمالی جلوگیری کنین. اما تو این مسئله ی خاص اگر از لیست پیوندی استفاده میکردین بهتر بود. درباره ی سورت کردن یه آرایه از struct ها مثلاً بر اساس فیلد ID:
    for(int i=0;i<n;i++){
    for(int j=i+1;j<n;j++){
    if(strct[i].ID>strct[j].ID){
    strct temp=strct[i];
    strct[i]=strct[j];
    strct[j]=temp;
    }
    }
    }

  11. #11

    نقل قول: سوال در مورد sorting در زبان C

    نقل قول نوشته شده توسط qwerty11 مشاهده تاپیک
    من دیروز اون فایلی رو که تو رپیدشیر آپ کردین دیدم! الآنم یکم تست کردم، بازم میشه دانلودش کرد.

    شما باید حتماً یه متغیر عمومی برای تعداد کتابها و تعداد کاربرها در نظر بگیرین تا از بوجود آمدن مشکلات احتمالی جلوگیری کنین. اما تو این مسئله ی خاص اگر از لیست پیوندی استفاده میکردین بهتر بود. درباره ی سورت کردن یه آرایه از struct ها مثلاً بر اساس فیلد ID:
    for(int i=0;i<n;i++){
    for(int j=i+1;j<n;j++){
    if(strct[i].ID>strct[j].ID){
    strct temp=strct[i];
    strct[i]=strct[j];
    strct[j]=temp;
    }
    }
    }
    structure رو باید با strcpy کپی کنم دیگه آره؟فکر نمیکنم همینطوری با این دستور(for(int i=0;i<n;i++){
    for(int j=i+1;j<n;j++){
    if(strct[i].ID>strct[j].ID){
    strct temp=strct[i];
    strct[i]=strct[j];
    strct[j]=temp;
    }
    }
    }) انجام بشه؟

  12. #12
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    تهران
    پست
    227

    نقل قول: سوال در مورد sorting در زبان C

    نه. همینجوری که من نوشتم درست انجام میشه. از یه ورژن c به بعد میشه دو تا struct رو مساوی هم قرار داد. یعنی دقیقاً با عمل = .
    strcpy برای کپی کردن یه رشته تو یه رشته دیگه هستش و در مورد struct کاربردی نداره.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •