欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      教師獎(jiǎng)金計(jì)算系統(tǒng)-C語言課程設(shè)計(jì)

      時(shí)間:2019-05-12 11:49:34下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫小編為你整理了多篇相關(guān)的《教師獎(jiǎng)金計(jì)算系統(tǒng)-C語言課程設(shè)計(jì)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《教師獎(jiǎng)金計(jì)算系統(tǒng)-C語言課程設(shè)計(jì)》。

      第一篇:教師獎(jiǎng)金計(jì)算系統(tǒng)-C語言課程設(shè)計(jì)

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案

      教師獎(jiǎng)金計(jì)算系統(tǒng)-C語言課程設(shè)計(jì)

      #include void main(){ int a=0,b=0,c=0,d=0,e=0,f=0,g=0,i=1,j=1,h=0;int m[3];float n[3];do { printf(“nttt歡迎使用教師獎(jiǎng)金計(jì)算系統(tǒng)nn”);printf(“請(qǐng)選擇教師類型:n”);printf(“

      1、專職教師n”);printf(“

      2、行政n”);printf(“0、退出程序n”);scanf(“%d”,&a);

      printf(“n===================n”);switch(a){ case 0:j=0;break;

      精心收集

      精心編輯

      精致閱讀

      如需請(qǐng)下載!

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案

      case 1: { {do

      {printf(“請(qǐng)輸入你的教師類型:n”);

      printf(“

      1、高級(jí)講師n2、中級(jí)講師n3、助理講師n4、見習(xí)期n”);

      scanf(“%d”,&b);

      switch(b)

      {case 1: c=10;d=40;break;

      case 2: c=9;d=35;break;

      case 3: c=8;d=30;break;

      case 4: c=4;d=10;break;

      default: printf(“n輸入錯(cuò)誤,請(qǐng)重新輸入:n”);

      }

      }

      while(b<=0||b>4);} printf(“n===================n”);{for(i=1;i<=3;i++)

      {

      printf(“請(qǐng)輸入所代 課程%d 本周所教的課時(shí)數(shù),最多3科,多出的輸入0n”,i);

      精心收集

      精心編輯

      精致閱讀

      如需請(qǐng)下載!

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案

      scanf(“%d”,&m[i]);

      printf(“您輸入的課時(shí)數(shù)為:%dn”,m[i]);

      printf(“請(qǐng)輸入所代 課程%d 所對(duì)應(yīng)的聽課人數(shù)n”,i);

      scanf(“%d”,&e);

      if(e<60)n[i]=1;

      if(e>=61&&e<=70)n[i]=1.2;

      if(e>=71&&e<=80)n[i]=1.3;

      if(e>=81&&e<=90)n[i]=1.4;

      if(e>=91&&e<=100)n[i]=1.5;

      if(e>=101&&e<=120)n[i]=1.6;

      if(e>=121&&e<=140)n[i]=1.7;

      if(e>=141&&e<=160)n[i]=1.8;

      if(e>=161&&e<=180)n[i]=1.9;

      if(e>=181)n[i]=2.0;

      printf(“您輸入的課程人數(shù)為%dn課程%d對(duì)應(yīng)系數(shù)為%2.2fn”,e,i,n[i]);

      } }

      printf(“n===================n”);

      {do

      精心收集

      精心編輯

      精致閱讀

      如需請(qǐng)下載!

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案

      {printf(“請(qǐng)選擇您的教師等級(jí):n”);

      printf(“

      1、A等n2、B等n3、C等n”);

      scanf(“%d”,&f);

      if(f==1)g=1;

      else if(f==2)g=0;

      else if(f==3)g=-1;

      else printf(“n輸入錯(cuò)誤,請(qǐng)重新輸入:n”);

      }

      while(f<=0||f>3);

      }

      printf(“n===================n”);printf(“n===========以下為您本月的獎(jiǎng)金信息:===========n”);printf(“乘學(xué)時(shí)系數(shù)后本月各課程課時(shí):n”);printf(“課程1:%2.2fn”,m[1]*n[1]*4.5);printf(“課程2:%2.2fn”,m[2]*n[2]*4.5);printf(“課程3:%2.2fn”,m[3]*n[3]*4.5);printf(“本月超課時(shí)為:%2.2fn”,(m[1]*n[1]+m[2]*n[2]+m[3]*n[3])*4.5-36);printf(“本月獎(jiǎng)金數(shù)為:%2.2fn”,((m[1]*n[1]+m[2]*n[2]+m[3]*n[3])*4.5-36)*(d+g)+36*(c+g

      精心收集

      精心編輯

      精致閱讀

      如需請(qǐng)下載!

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案));break;} case 2: { {do

      {printf(“請(qǐng)選擇類型:n”);

      printf(“

      1、普通行政(未兼課)nn2、普通行政兼課、實(shí)驗(yàn)室教師nn3、見習(xí)其行政(未兼課)nn4、見習(xí)期行政兼課nn5、中層領(lǐng)導(dǎo)(未兼課)nn6、中層領(lǐng)導(dǎo)兼課nn ”);

      scanf(“%d”,&b);

      }

      while(b<=0||b>6);}

      printf(“n===================n”);

      switch(b)

      {case 1: h=1500;

      printf(“n===========以下為您本月的獎(jiǎng)金信息:===========n”);

      printf(“您本月的坐班獎(jiǎng)金為:%dnn”,h);

      精心收集

      精心編輯

      精致閱讀

      如需請(qǐng)下載!

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案

      break;

      case 2:h=1500;

      {do

      {printf(“請(qǐng)輸入你的教師類型:n”);

      printf(“

      1、高級(jí)講師n2、中級(jí)講師n3、助理講師n”);

      scanf(“%d”,&d);

      switch(d)

      {case 1: c=10;break;

      case 2: c=8;break;

      case 3: c=6;break;

      default: printf(“n輸入錯(cuò)誤,請(qǐng)重新輸入:n”);

      }

      }

      while(b<=0||b>3);

      }

      printf(“n===================n”);

      {for(i=1;i<=3;i++)

      {

      printf(“請(qǐng)輸入所代 課程%d 本周所教的課時(shí)數(shù),最多3科,多出的輸入0n”,i);

      精心收集

      精心編輯

      精致閱讀

      如需請(qǐng)下載!

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案

      scanf(“%d”,&m[i]);

      printf(“您輸入的課時(shí)數(shù)為:%dn”,m[i]);

      }

      }

      printf(“n===================n”);

      {do

      {printf(“請(qǐng)選擇您的教師等級(jí):n”);

      printf(“

      1、A等n2、B等n3、C等n”);

      scanf(“%d”,&f);

      if(f==1)g=1;

      else if(f==2)g=0;

      else if(f==3)g=-1;

      else printf(“n輸入錯(cuò)誤,請(qǐng)重新輸入:n”);

      }

      while(f<=0||f>3);

      }

      printf(“n===================n”);

      printf(“n===========以下為您本月的獎(jiǎng)金信

      精心收集

      精心編輯

      精致閱讀

      如需請(qǐng)下載!

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案

      息:===========n”);

      printf(“您本月所教課時(shí)為:%2.2fn”,(m[1]+m[2]+m[3])*4.5);

      printf(“您本月的坐班獎(jiǎng)金為:%dn”,h);

      printf(“n您本月的全部獎(jiǎng)金為:%2.2fn”,h+((m[1]+m[2]+m[3])*4.5)*(c+g));

      break;

      case 3: h=700;

      printf(“n===========以下為您本月的獎(jiǎng)金信息:===========n”);

      printf(“n您本月的坐班獎(jiǎng)金為:%dn”,h);

      break;

      case 4: h=700;

      c=4;

      {for(i=1;i<=3;i++)

      {

      printf(“請(qǐng)輸入所代 課程%d 本周所教的課時(shí)數(shù),最多3科,多出的輸入0n”,i);

      scanf(“%d”,&m[i]);

      printf(“您輸入的課時(shí)數(shù)為:%dn”,m[i]);

      }

      }

      精心收集

      精心編輯

      精致閱讀

      如需請(qǐng)下載!

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案

      printf(“n===================n”);

      {do

      {printf(“請(qǐng)選擇您的教師等級(jí):n”);

      printf(“

      1、A等n2、B等n3、C等n”);

      scanf(“%d”,&f);

      if(f==1)g=1;

      else if(f==2)g=0;

      else if(f==3)g=-1;

      else printf(“n輸入錯(cuò)誤,請(qǐng)重新輸入:n”);

      }

      while(f<=0||f>3);

      }

      printf(“n===================n”);

      printf(“n===========以下為您本月的獎(jiǎng)金信息:===========n”);

      printf(“您本月所教課時(shí)為:%2.2fn”,(m[1]+m[2]+m[3])*4.5);

      printf(“您本月的坐班獎(jiǎng)金為:%dn”,h);

      精心收集

      精心編輯

      精致閱讀

      如需請(qǐng)下載!

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案

      printf(“n您本月的全部獎(jiǎng)金為:%2.2fn”,h+((m[1]+m[2]+m[3])*4.5*(c+g)));

      break;

      case 5: h=2000;

      printf(“n===========以下為您本月的獎(jiǎng)金信息:===========n”);

      printf(“您本月的坐班獎(jiǎng)金為:%dn”,h);

      break;

      case 6: h=2000;

      {do

      {printf(“請(qǐng)輸入你的教師類型:n”);

      printf(“

      1、高級(jí)講師n2、中級(jí)講師n3、助理講師n”);

      scanf(“%d”,&d);

      switch(d)

      {case 1: c=20;break;

      case 2: c=15;break;

      case 3: c=10;break;

      default: printf(“n輸入錯(cuò)誤,請(qǐng)重新輸入:n”);

      }

      }

      while(d<=0||d>3);

      精心收集

      精心編輯

      精致閱讀

      如需請(qǐng)下載!

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案

      }

      printf(“n===================n”);

      {for(i=1;i<=3;i++)

      {

      printf(“請(qǐng)輸入所代 課程%d 本周所教的課時(shí)數(shù),最多3科,多出的輸入0n”,i);

      scanf(“%d”,&m[i]);

      printf(“您輸入的課時(shí)數(shù)為:%dn”,m[i]);

      }

      }

      printf(“n===================n”);

      {do

      {printf(“請(qǐng)選擇您的教師等級(jí):n”);

      printf(“

      1、A等n2、B等n3、C等n”);

      scanf(“%d”,&f);

      if(f==1)g=1;

      else if(f==2)g=0;

      else if(f==3)g=-1;

      精心收集

      精心編輯

      精致閱讀

      如需請(qǐng)下載!

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案

      else printf(“n輸入錯(cuò)誤,請(qǐng)重新輸入:n”);

      }

      while(f<=0||f>3);

      }

      printf(“n===================n”);

      printf(“n===========以下為您本月的獎(jiǎng)金信息:===========n”);

      printf(“您本月所教課時(shí)為:%2.2fn”,(m[1]+m[2]+m[3])*4.5);

      printf(“您本月的坐班獎(jiǎng)金為:%dn”,h);

      printf(“n您本月的全部獎(jiǎng)金為:%2.2fn”,h+((m[1]+m[2]+m[3])*4.5)*(c+g));

      break;

      }

      }break;

      }

      }while(j==1);

      }

      精心收集

      精心編輯

      精致閱讀

      如需請(qǐng)下載!

      演講稿 工作總結(jié) 調(diào)研報(bào)告 講話稿 事跡材料 心得體會(huì) 策劃方案

      精心收集

      精心編輯 精致閱讀 如需請(qǐng)下載!

      第二篇:C語言課程設(shè)計(jì)火車票系統(tǒng)源代碼

      #include #include #include //火車票結(jié)構(gòu)體類型// typedef struct Node {int num;

      //編號(hào)// char name[20];

      //起點(diǎn)和終點(diǎn)// char time[5];

      //出發(fā)時(shí)間// int price;

      //車票價(jià)格// int amount;

      //剩余數(shù)量// struct Node *next;}Node;//創(chuàng)建鏈表并輸入數(shù)據(jù)// struct Node *creat(){ struct Node *head,*r,*s;

      int i=0;

      char choice;

      head=(struct Node *)malloc(sizeof(struct Node));head->next=NULL;r=head;do {

      s=(struct Node *)malloc(sizeof(struct Node));s->next=NULL;printf(“請(qǐng)輸入第%d種火車票的信息:n”,++i);printf(“請(qǐng)輸入火車的編號(hào):”);

      scanf(“%d”,&s->num);

      printf(“起點(diǎn)和終點(diǎn):”);scanf(“%s”,s->name);printf(“出發(fā)時(shí)間:”);scanf(“%s”,s->time);printf(“車票價(jià)格:”);scanf(“%d”,&s->price);printf(“剩余數(shù)量:”);scanf(“%d”,&s->amount);

      r->next=s;

      r=s;

      printf(“Continue?(Y/N)”);scanf(“%s”,&choice);}while(choice=='Y'||choice=='y');

      r->next=NULL;return(head);} //將單鏈表中的信息保存到文件1.txt中// void save(struct Node *h){

      struct Node *s;FILE *fp;

      char filename[10]=“1.txt”;

      fp=fopen(“1.txt”,“wt”);if(fp==NULL){

      printf(“n寫文件出錯(cuò),按任意鍵退出!”);getchar();exit(1);}

      for(s=h->next;s!=NULL;s=s->next)

      fprintf(fp,“%d %s %s %d %d n”,s->num,s->name,s->time,s->price,s->amount);

      getchar();fclose(fp);} // 從文件1.txt中讀取信息并存入單鏈表中// struct Node *read(){ struct Node *head,*r,*s;FILE *fp;char filename[10]=“zl.txt”;fp=fopen(“1.txt”,“rt”);if(fp==NULL){

      printf(“讀文件錯(cuò)誤,按任意鍵退出!”);getchar();exit(1);} head=(struct Node *)malloc(sizeof(struct Node));head->next=NULL;r=head;while(!feof(fp)){

      s=(struct Node *)malloc(sizeof(struct Node));fscanf(fp,“%d %s %s %d %d”,&s->num,s->name,s->time,&s->price,&s->amount);

      r->next=s;r=s;

      } r->next=NULL;fclose(fp);

      return head;} //將鏈表中的數(shù)據(jù)輸出// void print(struct Node *h){

      struct Node *s;

      printf(“n火車票信息如下:n”);

      printf(“~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n”);printf(“編號(hào)

      起點(diǎn)和終點(diǎn)

      出發(fā)時(shí)間

      車票價(jià)格

      剩余票數(shù):n”);

      for(s=h->next;s->next!=NULL;s=s->next){ printf(“ %d

      %10s

      %5s %10d %6dn”,s->num,s->name,s->time,s->price,s->amount);} } //鏈表查詢// struct Node * find(struct Node *h){ int i,j;char s[20];printf(“tt

      查詢方法有以下幾種:n”);printf(“tt

      1.火車票編號(hào)n”);printf(“tt

      2.起點(diǎn)和終點(diǎn)n”);printf(“tt

      3.出發(fā)時(shí)間n”);printf(“tt

      4.車票價(jià)格n”);printf(“tt

      5.剩余票數(shù)n”);printf(“請(qǐng)輸入您要查詢的方法的序號(hào):”);scanf(“%d”,&i);switch(i){ case 1:printf(“請(qǐng)輸入你要查詢火車票的編號(hào):”);scanf(“%d”,&j);

      while(h->next!=NULL)

      {

      h=h->next;

      if(h->num==j)return h;

      }

      return NULL;break;case 2:printf(“請(qǐng)輸入您要查詢火車票的起點(diǎn)和終點(diǎn):”);scanf(“%s”,s);while(h->next!=NULL){

      h=h->next;if(strcmp(h->name,s)==0)

      return h;

      } return NULL;break;case 3:printf(“請(qǐng)輸入您要查詢火車票的時(shí)間:”);

      scanf(“%s”,s);

      while(h->next!=NULL)

      {

      h=h->next;

      if(strcmp(h->time,s)==0)

      return h;

      }

      return NULL;

      break;case 4:printf(“請(qǐng)輸入你要查詢火車票的價(jià)格 :”);scanf(“%d”,&j);

      while(h->next!=NULL)

      {

      h=h->next;

      if(h->price==j)

      return h;

      }

      return NULL;

      break;case 5:printf(“請(qǐng)輸入你要查詢火車票的剩余票數(shù):”);scanf(“%d”,&j);

      while(h->next!=NULL)

      {

      h=h->next;

      if(h->amount==j)

      return h;

      } return NULL;

      break;} } //修改信息// change(struct Node *h,int k){ int j;struct Node *p;p=find(h);printf(“------------n”);printf(“t

      您要修改哪一項(xiàng)?n”);printf(“t

      1.火車編號(hào)n”);printf(“t

      2.起點(diǎn)和終點(diǎn)n”);printf(“t

      3.出發(fā)時(shí)間n”);printf(“t

      4.車票價(jià)格n”);

      printf(“t

      5.剩余票數(shù)n”);printf(“t

      0.退出系統(tǒng)n”);

      printf(“------------n”);printf(“請(qǐng)輸入您要修改項(xiàng)的編號(hào):”);scanf(“%d”,&j);switch(j)

      { case 1:

      printf(“修改后的火車編號(hào):”);

      scanf(“%d”,&p->num);

      break;

      case 2:

      printf(“修改后的起點(diǎn)和終點(diǎn):”);

      scanf(“%s”,p->name);

      break;

      case 3:

      printf(“修改后的出發(fā)時(shí)間:”);

      scanf(“%s”,p->time);

      break;

      case 4:

      printf(“修改后的車票價(jià)格:”);

      scanf(“%d”,&p->price);

      break;

      case 5:

      printf(“修改后的剩余票數(shù):”);

      scanf(“%d”,&p->amount);

      break;

      case 0:break;} } //刪除信息// delete(struct Node *h){ struct Node *p;

      int j;

      printf(“請(qǐng)輸入您要?jiǎng)h除的火車票的編號(hào):”);scanf(“%d”,&j);p=h->next;

      if(p==NULL)

      return 0;while(p!=NULL){ if(p->num==j){

      h->next=p->next;

      free(p);

      return 1;} h=p;p=p->next;

      } return 0;} //添加信息// void append(){

      struct Node *p;

      FILE *fp;

      fp=fopen(“1.txt”,“at+”);

      if(fp==NULL)

      {

      printf(“寫文件出錯(cuò),按任意鍵返回.n”);getchar();exit(1);

      }

      printf(“請(qǐng)輸入要添加的火車票的信息:火車編號(hào),起點(diǎn)和終點(diǎn),出發(fā)時(shí)間,車票價(jià)格,剩余票數(shù):n”);scanf(“%d%s%s%d%d”,&p->num,p->name,p->time,&p->price,&p->amount);fprintf(fp,“%d %s %s %d %dn”,p->num,p->name,p->time,p->price,p->amount);getchar();fclose(fp);} //數(shù)據(jù)的統(tǒng)計(jì)// void count(struct Node *h){ struct Node *s;s=h;int i,j,k,n=0;printf(“*****************************************************************************n”);

      printf(“tt

      請(qǐng)選擇您要統(tǒng)計(jì)項(xiàng)目的序號(hào):n”);

      printf(“tt

      1.車票價(jià)格n”);

      printf(“tt

      2.剩余票數(shù)n”);printf(“tt

      0.退出界面n”);

      scanf(“%d”,&i);switch(i)

      {

      case 1:

      printf(“請(qǐng)輸入您要統(tǒng)計(jì)車票的價(jià)格的標(biāo)準(zhǔn):”);

      scanf(“%d”,&j);

      printf(“tt

      請(qǐng)選擇低于或高于標(biāo)準(zhǔn):n”);

      printf(“tt

      1.價(jià)格低于%d的個(gè)數(shù)n”,j);

      printf(“tt

      2.價(jià)格高于%d的個(gè)數(shù)n”,j);

      scanf(“%d”,&k);

      if(k==1)

      {

      for(s=h->next;s->next!=NULL;s=s->next)

      if(s->price

      n++;

      printf(“車票價(jià)格低于%d的個(gè)數(shù)有%d個(gè).n”,j,n);

      }

      else

      {

      for(s=h->next;s->next!=NULL;s=s->next)

      if(s->price>j)

      n++;

      printf(“車票價(jià)格低于%d的個(gè)數(shù)有%d個(gè).n”,j,n);

      }

      break;

      case 2:

      printf(“請(qǐng)輸入您要統(tǒng)計(jì)剩余票數(shù)的數(shù)量:”);

      scanf(“%d”,&j);

      printf(“tt

      請(qǐng)選擇低于或高于所輸票數(shù):n”);

      printf(“tt

      1.票數(shù)低于%d的個(gè)數(shù)n”,j);

      printf(“tt

      2.票數(shù)高于%d的個(gè)數(shù)n”,j);

      scanf(“%d”,&k);

      if(k==1)

      {

      for(s=h->next;s->next!=NULL;s=s->next)

      if(s->amount

      n++;

      printf(“剩余票數(shù)低于%d的個(gè)數(shù)有%d個(gè).n”,j,n);

      }

      else

      {

      for(s=h->next;s->next!=NULL;s=s->next)

      if(s->amount>j)

      n++;

      printf(“剩余票數(shù)高于%d的個(gè)數(shù)有%d個(gè).n”,j,n);

      }

      break;

      case 0:break;

      } } //保存用戶和密碼到文件2.txt中// void save_user(){

      char file[10]=“2.txt”;FILE *fp;char name[20];char pwd[10];fp=fopen(“2.txt”,“at+”);if(fp==NULL){ printf(“n寫文件出錯(cuò),按任意鍵退出.n”);

      getchar();exit(1);} printf(“請(qǐng)輸入用戶名:”);

      scanf(“%s”,name);printf(“請(qǐng)輸入密碼:”);

      scanf(“%s”,pwd);

      fprintf(fp,“%s %sn”,name,pwd);

      getchar();

      fclose(fp);

      printf(“用戶注冊(cè)成功!n”);} //檢驗(yàn)用戶和密碼是否匹配// int check(char *name,char *pwd){ char name1[20];char pwd1[10];FILE *fp;char file[10]=“2.txt”;if((fp=fopen(“2.txt”,“rt”))==NULL){

      printf(“讀文件出錯(cuò),按任意鍵退出!n”);

      getchar();

      exit(1);}

      while(!feof(fp)){

      fscanf(fp,“%s %s”,name1,pwd1);

      if(strcmp(name1,name)==0&&strcmp(pwd1,pwd)==0)

      return 1;} return 0;} //數(shù)據(jù)排序// void sort(struct Node *h){ struct Node *s,*p,*m,*n;int t,t1,t2,t3;char s1[20];char s2[10];

      printf(“車票價(jià)格由小到大排序如下:n”);for(s=h->next;s->next!=NULL;s=s->next)for(p=s->next;p->next!=NULL;p=p->next)

      if(s->price>p->price)

      {

      t1=s->num;s->num=p->num;p->num=t1;

      t2=s->price;s->price=p->price;p->price=t2;

      t3=s->amount;s->amount=p->amount;p->amount=t3;

      strcpy(s1,s->name);strcpy(s->name,p->name);strcpy(p->name,s1);

      strcpy(s2,s->time);strcpy(s->time,p->time);strcpy(p->time,s2);

      }

      print(h);printf(“nn剩余車票數(shù)量由多到少排序如下:n”);for(s=h->next;s->next!=NULL;s=s->next)

      for(p=s->next;p->next!=NULL;p=p->next)

      if(s->amount

      amount)

      {

      t1=s->num;s->num=p->num;p->num=t1;

      t2=s->price;s->price=p->price;p->price=t2;

      t3=s->amount;s->amount=p->amount;p->amount=t3;

      strcpy(s1,s->name);strcpy(s->name,p->name);strcpy(p->name,s1);

      strcpy(s2,s->time);strcpy(s->time,p->time);strcpy(p->time,s2);

      } print(h);} void main(){ struct Node *head,*p;int i,j,k;head=(struct Node *)malloc(sizeof(struct Node));head->next=NULL;char name[20];char pwd[10];printf(“n***************歡迎進(jìn)入火車票管理系統(tǒng)******************n”);printf(“tt 1.用戶登錄n”);printf(“tt 2.用戶注冊(cè)n”);printf(“tt 0.退出系統(tǒng) n”);printf(“請(qǐng)輸入所選序號(hào):”);scanf(“%d”,&k);

      switch(k){ case 1: printf(“請(qǐng)輸入用戶名:”);

      scanf(“%s”,name);

      printf(“請(qǐng)輸入密碼:”);

      scanf(“%s”,pwd);

      if(check(name,pwd))

      {

      printf(“密碼正確.n”);

      do

      {

      printf(“nntt*********************歡迎進(jìn)入火車票管理系統(tǒng)***********************n”);

      printf(“tt

      1.錄入火車票信息tt

      2.添加火車票信息n”);

      printf(“tt

      3.修改火車票信息tt

      4.刪除火車票信息n”);

      printf(“tt

      5.打印火車票信息tt

      6.查詢火車票信息n”);

      printf(“tt

      7.統(tǒng)計(jì)火車票信息tt

      8.火車票銷售排行n”);

      printf(“tt

      0.退出系統(tǒng)n”);

      printf(“請(qǐng)輸入您要進(jìn)入菜單的序號(hào)(0-8):”);

      scanf(“%d”,&i);

      switch(i)

      {

      case 1:

      printf(“請(qǐng)錄入火車票信息nn”);

      head=creat();

      save(head);

      head=read();

      break;

      case 2:

      append();

      break;

      case 3:

      printf(“請(qǐng)輸入您要修改的火車票的編號(hào):”);

      scanf(“%d”,&j);

      change(head,j);

      save(head);

      break;

      case 4:

      head=read();

      if(delete(head))

      {

      printf(“已正確刪除!n”);

      save(head);

      }

      else

      printf(“要?jiǎng)h除的結(jié)點(diǎn)不存在!n”);

      break;

      case 5:

      head=read();

      print(head);

      break;

      case 6:

      printf(“請(qǐng)輸入您要查詢火車票的編號(hào)(以0結(jié)束):”);

      scanf(“%d”,&j);

      {

      p=find(head);

      printf(“編號(hào)

      起點(diǎn)和終點(diǎn)

      出發(fā)時(shí)間

      車票價(jià)格

      剩余票數(shù):n”);

      printf(“%d

      %10s

      %5s %10d %6dn”,p->num,p->name,p->time,p->price,p->amount);

      printf(“請(qǐng)繼續(xù)輸入序號(hào)(以0結(jié)束):”);

      scanf(“%d”,&j);

      }

      break;

      case 7: head=read();count(head);break;

      case 8: sort(head);break;

      case 0: printf(“************************用!*****************************n”);break;

      }

      }while(i!=0);

      }

      else

      printf(“密碼錯(cuò)誤或用戶名不存在.n”);

      break;case 2:save_user();break;case 0:break;}

      使

      第三篇:C語言課程設(shè)計(jì)學(xué)生選課系統(tǒng)

      題目

      一、學(xué)生選課管理系統(tǒng)

      第一部分:課程設(shè)計(jì)名稱、目的、要求

      第二部分:程序總體設(shè)計(jì)思路

      第三部分:程序功能劃分、圖示及流程圖

      第四部分:程序設(shè)計(jì)數(shù)據(jù)、運(yùn)行結(jié)果

      第五部分:程序的優(yōu)缺點(diǎn)

      第六部分:心得體會(huì)

      第七部分:附錄(源程序)

      第八部分:附錄(參考文獻(xiàn))

      目錄

      ..............................................................................第一部分:課程設(shè)計(jì)名稱、目的、要求

      名稱:學(xué)生選修課程系統(tǒng)設(shè)計(jì)

      目的:運(yùn)用C語言提高解決實(shí)際問題的能力 實(shí)驗(yàn)環(huán)境:Microsoft Visual C++ 6.0 內(nèi)容:

      假定有n門課程,每門課程有課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開課學(xué)期等信息,學(xué)生可按要求(如總學(xué)分不得少于60)自由選課?!竟δ堋?/p>

      系統(tǒng)以菜單方式工作?

      課程信息錄入功能(課程信息用文件保存)--輸入? 課程信息瀏覽功能--輸出?

      查詢功能:(至少一種查詢方式)--算法? 按學(xué)分查詢? 按課程性質(zhì)查詢? 學(xué)生選修課程(可選項(xiàng))?

      第二部分:程序總體設(shè)計(jì)思路

      由于C語言是面對(duì)過程的語言,故我的設(shè)計(jì)思路是根據(jù)目標(biāo)程序運(yùn)行的過程來編寫的。

      具體的設(shè)計(jì)思路如下:

      程序的要求是設(shè)計(jì)學(xué)生選修課管理系統(tǒng),對(duì)選修課程能夠進(jìn)行錄入和修改操作等,要求有菜單界面和退出功能。首先,考慮到程序的數(shù)據(jù)輸入,可以設(shè)置一個(gè)管理員登陸選項(xiàng),通過該選項(xiàng)進(jìn)入管理員界面,進(jìn)行選修課的錄入和修改操作,最后將錄入的課程保存到相應(yīng)的文件中。然后定義各種函數(shù)的功能包括查看,查詢,刪除等。另一個(gè)為學(xué)生登陸界面,該界面學(xué)生可以進(jìn)行課程選擇和瀏覽查詢等操作。在進(jìn)行該操作之前需要對(duì)管理員保存的文件進(jìn)行讀取,然后對(duì)其中的內(nèi)容進(jìn)行查詢等,在學(xué)生選好課程以后,可以將其選好的課程保存于相應(yīng)的文件中,以便下次進(jìn)行修改。通過函數(shù)的層層調(diào)用來實(shí)現(xiàn)程序的邏輯結(jié)構(gòu)。中間通過文件的打開和關(guān)閉實(shí)現(xiàn)對(duì)文件內(nèi)部所包含的數(shù)據(jù)的操作。

      整個(gè)程序的設(shè)計(jì)思路到此結(jié)束。

      第三部分:程序功能劃分、圖示及流程圖

      【功能模塊劃分及其流程圖】

      本程序功能模塊根據(jù)程序設(shè)計(jì)的需求,綜合程序的實(shí)用性、人性化、智能化的考慮,將程序劃分為6個(gè)部分分別編寫,程序主體功能將由這9個(gè)部分來完成。這9個(gè)部分依次是:

      1.登錄界面函數(shù);void login()2.學(xué)生登錄界面據(jù)函數(shù):void stu_login()3.管理員登錄界面函數(shù):void man_login()4.退出界面函數(shù):void bye_sys()

      5.課程選擇函數(shù):void c_select()6.課程瀏覽函數(shù):void c_view()7.課程查詢函數(shù):void c_search()8.課程增加函數(shù):void c_add()9.課程刪除函數(shù):void c_delete()10.菜單函數(shù):void index()11.主函數(shù)部分; main()

      總體設(shè)計(jì):

      學(xué)生選課系統(tǒng)管理員登錄學(xué)生登錄新增課程刪除課程課程瀏覽查詢課程學(xué)生選課課程瀏覽課程查詢c_add函數(shù)c_delete函數(shù)c_view函數(shù)c_search函數(shù)c_select函數(shù)c_view函數(shù)c_search函數(shù)

      系統(tǒng)功能模塊圖

      部分函數(shù)流程圖:

      1、課程選擇函數(shù):

      開始輸入要選擇的課程的編號(hào)j=0;j

      2、課程查詢函數(shù)

      開始輸入要查詢的課程的編號(hào)j=0;j

      3、課程增加函數(shù)

      開始輸入要增加的課程的編號(hào)j=0;j

      4、課程刪除函數(shù)

      開始輸入要?jiǎng)h除的課程的編號(hào)nj=0;j

      本程序是一款應(yīng)用軟件,故數(shù)據(jù)設(shè)計(jì)、程序運(yùn)行結(jié)果應(yīng)在程序的

      運(yùn)用中得以體現(xiàn),現(xiàn)在通過一個(gè)程序的運(yùn)用事例來對(duì)程序運(yùn)行結(jié)果進(jìn)行演示與實(shí)現(xiàn)?!拒浖\(yùn)用舉例】

      1、程序開始界面如下:

      選擇某個(gè)選項(xiàng),如進(jìn)行管理員登錄,進(jìn)行課程的增加 進(jìn)入管理員界面:

      2、再選擇所要進(jìn)行的操作,如進(jìn)行課程增加,結(jié)果如下:

      下面可以進(jìn)行繼續(xù)增加課程或者退出:

      3、選擇課程瀏覽,可以分頁查看相應(yīng)的課程信息: 第一頁:

      第二頁:

      4、課程查詢

      查找結(jié)果:

      4、管理員課程刪除操作:

      刪除后可以進(jìn)行瀏覽,觀察刪除后的結(jié)果:

      可見刪除后只有一條記錄。刪除操作完成正確。下面進(jìn)行學(xué)生操作的使用方法:

      1、學(xué)生登陸界面:

      2、選擇學(xué)生選課選項(xiàng):

      3、學(xué)生登陸也可進(jìn)行課程瀏覽和查詢函數(shù),其結(jié)果與管理員登陸相同,不再演示。

      第五部分:程序的優(yōu)缺點(diǎn)

      【程序的優(yōu)點(diǎn)】

      算法是程序的靈魂,程序的優(yōu)點(diǎn)首先表現(xiàn)在算法上的優(yōu)點(diǎn),其次才是功能上的。

      [算法上的優(yōu)點(diǎn)]主要體現(xiàn)在以下三點(diǎn):

      1.程序采用main主函數(shù)方式設(shè)計(jì),程序的主體的功能大都由該功能

      完成。程序如此設(shè)計(jì)有利于程序的進(jìn)一步改進(jìn)及有助于程序執(zhí)行效率的提高。

      2.程序?qū)ξ募?shù)據(jù)的讀寫采用了fread和fwrite塊讀寫函數(shù),能夠?qū)⑽募械臄?shù)據(jù)完全讀出,然后賦到定義的數(shù)組中,再在相應(yīng)的數(shù)組中進(jìn)行一系列操作,最終再寫入文件。

      3.插入操作在本程序中將課程信息直接插入數(shù)組最后一個(gè)節(jié)點(diǎn),從而減少了數(shù)據(jù)的相互移動(dòng),節(jié)省了時(shí)間。

      [功能上的優(yōu)點(diǎn)] 主要體現(xiàn)在以下兩點(diǎn):

      1. 簡(jiǎn)潔明了的程序菜單。程序主要采用了層次不同的菜單,相互獨(dú)立又相互聯(lián)系,巧妙相接,符合用戶的使用習(xí)慣與思維。2. 人性化的程序提示語言,程序提示語言較人性化,不僅大多為祈使語句、疑問句,而且提示明確,具有較強(qiáng)的明確的指導(dǎo)作用。程序提示不僅層次分明,提示方式多樣,而且提示信息井然有序,更加有利于用戶順利、準(zhǔn)確地看懂程序并進(jìn)行操作。

      【程序的缺點(diǎn)】 主要表現(xiàn)在以下兩點(diǎn):

      1、本程序沒有進(jìn)行相應(yīng)的密碼操作,所以對(duì)于使用者來說可能存在比較大的不保密性。需要改善。

      2、本程序沒有使用文本讀寫函數(shù)fscanf和fprintf,所以的到的課程文件和選課文件都是二進(jìn)制形式。

      第六部分:心得體會(huì)

      選課系統(tǒng)程序比起通訊錄程序來講好寫一些,由于本程序用到了數(shù)組,對(duì)于數(shù)組的操作掌握的比較熟練,所以在編寫程序的時(shí)候困難沒有那么多。

      本程序在編寫的過程中用到了許多通訊錄中的模塊化設(shè)計(jì)和函數(shù)互相調(diào)用的思想,使得編寫比較方便和好用。

      通過該系統(tǒng)的課程設(shè)計(jì)分析,我掌握了模塊化設(shè)計(jì)的方法,理解和運(yùn)用了結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法,掌握和提高了運(yùn)用C語言進(jìn)行程序設(shè)計(jì)的能力。

      程序設(shè)計(jì)的過程,實(shí)際上是確定解決問題的詳細(xì)步驟,而這個(gè)步驟通常叫做流程,在程序設(shè)計(jì)過程中理清楚整個(gè)問題的流程很重要,然后采取逐步細(xì)化的方法實(shí)現(xiàn)整個(gè)程序。

      對(duì)于一個(gè)較大的應(yīng)用程序,一般不可能一次就設(shè)計(jì)出一個(gè)很完善的系統(tǒng)。通常要先設(shè)計(jì)滿足基本要求的系統(tǒng),然后再測(cè)試或者在使用的過程中不斷完善,慢慢地做成一個(gè)功能很完善選修課程管理系統(tǒng)。所以在進(jìn)行調(diào)試的時(shí)候需要對(duì)許多變量理解和掌握其變化規(guī)律等,這對(duì)于我更好的掌握visual C中調(diào)試的工具有很大的幫助。

      總之經(jīng)過這次課程設(shè)計(jì),我對(duì)c語言的使用和理解都有了很大的加深,對(duì)于編程的思想也有了很多新的理解和感受。

      第七部分:附錄

      一、參考文獻(xiàn):

      1、李麗娟主編,C語言程序設(shè)計(jì)教程(第二版),人民郵電出版社

      2、嚴(yán)蔚敏主編,數(shù)據(jù)結(jié)構(gòu)(C語言),清華大學(xué)出版社

      3、崔單主編,C語言程序設(shè)計(jì)案例精粹,電子工業(yè)出版社

      4、譚浩強(qiáng)主編,程序設(shè)計(jì)(第三版),清華大學(xué)出版社

      二、源程序

      #include“stdio.h” #include“stdlib.h” #include“windows.h” #include“string.h”

      void index();//首頁 void login();void bye_sys();//退出界面

      void stu_login();//學(xué)生登錄菜單

      void c_select();void c_view();//課程瀏覽

      void c_add();//增加課程 void c_delete();void c_searchs();//學(xué)生查詢函數(shù) void c_searchm();//管理員查詢函數(shù) void c_viewm();//管理員瀏覽函數(shù) void c_views();//學(xué)生瀏覽函數(shù)

      struct course//定義課程結(jié)構(gòu)體

      {

      int c_num;

      char c_name[20];

      int c_score;

      int c_nelepeo;//課程已選人數(shù)

      int c_melepeo;//課程人數(shù)上限 };struct student { char s_number[10];

      char s_password[10];};struct manager { char m_name[10];char m_password[10];};

      void index()//首頁 {

      char input;

      printf(“nnttt*****************************n”);

      printf(“ttt

      湖南大學(xué)學(xué)生選課系統(tǒng)n”);

      printf(“ttt*****************************nnn”);

      printf(“ttt*****************************nnn”);

      printf(“ttt*****************************nnn”);

      printf(“ttt*****************************nnn”);

      printf(“ttt**********設(shè)計(jì)者:劉曉斌******nnn”);

      input=getchar();

      system(“cls”);} void login()//登陸界面

      {

      void stu_login();

      void man_login();

      void bye_sys();

      int input;

      do

      {

      system(“cls”);

      printf(“nnnt1.學(xué)生登錄n”);

      printf(“t2.管理員登陸n”);

      printf(“t3.退出本系統(tǒng)n”);

      printf(“t請(qǐng)選擇服務(wù)類別:”);

      scanf(“%d”,&input);

      if(input!=1&&input!=2&&input!=3)//輸入數(shù)不等于選項(xiàng)的時(shí)候打印畫面

      {

      printf(“nt輸入出錯(cuò)!請(qǐng)重新選擇~n”);

      printf(“nt按任意鍵返回選擇頁面~nt”);

      getchar();getchar();

      system(“cls”);

      }

      if(input==3)//如果輸入3退出系統(tǒng)

      {

      bye_sys();

      }

      }while(input!=1&&input!=2&&input!=3);

      switch(input)

      {

      case 1:stu_login();break;

      case 2:man_login();break;

      } }

      void bye_sys()//退出界面 { exit(0);}

      void man_login(){

      void c_add();

      void c_delete();

      void c_view();

      void c_searchm();

      int in;

      do

      {

      system(“cls”);

      printf(“nnt1.新增課程n”);

      printf(“t2.刪除課程n”);

      printf(“t3.課程瀏覽n”);

      printf(“t4.課程查詢n”);

      printf(“t5.退出n”);

      printf(“nnt請(qǐng)選擇服務(wù)種類:”);

      scanf(“%d”,&in);

      if(in!=1&&in!=2&&in!=3&&in!=4&&in!=5)

      {

      printf(“nt沒有這項(xiàng)服務(wù)t按任意重新選擇”);

      getchar();getchar();

      }

      }while(in!=1&&in!=2&&in!=3&&in!=4&&in!=5);

      switch(in)

      {

      case 1:c_add();break;

      case 2:c_delete();break;

      case 3:c_viewm();break;

      case 4:c_searchm();break;

      case 5:login();break;

      } }

      void stu_login()//學(xué)生登錄菜單

      {

      void c_select();

      void c_view();

      void c_searchs();

      void login();

      int input;

      do

      {

      system(“cls”);

      printf(“nnnt--學(xué)生登陸--”);

      printf(“nnt1.學(xué)生選課n”);

      printf(“t2.課程瀏覽n”);

      printf(“t3.課程查詢n”);

      printf(“t4.退出n”);

      scanf(“%d”,&input);

      if(input!=1&&input!=2&&input!=3&&input!=4)

      {

      printf(“nt沒有這項(xiàng)服務(wù)~n”);

      printf(“t按任意鍵重新選擇”);

      getchar();

      getchar();

      }

      }while(input!=1&&input!=2&&input!=3&&input!=4);

      switch(input)

      {

      case 1:c_select();break;

      case 2:c_views();break;

      case 3:c_searchs();break;

      case 4:login();break;

      } }

      void c_select(){

      int n,in,i=0,j;int flag=0;

      FILE *fp;

      FILE *fp1;

      char input;

      struct course courses[10];

      if((fp=fopen(“course.dat”,“rb”))==NULL)//判斷是否存在課程

      {

      printf(“nnnt課程不存在nn”);

      printf(“t<按任意鍵返回管理菜單>nt”);

      input=getchar();

      input=getchar();

      stu_login();//進(jìn)入學(xué)生登陸菜單

      }

      else//存在的話循環(huán)讀取文件中的信息直到文件指針到文件尾部

      {

      do

      {

      fread(&courses[i],sizeof(struct course),1,fp);

      i=i+1;

      }

      while(!feof(fp));

      fclose(fp);//文件讀完后關(guān)閉

      }

      printf(“nntt請(qǐng)輸入你要選課程的編號(hào):”);

      scanf(“%d”,&n);

      if((fp1=fopen(“courseselect.dat”,“rb”))==NULL)

      {

      fp1=fopen(“courseselect.dat”,“wb”);

      }

      else

      {

      fclose(fp1);

      fp1=fopen(“courseselect.dat”,“ab”);

      }

      for(j=0;j

      if(courses[j].c_num==n)

      flag++;

      if(flag==0)

      {

      printf(“nntt不存在對(duì)應(yīng)課程n”);

      printf(“nntt繼續(xù)選課請(qǐng)按1,退出請(qǐng)按2:n”);

      scanf(“%d”,&in);

      switch(in)

      {

      case 1:c_select();break;

      case 2:stu_login();break;

      default:

      printf(“輸入錯(cuò)誤,將返回登錄界面!n”);

      login();break;

      }

      }

      else

      {

      fwrite(&courses[j],sizeof(struct course),1,fp1);

      fclose(fp1);

      printf(“nntt選課成功t請(qǐng)選擇:”);

      printf(“nntt1.繼續(xù)選課”);

      printf(“nntt2.退出,返回登錄界面!”);

      scanf(“%d”,&in);

      switch(in)

      {

      case 1:c_select();break;

      case 2:stu_login();break;

      default:break;

      }

      } }

      void c_viewm()//課程瀏覽

      {

      void stu_login();

      void c_view();

      int

      inp,i=0,n=0;

      FILE *fp;

      char input;

      struct course courseview[10];

      if((fp=fopen(“course.dat”,“rb”))==NULL)//判斷是否存在課程

      {

      system(“cls”);

      printf(“nnnt課程不存在nn”);

      printf(“t<按任意鍵返回管理菜單>nt”);

      getchar();getchar();

      stu_login();//進(jìn)入學(xué)生登陸菜單

      }

      else//存在的話循環(huán)讀取文件中的信息直到文件指針到文件尾部

      {

      do

      {

      fread(&courseview[i],sizeof(struct course),1,fp);

      i=i+1;

      }

      while(!feof(fp));

      fclose(fp);//文件讀完后關(guān)閉

      do

      {

      system(“cls”);

      if(i==1)

      {

      printf(“nnnttt沒有記錄!n”);

      getchar();getchar();

      man_login();

      }

      else

      {

      printf(“nt------共有%d條記錄-------”,i-1);

      printf(“nnt課程編號(hào): %dn”,courseview[n].c_num);

      printf(“nnt課程名字: %sn”,courseview[n].c_name);

      printf(“nnt課程學(xué)分: %dn”,courseview[n].c_score);

      printf(“nnt課程已選人數(shù): %dn”,courseview[n].c_nelepeo);

      printf(“nnt課程人數(shù)上限: %dn”,courseview[n].c_melepeo);

      printf(“nnt1.上一頁t2.下一頁t3.回目錄”);

      printf(“n請(qǐng)選擇:”);

      scanf(“%d”,&inp);

      switch(inp)

      {

      case 1:

      {

      if(n==0)

      {

      printf(“nt已到達(dá)首頁 t按任意鍵返回”);

      input=getchar();

      input=getchar();

      }

      else

      {

      n=n-1;

      }

      break;

      }

      case 2:

      {

      if(n==i-2)

      {

      printf(“nt已到達(dá)尾頁t按人意見返回”);

      input=getchar();

      input=getchar();

      }

      else

      {

      n=n+1;

      }

      break;

      }

      case 3:{man_login();break;}

      default:

      {

      printf(“nt操作錯(cuò)誤t按任意鍵返回”);

      getchar();getchar();

      break;

      }

      }

      }

      }while(inp!=3);

      } }

      void c_views()//課程瀏覽

      {

      void stu_login();

      void c_view();

      int

      inp,i=0,n=0;

      FILE *fp;

      char input;

      struct course courseview[10];

      if((fp=fopen(“course.dat”,“rb”))==NULL)//判斷是否存在課程

      {

      system(“cls”);

      printf(“nnnt課程不存在nn”);

      printf(“t<按任意鍵返回管理菜單>nt”);

      getchar();getchar();

      stu_login();//進(jìn)入學(xué)生登陸菜單

      }

      else//存在的話循環(huán)讀取文件中的信息直到文件指針到文件尾部

      {

      do

      {

      fread(&courseview[i],sizeof(struct course),1,fp);

      i=i+1;

      }

      while(!feof(fp));

      fclose(fp);//文件讀完后關(guān)閉

      do

      {

      system(“cls”);

      if(i==1)

      {

      printf(“nnnttt沒有記錄!n”);

      getchar();getchar();

      stu_login();

      }

      else

      {

      printf(“nt------共有%d條記錄-------”,i-1);

      printf(“nnt課程編號(hào): %dn”,courseview[n].c_num);

      printf(“nnt課程名字: %sn”,courseview[n].c_name);

      printf(“nnt課程學(xué)分: %dn”,courseview[n].c_score);

      printf(“nnt課程已選人數(shù): %dn”,courseview[n].c_nelepeo);

      printf(“nnt課程人數(shù)上限: %dn”,courseview[n].c_melepeo);

      printf(“nnt1.上一頁t2.下一頁t3.回目錄”);

      printf(“n請(qǐng)選擇:”);

      scanf(“%d”,&inp);

      switch(inp)

      {

      case 1:

      {

      if(n==0)

      {

      printf(“nt已到達(dá)首頁 t按任意鍵返回”);

      input=getchar();

      input=getchar();

      }

      else

      {

      n=n-1;

      }

      break;

      }

      case 2:

      {

      if(n==i-2)

      {

      printf(“nt已到達(dá)尾頁t按人意見返回”);

      input=getchar();

      input=getchar();

      }

      else

      {

      n=n+1;

      }

      break;

      }

      case 3:{stu_login();break;}

      default:

      {

      printf(“nt操作錯(cuò)誤t按任意鍵返回”);

      getchar();getchar();

      break;

      }

      }

      }

      }while(inp!=3);

      } }

      void c_searchs(){

      void stu_login();

      void c_searchs();

      int id,i=0,j,inp,k;

      int flag=0;

      FILE *fp;

      struct course coursesear[10];

      if((fp=fopen(“course.dat”,“rb”))==NULL)

      //判斷課程信息是否存在 {

      system(“cls”);

      printf(“nnt課程不存在t按任意鍵返回”);

      getchar();getchar();

      stu_login();

      }

      else//存在的話循環(huán)讀取文件中的信息直到文件指針到文件尾部

      {

      do

      {

      fread(&coursesear[i],sizeof(struct course),1,fp);

      i=i+1;

      }while(!feof(fp));

      fclose(fp);

      }

      system(“cls”);

      printf(“nnttt請(qǐng)輸入你要查詢的課程編號(hào):”);

      scanf(“%d”,&id);

      do//檢查輸入是否符合要求

      {

      for(j=0;j

      {

      if(id==coursesear[j].c_num)

      {

      flag++;

      k=j;

      }

      }

      if(flag==1)

      {

      system(“cls”);

      printf(“nnt課程編號(hào):%dn”,coursesear[k].c_num);

      printf(“nnt課程名字:%sn”,coursesear[k].c_name);

      printf(“nnt課程學(xué)分:%dn”,coursesear[k].c_score);

      printf(“nnt課程已選人數(shù):%dn”,coursesear[k].c_nelepeo);

      printf(“nnt課程人數(shù)上限:%dn”,coursesear[k].c_melepeo);

      getchar();getchar();

      printf(“nnt1.回目錄繼續(xù)查詢t2.退出查詢系統(tǒng)n”);

      printf(“請(qǐng)選擇:”);

      scanf(“%d”,&inp);

      switch(inp)

      {

      case 1:c_searchs();

      case 2:stu_login();

      default:

      {

      printf(“nt沒有這項(xiàng)服務(wù)t請(qǐng)按任意鍵重新輸入”);

      getchar();getchar();

      }

      }

      }

      else

      {

      system(“cls”);

      printf(“nnt不存在對(duì)應(yīng)記錄n”);

      printf(“nnt1.回目錄繼續(xù)查詢t2.退出查詢系統(tǒng)n”);

      printf(“請(qǐng)選擇:”);

      scanf(“%d”,&inp);

      switch(inp)

      {

      case 1:c_searchs();

      case 2:stu_login();

      default:

      {

      printf(“nt沒有這項(xiàng)服務(wù)t請(qǐng)按任意鍵重新輸入”);

      getchar();getchar();

      }

      }

      }

      }while(inp!=1);

      }

      void c_searchm(){

      void stu_login();

      void c_searchm();

      int id,i=0,j,inp,k;

      int flag=0;

      FILE *fp;

      struct course coursesear[10];

      if((fp=fopen(“course.dat”,“rb”))==NULL)

      //判斷課程信息是否存在 {

      system(“cls”);

      printf(“nnt課程不存在t按任意鍵返回”);

      getchar();getchar();

      stu_login();

      }

      else//存在的話循環(huán)讀取文件中的信息直到文件指針到文件尾部

      {

      do

      {

      fread(&coursesear[i],sizeof(struct course),1,fp);

      i=i+1;

      }while(!feof(fp));

      fclose(fp);

      }

      system(“cls”);

      printf(“nnttt請(qǐng)輸入你要查詢的課程編號(hào):”);

      scanf(“%d”,&id);

      do//檢查輸入是否符合要求

      {

      for(j=0;j

      {

      if(id==coursesear[j].c_num)

      {

      flag++;

      k=j;

      }

      }

      if(flag==1)

      {

      system(“cls”);

      printf(“nnt課程編號(hào):%dn”,coursesear[k].c_num);

      printf(“nnt課程名字:%sn”,coursesear[k].c_name);

      printf(“nnt課程學(xué)分:%dn”,coursesear[k].c_score);

      printf(“nnt課程已選人數(shù):%dn”,coursesear[k].c_nelepeo);

      printf(“nnt課程人數(shù)上限:%dn”,coursesear[k].c_melepeo);

      getchar();getchar();

      printf(“nnt1.回目錄繼續(xù)查詢t2.退出查詢系統(tǒng)n”);

      printf(“請(qǐng)選擇:”);

      scanf(“%d”,&inp);

      switch(inp)

      {

      case 1:c_searchm();

      case 2:man_login();

      default:

      {

      printf(“nt沒有這項(xiàng)服務(wù)t請(qǐng)按任意鍵重新輸入”);

      getchar();getchar();

      }

      }

      }

      else

      {

      system(“cls”);

      printf(“nnt不存在對(duì)應(yīng)記錄n”);

      printf(“nnt1.回目錄繼續(xù)查詢t2.退出查詢系統(tǒng)n”);

      printf(“請(qǐng)選擇:”);

      scanf(“%d”,&inp);

      switch(inp)

      {

      case 1:c_searchm();

      case 2:man_login();

      default:

      {

      printf(“nt沒有這項(xiàng)服務(wù)t請(qǐng)按任意鍵重新輸入”);

      getchar();getchar();

      }

      }

      }

      }while(inp!=1);}

      void c_add()//增加課程 {

      void c_add();

      void man_login();

      int i=0,j,inp;

      FILE *fp;

      struct course course_new;

      struct course courses[10];

      system(“cls”);

      printf(“nntt請(qǐng)輸入課程信息”);

      printf(“nntt1.課程編號(hào):”);

      scanf(“%d”,&course_new.c_num);

      printf(“nntt2.課程名字:”);

      scanf(“%s”,course_new.c_name);

      printf(“nntt3.課程學(xué)分:”);

      scanf(“%d”,&course_new.c_score);

      printf(“nntt4.課程已選人數(shù):”);

      scanf(“%d”,&course_new.c_nelepeo);

      printf(“nntt5.課程人數(shù)上限:”);

      scanf(“%d”,&course_new.c_melepeo);

      if((fp=fopen(“course.dat”,“rb”))!=NULL)

      {

      do

      {

      fread(&courses[i],sizeof(struct course),1,fp);

      i=i+1;

      }while(!feof(fp));

      fclose(fp);

      for(j=0;j<=i-1;j++)

      if(course_new.c_num==courses[j].c_num)

      {

      system(“cls”);

      printf(“nnttt對(duì)不起,這個(gè)編號(hào)已經(jīng)使用過nntt按任意鍵返回管理菜單”);

      getchar();getchar();

      man_login();

      break;

      }

      }

      if((fp=fopen(“course.dat”,“rb”))==NULL)

      {

      fp=fopen(“course.dat”,“wb”);

      }

      else

      {

      fclose(fp);

      fp=fopen(“course.dat”,“ab”);

      }

      fwrite(&course_new,sizeof(struct course),1,fp);

      fclose(fp);

      printf(“nntt信息輸入完畢t按任意鍵繼續(xù)”);

      getchar();getchar();

      do

      {

      system(“cls”);

      printf(“nntt1.繼續(xù)輸入”);

      printf(“nntt2.返回管理菜單”);

      printf(“nntt請(qǐng)選擇”);

      scanf(“%d”,&inp);

      if(inp!=1&&inp!=2)

      {

      printf(“輸入不符合要求t按任意鍵重新選擇”);

      getchar();getchar();

      }

      }while(inp!=1&&inp!=2);

      switch(inp)

      {

      case 1:c_add();break;

      case 2:man_login();break;

      } }

      void c_delete()//查詢后刪除 {

      FILE *fp;

      int i=0,j,n,k,flag=0;

      struct course courses[10];

      void c_delete();

      void man_login();

      printf(“nntt請(qǐng)輸入你要?jiǎng)h除的課程編號(hào):”);

      scanf(“%d”,&n);

      if((fp=fopen(“course.dat”,“rb”))!=NULL)

      {

      do

      {

      fread(&courses[i],sizeof(struct course),1,fp);

      i=i+1;

      }while(!feof(fp));

      fclose(fp);

      }

      else

      {

      printf(“nntt不存在任何課程t按任意鍵返回”);

      getchar();getchar();

      man_login();

      }

      for(j=0;j

      {

      if(courses[j].c_num==n)

      {

      flag=1;

      fp=fopen(“course.dat”,“wb”);

      for(k=0;k

      fwrite(&courses[k],sizeof(struct course),1,fp);

      fclose(fp);

      fp=fopen(“course.dat”,“ab”);

      for(k=j+1;k

      {

      fwrite(&courses[k],sizeof(struct course),1,fp);

      }

      printf(“nntt記錄已刪除!t按任意鍵返回ntt”);

      getchar();getchar();

      man_login();

      fclose(fp);

      }

      }

      if(flag==0)

      {

      printf(“nntt不存在對(duì)應(yīng)的課程t按任意鍵返回”);

      getchar();getchar();

      man_login();

      } // printf(“nntt記錄已刪除!t按任意鍵返回ntt”);

      }

      int main(){

      index();login();return 0;}

      第四篇:C語言課程設(shè)計(jì) 倉庫管理系統(tǒng)

      C語言課程設(shè)計(jì) 倉庫管理系統(tǒng)

      #include

      struct cangku {

      int num;

      char name[20];

      char introdution[50];

      float square;

      };typedef struct cangku Cangku;

      int Input(Cangku t[]);void List(Cangku t[],int n);void SearchOnName(Cangku t[],int n);int DeleteRecord(Cangku t[],int n);int AlterRecord(Cangku t[],int n);int AddRecord(Cangku t[],int n);void SortOnName(Cangku t[],int n);void SortOnSquare(Cangku t[],int n);void SaveRecord(Cangku t[],int n);int LoadRecord(Cangku t[]);int LoadRecord1(Cangku t[]);void Save(Cangku t[],int n);void Load(Cangku t[],int n);void Load1(Cangku t[]);int Menu_select();

      void main(){

      Cangku ck[50];int i,l,length,w=1;int q[4]={5,2,1,0};

      system(“cls”);printf(“請(qǐng)輸入第1個(gè)密碼:n”);for(i=0;i<4;i++)

      {

      scanf(“%d”,&l);

      system(“cls”);

      if(l==q[i])

      printf(“正確,繼續(xù)輸入第%d個(gè)密碼:.n”,i+2);

      else

      {

      w=0;

      printf(“輸入錯(cuò)誤!n”);

      break;

      } }

      while(w)

      {

      switch(Menu_select())

      {

      case 1:

      length=Input(ck);

      SaveRecord(ck,length);

      break;

      case 2:

      length=LoadRecord(ck);

      SearchOnName(ck,length);

      break;

      case 3:

      length=LoadRecord(ck);

      length=DeleteRecord(ck,length);

      SaveRecord(ck,length);

      break;

      case 4:

      length=LoadRecord(ck);

      length=AlterRecord(ck,length);

      SaveRecord(ck,length);

      break;

      case 5:

      length=LoadRecord(ck);

      length=AddRecord(ck,length);

      SaveRecord(ck,length);

      break;

      case 6:

      length=LoadRecord(ck);

      system(“cls”);

      List(ck,length);

      break;

      case 7:

      length=LoadRecord(ck);

      system(“cls”);

      SortOnName(ck,length);

      SaveRecord(ck,length);

      break;

      case 8:

      length=LoadRecord(ck);

      system(“cls”);

      SortOnSquare(ck,length);

      SaveRecord(ck,length);

      break;

      case 9:

      length=LoadRecord(ck);

      system(“cls”);

      Save(ck,length);

      break;

      case 0:

      length=LoadRecord1(ck);

      Load1(ck);

      system(“cls”);

      Load(ck,length);

      break;

      case 10: exit(0);

      }

      } }

      int Menu_select(){ int c;

      printf(“按任意鍵進(jìn)入倉庫管理菜單n”);

      getchar();

      system(“cls”);

      system(“color F0”);printf(“

      ******************************倉庫管理*******************************n”);

      printf(“

      *

      1.錄入倉庫初始記錄

      *n”);

      printf(“

      *

      2.按倉庫名稱查找記錄

      *n”);

      printf(“

      *

      3.刪除倉庫記錄

      *n”);

      printf(“

      *

      4.修改倉庫記錄

      *n”);printf(“

      *

      5.增加倉庫信息

      *n”);

      printf(“

      *

      6.顯示全部記錄

      *n”);

      printf(“

      *

      7.按倉庫名稱排序

      *n”);

      printf(“

      *

      8.按倉庫面積排序

      *n”);

      printf(“

      *

      9.備份

      *n”);printf(“

      *

      0.恢復(fù)

      *n”);printf(“

      *

      10.退出

      *n”);

      printf(“

      *********************************************************************n”);do {

      printf(“n輸入您想要進(jìn)行的操作選項(xiàng)鍵(0-10):”);

      if(scanf(“%d”,&c)!=1)

      {

      while(getchar()!='n')

      continue;

      } }

      while(c<0||c>10);return c;}

      int Input(Cangku t[]){ int i,n;

      system(“cls”);

      printf(“n請(qǐng)輸入要輸入的倉庫數(shù)目:n”);

      scanf(“%d”,&n);

      printf(“開始輸入倉庫信息:n”);

      for(i=0;i

      {

      system(“cls”);

      printf(“n第%d個(gè)倉庫的編號(hào):”,i+1);

      scanf(“%d”,&t[i].num);

      printf(“第%d個(gè)倉庫的名稱:”,i+1);

      scanf(“%s”,t[i].name);

      printf(“第%d個(gè)倉庫的面積:”,i+1);

      scanf(“%f”,&t[i].square);

      printf(“第%d個(gè)倉庫的說明:”,i+1);

      scanf(“%s”,t[i].introdution);}

      return(n);}

      void List(Cangku t[],int n){ int i;

      printf(“

      *********************************************************************n”);

      printf(“

      **

      編號(hào)

      名稱

      面積

      說明n”);

      printf(“

      -------n”);for(i=0;i

      printf(“%17d%13s%20f%14sn”,t[i].num,t[i].name,t[i].square,t[i].introdution);}

      printf(“

      *********************************************************************n”);

      printf(“n”);getchar();} void SearchOnName(Cangku t[],int n){ char s[20];

      int i,flag=0;

      system(“cls”);

      printf(“請(qǐng)輸入要查找的倉庫名稱:n”);

      scanf(“%s”,s);

      for(i=0;i

      {

      if(strcmp(s,t[i].name)==0)

      {

      flag=1;

      system(“cls”);

      printf(“nn要查找的倉庫信息如下:n”);

      printf(“n”);

      printf(“

      *********************************************************************n”);

      printf(“

      **

      編號(hào)

      名稱

      面積

      說明n”);

      printf(“

      -------n”);{

      printf(“%17d%13s%20f%14sn”,t[i].num,t[i].name,t[i].square,t[i].introdution);}

      printf(“

      *********************************************************************n”);

      printf(“n”);

      } }

      if(flag==0)

      printf(“要查找的倉庫不存在!n”);getchar();} int DeleteRecord(Cangku t[],int n){

      char s[20];

      char ch;

      int i,j,flag=0;

      system(“cls”);

      printf(“請(qǐng)輸入要?jiǎng)h除的倉庫名稱n”);

      scanf(“%s”,s);

      for(i=0;i

      if(strcmp(s,t[i].name)==0)

      {

      flag=1;

      system(“cls”);

      printf(“nn要?jiǎng)h除的倉庫信息如下:n”);

      printf(“n”);

      printf(“

      *********************************************************************n”);

      printf(“

      **

      編號(hào)

      名稱

      面積

      說明n”);

      printf(“

      -------n”);{

      printf(“%17d%13s%20f%14sn”,t[i].num,t[i].name,t[i].square,t[i].introdution);}

      printf(“

      *********************************************************************n”);

      printf(“n”);

      printf(“確定刪除倉庫信息嗎?(Y/N)n”);

      ch=getchar();

      ch=getchar();

      if(ch=='Y'||ch=='y')

      {

      for(j=i;j

      t[j]=t[j+1];

      n--;

      i--;

      printf(“刪除成功.n”);

      }

      }

      }

      if(flag==0)

      printf(“要?jiǎng)h除的倉庫不存在!n”);

      getchar();

      return n;}

      int AlterRecord(Cangku t[],int n){

      int i,flag=0;

      char s[20],ch;

      system(“cls”);

      printf(“請(qǐng)輸入要修改的倉庫名稱n”);

      scanf(“%s”,s);

      for(i=0;i

      {

      if(strcmp(s,t[i].name)==0)

      {

      flag=1;

      system(“cls”);

      printf(“nn要修改的倉庫信息如下:n”);

      printf(“n”);

      printf(“

      *********************************************************************n”);

      printf(“

      **

      編號(hào)

      名稱

      面積

      說明n”);

      printf(“

      -------n”);

      {

      printf(“%17d%13s%20f%14sn”,t[i].num,t[i].name,t[i].square,t[i].introdution);

      }

      printf(“

      *********************************************************************n”);

      printf(“n”);

      printf(“確定修改倉庫信息嗎?(Y/N)n”);

      ch=getchar();

      ch=getchar();

      if(ch=='y'||ch=='Y')

      {

      system(“cls”);

      printf(“請(qǐng)輸入修改后的信息:n”);

      printf(“請(qǐng)輸入倉庫新的名稱:”);

      scanf(“%s”,t[i].name);

      printf(“請(qǐng)輸入%s倉庫新的編號(hào):”,t[i].name);

      scanf(“%d”,&t[i].num);

      printf(“請(qǐng)輸入%s倉庫新的面積:”,t[i].name);

      scanf(“%f”,&t[i].square);

      printf(“請(qǐng)輸入%s倉庫新的說明:”,t[i].name);

      scanf(“%s”,t[i].introdution);

      }

      }

      }

      if(flag==0)

      printf(“要修改的倉庫不存在!n”);

      getchar();

      return n;}

      int AddRecord(Cangku t[],int n){

      int i,m;

      system(“cls”);

      printf(“n請(qǐng)輸入再增加的記錄數(shù):n”);

      scanf(“%d”,&m);

      printf(“開始追加記錄n”);

      for(i=n;i

      { system(“cls”);

      printf(“n第%d個(gè)倉庫的編號(hào):”,i+1);

      scanf(“%d”,&t[i].num);

      printf(“第%d個(gè)倉庫的名稱:”,i+1);

      scanf(“%s”,t[i].name);

      printf(“第%d個(gè)倉庫的面積:”,i+1);

      scanf(“%f”,&t[i].square);

      printf(“第%d個(gè)倉庫的說明:”,i+1);

      scanf(“%s”,t[i].introdution);

      }

      return(n+m);}

      void SortOnName(Cangku t[],int n){ int i,j;

      struct cangku temp;

      for(j=1;j

      for(i=0;i

      if((strcmp(t[i].name,t[i+1].name))>0)

      {

      temp=t[i];

      t[i]=t[i+1];

      t[i+1]=temp;

      }

      printf(“排序成功!!n”);

      printf(“排序后倉庫信息列表如下:n”);

      List(t,n);}

      void SortOnSquare(Cangku t[],int n){ int i,j;

      struct cangku temp;

      for(j=1;j

      for(i=0;i

      if(t[i].square

      {

      temp=t[i];

      t[i]=t[i+1];

      t[i+1]=temp;

      }

      printf(“排序成功!!n”);

      printf(“排序后倉庫信息列表如下:n”);

      List(t,n);}

      void SaveRecord(Cangku t[],int n){ int i;

      FILE *fp;

      if((fp=fopen(“record.txt”,“w”))==NULL)

      {

      printf(“不能打開文件!n”);

      exit(1);}

      for(i=0;i

      {

      fwrite(&t[i],sizeof(struct cangku),1,fp);

      }

      fclose(fp);}

      int LoadRecord(Cangku t[]){

      int n=0;

      FILE *fp;

      if((fp=fopen(“record.txt”,“a+”))==NULL)

      {

      printf(“不能打開文件!n”);

      exit(1);}

      while(fread(&t[n],sizeof(struct cangku),1,fp))n++;

      fclose(fp);

      printf(“從文件中成功讀出記錄!!n”);

      return n;} int LoadRecord1(Cangku t[]){

      int n=0;

      FILE *fp;

      if((fp=fopen(“bkrecord.txt”,“a+”))==NULL)

      {

      printf(“不能打開文件!n”);

      exit(1);}

      while(fread(&t[n],sizeof(struct cangku),1,fp))n++;

      fclose(fp);

      printf(“從文件中成功讀出記錄!!n”);

      return n;} void Save(Cangku t[],int n){ int i;

      FILE *fp;

      if((fp=fopen(“bkrecord.txt”,“w”))==NULL)

      {

      printf(“不能打開文件!n”);

      exit(1);}

      for(i=0;i

      {

      fwrite(&t[i],sizeof(struct cangku),1,fp);

      }

      fclose(fp);

      printf(“備份成功.n”);

      getchar();}

      void Load1(Cangku t[]){

      int n=0;

      FILE *fp;

      if((fp=fopen(“bkrecord.txt”,“a+”))==NULL)

      {

      printf(“不能打開文件!n”);

      exit(1);

      } while

      (fread(&t[n],sizeof(struct cangku),1,fp))n++;

      fclose(fp);

      getchar();}

      void Load(Cangku t[],int n){ int i;

      FILE *fp;

      if((fp=fopen(“record.txt”,“w”))==NULL)

      {

      printf(“不能打開文件!n”);

      exit(1);}

      for(i=0;i

      {

      fwrite(&t[i],sizeof(struct cangku),1,fp);

      }

      fclose(fp);

      printf(“恢復(fù)成功.n”);}1

      第五篇:C語言課程設(shè)計(jì)

      C語言課程設(shè)計(jì)

      飛機(jī)空戰(zhàn)小游戲

      一、實(shí)驗(yàn)環(huán)境

      運(yùn)行系統(tǒng) WINDOWSXP 編程工具C++6.0 地點(diǎn) 程序設(shè)計(jì)與仿真實(shí)驗(yàn)室

      桌號(hào)19電腦IP地址221.12.10.218

      二、實(shí)驗(yàn)?zāi)康暮鸵?實(shí)驗(yàn)?zāi)康模?/p>

      (1)使學(xué)生進(jìn)一步理解和掌握課堂上所學(xué)各種基本抽象數(shù)據(jù)類型的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和操作算法。

      (2)使學(xué)生進(jìn)一步掌握程序設(shè)計(jì)、編寫、調(diào)試能力。(3)使學(xué)生了解軟件開發(fā)的基本步驟和內(nèi)容。

      實(shí)驗(yàn)要求::飛機(jī)空戰(zhàn)小游戲。功能要求:

      1)有主菜單界面,能讓用戶選擇開始、退出、難度等級(jí)、查看用戶積分功能;

      2)飛機(jī)能通過A、S、D、W或上下左右鍵控制移動(dòng)方向,使用空格鍵發(fā)射子彈;

      3)屏幕隨機(jī)出現(xiàn)從上到下的敵方子彈; 4)當(dāng)打中敵方子彈時(shí),積分加1;

      5)當(dāng)敵方子彈打正飛機(jī)時(shí),游戲結(jié)束,并提示用戶是否保存記錄(記錄包括用戶名及積分值),保存后退回到主菜單;

      6)當(dāng)選擇主菜單中的“查看用戶積分”選項(xiàng)時(shí),進(jìn)入第二級(jí)菜單,用戶可查看全部用戶積分記錄,也可僅查看積分最高者,也可根據(jù)用戶輸入的用戶名查看;(此處要求使用到鏈表,用于臨時(shí)存儲(chǔ)用戶積分?jǐn)?shù)據(jù));(對(duì)鏈表的查找操作)

      7)所有用戶積分信息使用文件進(jìn)行永久性保存; 8)用戶選擇“難度等級(jí)”,可設(shè)定游戲不同難度,難度越高,出現(xiàn)敵方子彈數(shù)目及間隔將增加。

      三、實(shí)驗(yàn)內(nèi)容和結(jié)果

      系統(tǒng)總體設(shè)計(jì):編寫出c語言代碼,運(yùn)行程序,并調(diào)試程序,最終實(shí)現(xiàn)游戲的功能。本程序主要包含游戲控制函數(shù)、設(shè)置是否繼續(xù)游戲函數(shù)、輸出函數(shù)、子彈移動(dòng)函數(shù)、敵機(jī)移動(dòng)函數(shù)、設(shè)置函數(shù)、菜單函數(shù)等7個(gè)主要函數(shù),包含了不同的功能,對(duì)原來的程序作出了很大的改進(jìn),用到的主要語句有if語句,for語句、while語句、printf語句、switch語句等等,添加了顏色函數(shù)。

      系統(tǒng)模塊設(shè)計(jì):包含游戲控制函數(shù)、設(shè)置是否繼續(xù)游戲函數(shù)、輸出函數(shù)、子彈移動(dòng)函數(shù)、敵機(jī)移動(dòng)函數(shù)、設(shè)置函數(shù)、菜單函數(shù)等7個(gè)主要函數(shù),其中是否繼續(xù)游戲函數(shù),菜單函數(shù)主要運(yùn)用了SWITCH語句和If語句,子彈移動(dòng)函數(shù),敵機(jī)移動(dòng)函數(shù)通過數(shù)組內(nèi)各數(shù)值的變化來完成,設(shè)置函數(shù)主要用PRINTF和SCANF語句進(jìn)行各項(xiàng)數(shù)值的設(shè)置,游戲控制函數(shù)使用if函數(shù),kbhit()函數(shù),switch函數(shù)組合控制數(shù)組中飛機(jī)進(jìn)行的移動(dòng)和圖案的變換。最后用打印數(shù)組的方式打印出數(shù)組變換。最后運(yùn)用SWITCH函數(shù)進(jìn)行各項(xiàng)菜單內(nèi)容的操作。

      實(shí)驗(yàn)的測(cè)試和結(jié)果:

      四、實(shí)驗(yàn)中的問題及心得

      通過本次試驗(yàn),使我對(duì)c語言有了更深一層次的了解,對(duì)for語句、while語句、printf語句、switch語句、顏色函數(shù)等等的了解及使用更加詳細(xì)了一些,明白了這些語句的用法,明確了c語言的使用環(huán)境,功能。同時(shí)我了解到了一些方法來實(shí)現(xiàn)一些C語言作為一個(gè)基礎(chǔ)性編程語言是我們?cè)谝院缶幊讨胁豢苫蛉钡恼Z言,使用率肯定會(huì)進(jìn)一步增高。掌握了c語言就相當(dāng)于掌握了一門技術(shù),同時(shí)c語言相對(duì)而言簡(jiǎn)單一些,更容易理解。自己雖然對(duì)這個(gè)小游戲進(jìn)行一部分的改造,但是我也感覺這只是其中的很很小的一部分,肯定會(huì)有更加強(qiáng)大的功能等待著我們?nèi)ジ纳啤?/p>

      同時(shí),我也發(fā)現(xiàn)了自己很多的不足,需要進(jìn)一步加強(qiáng)這一方面的學(xué)習(xí),在數(shù)據(jù)結(jié)構(gòu)鏈表的使用上還很欠缺,無法使用鏈表進(jìn)行數(shù)據(jù)的讀取和輸入,還有在兩個(gè)程序的連接上還有困難,對(duì)于頭文件的理解不到位,鏈表的結(jié)構(gòu),定義,使用指針的方式??這些都需要提高。這些技能的欠缺導(dǎo)致了在 這個(gè)小游戲中無法順利完成有關(guān)用戶名和記錄的一些要求。??

      附錄:程序清單

      #include #include #include #include #define N 50 void run();//游戲控制函數(shù) void continuegame();//設(shè)置是否繼續(xù)游戲函數(shù) void print(int [][N]);//輸出函數(shù)

      void movebul(int [][N]);//子彈移動(dòng)函數(shù) void movepla(int [][N]);//敵機(jī)移動(dòng)函數(shù) void setting(void);//設(shè)置函數(shù) void menu();//菜單 int scr[50][N]={0},pl=9,width=15,speed=16,density=40,score=0,death=0,length=18,y=0,x=5,z=15,life=1,max=0;//全局變量:界面、我機(jī)初始位、界面寬度、敵機(jī)速度、敵機(jī)密度、得分、死亡,子彈,飛機(jī),敵機(jī)初始圖案,生命

      char name[N];char first[N];void main(){ menu();getch();}

      void print(int a[][N])//輸出函數(shù) { int i,j;system(“cls”);for(i=0;i

      a[i][width-1]=4;

      for(j=0;j

      {

      if(a[i][j]==0)printf(“ ”);

      if((a[i][j]==1)&&(x<15))printf(“%c”,x);//輸出我機(jī)的符號(hào)

      if((a[i][j]==2)&&(z<35))printf(“%c”,z);//子彈

      if((a[i][j]==3)&&(y<4))printf(“%c”,y+1);//輸出敵機(jī)符號(hào)

      if(i==1&&j==width-1)printf(“總積分:%d”,score);//顯示得分

      if(i==2&&j==width-1)printf(“已經(jīng)死亡了%d 次,剩余 %d 條命”,death,life-death);//右上角顯示死亡次數(shù)

      if(i==3&&j==width-1)printf(“普通按鍵:AD控制左右飛行”);

      if(i==4&&j==width-1)printf(“ W 發(fā)射子彈”);if(i==5&&j==width-1)printf(“特殊按鍵:+-號(hào)加減敵機(jī)速度”);if(i==6&&j==width-1)printf(“ /*號(hào)單列敵機(jī)密度減小增大(均有限制)”);

      if(i==7&&j==width-1)printf(“VIP按鍵:X鍵變化飛機(jī)圖案,Y鍵變化敵機(jī)圖案”);

      if(i==8&&j==width-1)printf(“tZ鍵變化子彈圖案,P鍵增加生命(均有限制)”);

      if(i==9&&j==width-1)printf(“注意:向下移動(dòng)后按其他方向鍵飛機(jī)顯現(xiàn)”);

      } printf(“n”);} }

      void movebul(int a[][N]){

      int i,j;for(i=0;i

      {

      if(i==0&&a[i][j]==2)

      a[i][j]=0;

      if(a[i][j]==2)

      {

      if(a[i-1][j]==3)//加分

      {

      score+=1;

      printf(“7”);

      }

      a[i][j]=0,a[i-1][j]=2;

      }

      } } void movepla(int a[][N]){ int i,j;for(i=length-1;i>=0;i--)//從最后一行往上是為了避免把敵機(jī)直接沖出數(shù)組。

      for(j=0;j

      if(i==length-1&&a[i][j]==3)

      a[i][j]=0;//消除敵機(jī),在最低層

      if(a[i][j]==3)a[i][j]=0,a[i+1][j]=3;//敵機(jī)移動(dòng)

      }

      if(a[length-2][pl]==3&&a[length-1][pl]==1)death++;//死亡 }

      void continuegame()//繼續(xù)游戲

      { printf(“用戶%s”,name);printf(“你的得分是%dn”,score);if(score==0)printf(“tttt 恭喜你刷新了最低記錄na”,score);if((score>0)&&(score<20))

      printf(“tttt 回家再練 練吧na”,score);if(score>19)

      printf(“tttt 你真厲害 na”,score);printf(“游戲結(jié)束n”);printf(“按y鍵繼續(xù)游戲,空格鍵退出游戲(y/n)?n”);printf(“ttt”);switch(getch())//是否要繼續(xù)游戲

      { case 'y': case 'Y':system(“cls”),death=0,score=0,life=1,x=5,y=0,z=15;menu();break;} }

      void setting(void)//設(shè)置函數(shù) { system(“cls”);//清屏

      printf(“n 輸入游戲界面的大?。J(rèn)3):1-10 ”);scanf(“%d”,&width);width=(width+1)*5;printf(“n 請(qǐng)輸入敵機(jī)密度大?。J(rèn)3):1-5 ”);scanf(“%d”,&density);density=(7-density)*10;printf(“n 輸入敵機(jī)的飛行速度大?。J(rèn)3):1-10 ”);scanf(“%d”,&speed);speed=(11-speed)*2;printf(“n 輸入我機(jī)的生命(默認(rèn)1):1-100 ”);scanf(“%d”,&life);printf(“n 輸入飛機(jī)的圖案(默認(rèn)1):1-2 ”);scanf(“%d”,&x);x=x+4;printf(“n 輸入子彈的圖案(默認(rèn)1):1-10 ”);scanf(“%d”,&z);z=z+14;printf(“n 輸入敵機(jī)的圖案(默認(rèn)1):1-3 ”);scanf(“%d”,&y);y=y-1;} void run(){ int i=0,j=0,k=0,b=0;printf(“請(qǐng)輸入用戶名:”);scanf(“%s”,name);printf(“您的用戶名是:%s”,name);if(getch()==27)setting();printf(“游戲說明:按AWSD控制我機(jī)左右飛行,空格鍵發(fā)射子彈n特殊按鍵:-號(hào)敵機(jī)減速,+號(hào)敵機(jī)加速n特殊按鍵:/號(hào)單列敵機(jī)密度減小,*號(hào)單列敵機(jī)密度增大n”);printf(“VIP按鍵:X鍵變化飛機(jī)圖案,Y鍵變化敵機(jī)圖案ntZ鍵變化子彈圖案,P鍵增加生命n”);printf(“任意鍵開始游戲,esc鍵進(jìn)入游戲設(shè)置n”);printf(“游戲時(shí)也可更改游戲設(shè)置任意鍵開始nn”);system(“color a”);//設(shè)置背景顏色

      if(getch()==27)setting();scr[length-1][pl]=1;//我方飛機(jī)初始位置

      scr[0][5]=3;while(death

      { if(kbhit())

      switch(getch())//控制設(shè)置按鍵 {

      case 'a':

      case 'A':if(pl>0)

      scr[length-1][pl]=0,scr[length-1][--pl]=1;break;

      case 'd':

      case 'D':if(pl

      scr[length-1][pl]=0,scr[length-1][++pl]=1;break;case 'W':

      case 'w':if(length>10)

      {

      scr[length-1][pl]=0,scr[length-2][pl]=1;

      length=length-1;

      };break;

      case '+':if(speed>2)

      {

      speed=speed-2;

      };break;

      case '-':speed=speed+1;break;case '*':if(density>5)

      {

      density=density-5;

      };break;

      case '/':density=density+10;break;

      case 'l':if(width<40)

      {

      width=width+2;

      };break;

      case 's':if(length<30)

      {

      scr[length-1][pl]=0;

      length=length+1;

      scr[length-1][pl]='5';

      };break;

      case ' ':scr[length-2][pl]=2;break;

      case 'y':y=(y+1)%4;break;

      case 'x':x=(x)%2+5;break;

      case 'z':if(z<25)

      {

      z=z+1;

      }

      else z=15;break;

      case 'p':life=life+1;break;} if(++j%density==0)//控制生產(chǎn)敵機(jī)的速度

      {

      j=0;

      srand(time(NULL));//產(chǎn)生隨機(jī)數(shù)

      scr[0][rand()%width]=3;

      scr[rand()%3][rand()%(width+2)]=3;

      scr[rand()%2][rand()%(width+1)]=3;

      scr[rand()%4][rand()%(width+4)]=3;//生成隨機(jī)敵方飛機(jī)

      } if(++i%speed==0)//控制敵機(jī)移動(dòng)速度,相對(duì)于子彈移動(dòng)速度

      movepla(scr);//飛機(jī)移動(dòng)

      movebul(scr);//子彈移動(dòng)

      print(scr);//繪制游戲畫面

      } if(score>=max){

      max=score;

      for(i=0;i

      {

      name[i]=first[i];

      } } if(score

      score=score;} continuegame();getch();}

      void menu(){ printf(“n1:游戲設(shè)置n2:游戲說明n3:開始游戲n4:查看用戶信息n5:退出游戲n”);

      switch(getch()){

      case '1': setting();menu();break;

      case '2':printf(“游戲說明:按AWSD控制我機(jī)左右飛行,空格鍵發(fā)射子彈n特殊按鍵:-號(hào)敵機(jī)減速,+號(hào)敵機(jī)加速n特殊按鍵:/號(hào)單列敵機(jī)密度減小,*號(hào)單列敵機(jī)密度增大n”);printf(“VIP按鍵:X鍵變化飛機(jī)圖案,Y鍵變化敵機(jī)圖案ntZ鍵變化子彈圖案,P鍵增加生命n”);printf(“ 任意鍵開始游戲,esc鍵進(jìn)入游戲設(shè)置n”);printf(“ 游戲時(shí)也可更改游戲設(shè)置”);menu();break;

      case '3':run();menu();break;

      case '4':seerecord();menu();break;

      case '5':exit(0);break;default:menu();break;}

      } seerecord(){ printf(“最高紀(jì)錄為%s,%d”,first[N],max);}

      下載教師獎(jiǎng)金計(jì)算系統(tǒng)-C語言課程設(shè)計(jì)word格式文檔
      下載教師獎(jiǎng)金計(jì)算系統(tǒng)-C語言課程設(shè)計(jì).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        C語言課程設(shè)計(jì)范文

        C語言程序設(shè)計(jì)課程設(shè)計(jì)設(shè)計(jì)題目:專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):2010級(jí)計(jì)算機(jī)二班組長(zhǎng)姓名:馬得才【P101712944】成員姓名:孫麗欣【P101712927】 趙廣峰【P101712926】 遲成凱【P1017......

        C語言課程設(shè)計(jì)

        #include #include int N1,N2,kk1,kk2,kk3; struct couse * head1,*head2,*emp1; struct student * head3,*head4,*emp2; struct couse//課程信息結(jié)構(gòu)體 { int num1; char n......

        C語言課程設(shè)計(jì)

        - 1 1 前言 讓自己所學(xué)的知識(shí)應(yīng)用于實(shí)際生活中,理論聯(lián)系生活,學(xué)以致用,我們將更好服務(wù)于民。我們是新一代的年輕人,要想將來在社會(huì)上更好的立足,就必須讓自己強(qiáng)大起來,努力的學(xué)習(xí)......

        C語言 課程設(shè)計(jì) 教師工資管理系統(tǒng)(職工工資管理系統(tǒng))(共5篇)

        課程設(shè)計(jì) 教師工資管理系統(tǒng) 運(yùn)行平臺(tái):VC6.0(其他平臺(tái)未經(jīng)測(cè)試,不一定保證有效) 制作者:弓箭 中南大學(xué) 信息科學(xué)與工程學(xué)院 源代碼如下: #include #include #include #include......

        C語言課程設(shè)計(jì)——飛機(jī)訂票系統(tǒng)源代碼

        #include //標(biāo)準(zhǔn)輸入、輸出頭文件 #include //包含字符串函數(shù)處理頭文件 #include //包含access函數(shù)的頭文件 #define N 9999 //定義最多的航班數(shù) #define PRINT "%dtt......

        c語言課程設(shè)計(jì)——小學(xué)數(shù)學(xué)出題系統(tǒng)

        通信工程C語言強(qiáng)化訓(xùn)練實(shí)驗(yàn)報(bào)告 學(xué) 號(hào): 姓 名: 提交日期: 成 績(jī): 評(píng) 語: 教師簽字: 通信工程C語言強(qiáng)化訓(xùn)練實(shí)驗(yàn)報(bào)告 小學(xué)數(shù)學(xué)出題系統(tǒng) 1、 強(qiáng)化訓(xùn)練目的 a) C語言基本知識(shí)的鞏固......

        C語言課程設(shè)計(jì)任務(wù)書-學(xué)生通訊系統(tǒng)(范文模版)

        2007-2008學(xué)年第二學(xué)期 《C語言程序設(shè)計(jì)》 課程設(shè)計(jì)報(bào)告 系部: 三系專業(yè)班級(jí): 電子資訊工程(2)班 學(xué)號(hào):070306210姓名: 冀鵬超設(shè)計(jì)題目:同學(xué)通訊錄設(shè)計(jì)起訖日期: 2008.6.16 至 2008.6......

        c語言課程設(shè)計(jì)-學(xué)籍管理系統(tǒng)(含源代碼)

        課 程 設(shè) 計(jì) 課程設(shè)計(jì)名稱: C語言程序設(shè)計(jì) 題 目:學(xué)籍管理系統(tǒng) 學(xué) 生 姓 名: 學(xué)生學(xué)號(hào) : 學(xué) 院(系): 軟件學(xué)院 專 業(yè) 班 級(jí): 112021 指 導(dǎo) 教 師: 設(shè)計(jì)時(shí)間: 2012 年 9 月 日......