تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 7 از 7

نام تاپيک: اشکال یابی از یک برنامه

  1. #1
    داره خودمونی میشه vaheeed's Avatar
    تاريخ عضويت
    Aug 2008
    پست ها
    75

    14 اشکال یابی از یک برنامه

    سلام
    من یک برنامه نوشتم که کامپایلر ازش error میگیره که من علتش رو نمیدونم؟؟؟؟؟
    لطفا کمک کنید.
    میبخشید من نمیتونم فایل پیوست کنم ، و سایتی برای آپلود متن پیدا نکردم...
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<string.h>
    #define size 30
    struct str4{
    int money;
    int history[3];
    };
    struct majid{
    char name[20];
    int kod,vaade;
    struct str4 par[size],dar[size];
    }list[size],list2;
    void enter ();
    void save ();
    void outonep();
    void outoned();
    void output();
    void enterp();
    void enterd();
    //************************************************** *
    void main()
    {
    FILE *fp;
    char ch;
    int i,j;
    for(i=0;i<size;i++)
    {
    *(list[i].name)='\0';
    for(j=0;j<size;j++)
    {
    (list[i].par[j].money)=0;
    (list[i].dar[j].money)=0;
    }
    }
    fp=fopen("majid.dat","a+t");
    for(i=0;i<size;i++)
    {
    fread(&list[i],sizeof(struct majid),1,fp);
    if(feof(fp))
    break;
    {

    while(1)
    {
    printf("1)enter person\n2)save\n3)out pardakhti\n");
    printf("4)out daryafti\n5)out put total\n");
    printf("6)enter pardakhti\n7)enter daryafti\n");
    printf("8)quit\n");
    ch=getche();
    switch(ch)
    {
    case '1':enter(); break;
    case '2':save(); break;
    case '3':outonep();break;
    case '4':outoned();break;
    case '5':output(); break;
    case '6':enterp(); break;
    case '7':enterd(); break;
    case '8':exit(1);
    }
    clrscr();
    }
    }
    //************************************************** ********
    void enter ()
    {
    int i;
    for(i=0;i<size;i++)
    if(*(list[i].name)='\0')
    break;
    if(i==size)
    {
    printf("list full.prees kay");
    getch();
    exit(1);
    }
    for(;
    {
    printf("please enter name\n");
    gets(list[i].name);
    if(list[i].name[0]=='\r');
    {
    list[i].name[0]='\0';
    break;
    }
    }
    }
    //************************************************** *********
    void save ()
    {
    int i;
    rewind(fp);
    for(i=0;i<size;i++)
    if(*(list[i].name))
    fwrite(&list[i],sizeof (struct majid),1,fp);
    printf("data savred.prees kay");
    getch();
    }
    //************************************************** **************
    void outonep()
    {
    char name2[20],name1[20];
    int a=0;
    printf("please enter name\n");
    gets(name2);
    while(!feof(fp))
    {
    fread(list2,sizeof (struct majid),1,fp);
    if(strcmp(name2,list2.name)==0)
    { a=1; break;}
    }
    if(a==0)
    {
    printf("search complete.not found.prees kay\n");
    getch();
    exit(1);
    }
    else
    {
    printf("money\tyear\tmonth\tday\n");
    printf("__________________________________________ ________");
    for(i=0;i<size;i++)
    {
    if(*(list2.par[i].money)==0)
    break;
    printf("%d\t%d\t%d\t%d\n",list2.par[i].money,list2.par[i].history[0],list2.par[i].history[1],list2.par[i].history[2]);
    }
    }
    }
    //************************************************** *********************
    void outoned()
    {
    char name2[20],name1[20];
    int a=0;
    printf("please enter name\n");
    gets(name2);
    while(!feof(fp))
    {
    fread(list2,sizeof (struct majid),1,fp);
    if(strcmp(name2,list2.name)==0)
    { a=1; break;}
    }
    if(a==0)
    {
    printf("search complete.not found.prees kay\n");
    getch();
    exit(1);
    }
    else
    {
    printf("money\tyear\tmonth\tday\n");
    printf("__________________________________________ ________");
    for(i=0;i<size;i++)
    {
    if(*(list2.dar[i].money)==0)
    break;
    printf("%d\t%d\t%d\t%d\n",list2.dar[i].money,list2.dar[i].history[0],list2.dar[i].history[1],list2.par[i].history[2]);
    }
    }
    }
    //************************************************** ***************
    void output()
    {
    int i,k1,k2,k3,k4,k5,j;
    printf("name\tpardakhti\tdaryafti\tvaade\n");
    printf("__________________________________________ _______________");
    for(i=0;i<size;i++);
    {
    if(*(list[i].name)=='\0')
    break;
    for(j=0,j<size;j++)
    {
    if(list[i].par[j].money==0)
    break;
    k1+=list[i].par[j].money;
    k2+=list[i].dar[j].money;
    }
    k3+=k1;
    k4+=k2;
    k5+=list[i].vaade;
    printf("%s\t%d\t%d\t%d\n",list[i].name,k1,k2,list[i].vaade);
    }
    printf("total\t%d\t%d\t%d\n",k3,k4,k5);
    printf("sood=%d",k3-k4);
    }
    //************************************************** **************
    void enterp()
    {
    char name2[20];
    int i,j,k;
    printf("please enter name\n");
    gets(name2);
    for(i=0;i<size;i++)
    if(strcmp(name2,list[i].name)==0)
    break;
    if(i==size)
    {
    printf("not find name.press kay");
    getch();
    exit(1);
    }
    for(j=0;j<size;j++)
    if(list[i].par[j].money==0)
    break;
    if(j==size)
    {
    printf("list pardakht is full.press kay\n");
    getch();
    exit(1);
    }
    for(k=j;k<size;k++)
    {
    printf("please enter money\n");
    scanf("%d",&list[i].par[k].money);
    if(list[i].par[k].money==0);
    {
    break;
    }
    printf("please enter year, month, day\n");
    scanf("%d%d%d",&list[i].par[k].history[0],&list[i].par[k].history[1],&list[i].par[k].history[2]);
    }
    }
    //************************************************** ************************
    void enterd()
    {
    char name2[20];
    int i,j,k;
    printf("please enter name\n");
    gets(name2);
    for(i=0;i<size;i++)
    if(strcmp(name2,list[i].name)==0)
    break;
    if(i==size)
    {
    printf("not find name.press kay");
    getch();
    exit(1);
    }
    for(j=0;j<size;j++)
    if(list[i].dar[j].money==0)
    break;
    if(j==size)
    {
    printf("list daryaft is full.press kay\n");
    getch();
    exit(1);
    }
    for(k=j;k<size;k++)
    {
    printf("please enter money\n");
    scanf("%d",&list[i].dar[k].money);
    if(list[i].dar[k].money==0);
    {
    break;
    }
    printf("please enter year, month, day\n");
    scanf("%d%d%d",&list[i].dar[k].history[0],&list[i].dar[k].history[1],&list[i].dar[k].history[2]);
    }
    }

  2. #2
    اگه نباشه جاش خالی می مونه IP007's Avatar
    تاريخ عضويت
    May 2009
    محل سكونت
    Esfahan
    پست ها
    482

    پيش فرض

    کاشکی error را میذاشتی چقدر برنامت زیاده چشام درد گرفت

  3. #3
    حـــــرفـه ای sin2x=2sinxcosx's Avatar
    تاريخ عضويت
    Dec 2007
    پست ها
    2,234

    پيش فرض

    حداقل کاش تو تگ html مي ذاشتين . ضمنا Error رو به قول آقا/خانم pishi0014 مي ذاشتين خيلي بهتر بود .

  4. #4
    داره خودمونی میشه vaheeed's Avatar
    تاريخ عضويت
    Aug 2008
    پست ها
    75

    پيش فرض

    error ها خیلی الکی اند ، میگه برنامه از نظر ساختاری درست نیست. بهتره خودتون تو c اجراش کنید . مسلما بهتر میتونید اشکالش رو پیدا کنید.

  5. #5
    حـــــرفـه ای sin2x=2sinxcosx's Avatar
    تاريخ عضويت
    Dec 2007
    پست ها
    2,234

    پيش فرض

    خوب تقريبا بيشتر مشکل شما اينه که يه تابع رو داخل تابع ديگه تعريف کردين . مثلا تابع enter داخل تابع main .
    تو C نمي تونيم يه تابع رو داخل تابع ديگه تعريف کنيم . اگه قصد شما انجام چنين کاري نبوده به محل آکلاد بسته ها دقت کنين .

  6. #6
    داره خودمونی میشه vaheeed's Avatar
    تاريخ عضويت
    Aug 2008
    پست ها
    75

    پيش فرض

    من تابعی داخل تابع main تعریف نکردم و فقط از توابعی که قبل از تابع main تعریف کردم داخل تابع main استفاده کردم. فکر کنم چنین چیزی مجاز باشه.

  7. #7
    حـــــرفـه ای sin2x=2sinxcosx's Avatar
    تاريخ عضويت
    Dec 2007
    پست ها
    2,234

    پيش فرض

    اگه دقت کنین آکلاد ها رو سرجای خودش نبستین و باعث شده کامپایلر فکر کنه شما تابع enter رو داخل main تعریف کردین .

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •