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

نام تاپیک: مشکلی در برنامه C

  1. #1

    Question مشکلی در برنامه C

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

    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>

    struct student {
    char name[20];
    char family[30];
    char namedan[30];
    float mark;
    } *p;

    void print (student *, int);
    int marks (student *, int);

    int main(){
    int i;
    char ch;



    for(i=1;;i++){
    p=(student *) malloc (sizeof(student));
    p++;
    printf("\nenter %d student's name:\n",i);
    gets((*p).name);
    printf("enter %d student's family:\n",i);
    gets((*p).family);
    printf("enter %d student's namedan:\n",i);
    gets((*p).namedan);
    printf("enter %d student's average:\n",i);
    scanf("%f",&(*p).mark);

    printf("do you want to enter another student's information?(y or n)");
    ch=getche();

    if (ch!='y') break;
    free(p);
    }
    print(p,i);
    printf ("average of student's marks is: %f",marks(p,i));

    getch();
    return 0;
    }

    void print (student *p, int s){
    int i;
    for (i=0;i<s;i++){
    printf("\n%s\t%s\t%s\t%f\n",(*p).name,(*p).family, (*p).namedan,(*p).mark);
    p++;
    }
    }

    int marks (student *p, int s){
    int i;
    float avg,sum=0;

    for (i=0;i<s;i++){
    sum=sum+(*p).mark;
    p++;
    }
    avg=sum/s;
    return avg;

    }
    آخرین ویرایش به وسیله alireza_e92 : یک شنبه 29 خرداد 1390 در 12:34 عصر

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

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