loading...
برنامه نویسی
سجاد بازدید : 943 سه شنبه 29 آذر 1390 نظرات (2)

برنامه ای که با ساختار آرایه ها مشخصات 100 دانشجو را گرفته .

الف ) نام دانشجو را گرفته و مشخصات کامل (نام و نام خانوادگی و شماره دانشجویی و نمره 1و نمره 2 و نمره 3 و معدل ) دانشجو را چاپ کند

ب) شماره دانشجویی را گرفته آن از لیست حذف کند

ج) دانشجوهایی که معدلشان بالای 18 است را نمایش دهند

د) نام دانشجویان را به ترتیب حروف الفبا چاپ نماید

#include<stdio.h>

#include<conio.h>

#include<string.h>

const int en=20;

const int n1=100;

struct student{

      char fname[en];

      char lname[en];

      long int stnum;

      float nomre1,nomre2,nomre3;

};

 

int main()

{

      int n=n1;

      student st[n1],temp;

      char str[20];

      int i,j,e,m=-1,left=0,right=n-1,mid,in=0;

      float avg;

      long int fin;

      for (int i=0; i<n; i++)

      {

            printf("fname%d=",i);

            scanf("%s",st[i].fname);

            printf("lname%d=",i);

            scanf("%s",st[i].lname);

            printf("stnum%d=",i);

            scanf("%ld",&st[i].stnum);

            printf("nomre=");

            scanf("%f",&st[i].nomre1);

            scanf("%f",&st[i].nomre2);

            scanf("%f",&st[i].nomre3);

      }

 

      //

      printf("enter fname");

      scanf("%s",str);

      for (i=0;i<n;i++)

      {

            int com=strcmp(str,st[i].fname);

            if(com==0)

            {

                  e=1;avg=0;

                  printf("name=%sn",st[i].fname);

                  printf("lname=%sn",st[i].lname);

                  printf("stnum=%ldn",st[i].stnum);

                  printf("nomre1=%fn",st[i].nomre1);

                  printf("nomre2=%fn",st[i].nomre2);

                  printf("nomre3=%fn",st[i].nomre3);

                  avg=(st[i].nomre1+st[i].nomre2+st[i].nomre3)/3;

                  printf("avg=%fn",avg);

            }

      }

      if (e==0)

                  printf("not findn");

 

      //

      printf("enter stnum");

      scanf("%ld",&fin);

      for (i=0;i<n;i++)

            for (j=i+1;j<n;j++)

                  if (st[i].stnum>st[j].stnum)

                  {

                        temp=st[i];

                        st[i]=st[j];

                        st[j]=temp;

                  }

      for (i=1;i<n;i++)

      {

            mid=(left+right)/2;

            if (st[mid].stnum  ==  fin)

            {

                  m=mid;

                  break;

            }

            else if ( st[mid].stnum < fin)

                  left=(mid)+1;

            else if ( st[mid].stnum > fin)

                  right=(mid)-1;

      }

      if (m!=-1)

      {

            printf("okn");

            for (i=m;i<n;i++)

                  st[i]=st[i+1];

            n--;

      }

      else

            printf("not findn");

 

      //

      printf("avg>=18n");

      for(i=0 ; i<n ; i++)

      {

            avg=(st[i].nomre1+st[i].nomre2+st[i].nomre3)/3;

            if (avg>=18)

            {

                  in=1;

            printf("name=%sn",st[i].fname);

            printf("lname=%sn",st[i].lname);

            printf("stnum=%ldn",st[i].stnum);

            printf("nomre1=%fn",st[i].nomre1);

            printf("nomre2=%fn",st[i].nomre2);

            printf("nomre3=%fn",st[i].nomre3);

            printf("avg=%fn",avg

ارسال نظر برای این مطلب
این نظر توسط a.r در تاریخ 1348/10/11 و 15:19 دقیقه ارسال شده است

سلام من برا پروژم مونده بودم خيلي ممنون بدردم خورد ....خير ازجوونيتون ببينيد ايشاللهشکلکشکلکشکلکشکلکشکلکشکلک


کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • نویسندگان
    آمار سایت
  • کل مطالب : 33
  • کل نظرات : 18
  • افراد آنلاین : 2
  • تعداد اعضا : 446
  • آی پی امروز : 27
  • آی پی دیروز : 4
  • بازدید امروز : 29
  • باردید دیروز : 5
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 117
  • بازدید ماه : 491
  • بازدید سال : 3,800
  • بازدید کلی : 141,718