C语言课程设计报告(完整版)

时间:2024.4.20

C语言课程设计报告

Experiment Designing reporter

课程名称  : C语言课程设计

英文名称  :  C Program Experiment Designing

专    业  :

学    号  :

                  姓    名  :

指导教师  :

日    期:  2009 年 6 月8 日 至 20##年6月20日

学院


C语言课程设计》报告

C Program Experiment Designing 

课程编号:01200308005                            学时:    40学时

适用专业:软件工程专业                         授课单位:软件学院

一、C语言课程设计目的及要求

目的:

根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。

要求:

1. 熟悉Turbo C 的编程环境、主要菜单功能。

2. 通过上机验证运算符、表达式、运算规则、函数使用。

3. 熟练使用C语言的典型语句编写简单程序。

4. 调试典型例题或习题。

5. 提高上机编程能力

二、实验类型

设计类型

三、实验学时

40学时

四、实验设备

微型计算机、WINDOWSXP、Turbo C2.0 软件一套

五、C语言课程参考教材:

1.C语言程序设计  清华大学出版社  李瑞 等 主编

2.C语言课程设计  电子工业出版社  黄明 等 主编


课程设计(报告)任务书

任务及要求:

1.  设计(研究)内容和要求。

研究内容:

1 FIBONACCISL 数列

2 杨辉三角

3 前n项阶乘和

4 冒泡法排序

5 学生成绩管理系统

任务和要求:

(1).学习C语言基础知识,掌握C语言编程和程序调试的基本技能。

(2).对指导教师下达的题目进行系统分析。

(3).根据分析结果完成系统设计。

(4).编程:在计算机上实现题目的代码实现。

(5).完成对该系统的测试和调试。

(6).提交课程设计报告。

(7).指标:

要求完成课程设计报告3千字以上(约二、三十页).

完成若干综合性程序设计题目,每个综合设计题目的语句行数的和在300行语句以上.

2.原始依据

了解C语言的基础知识,有一定的语言编程基础,能够熟练运用C语言进行程序设计。通过用C语言完成的题目,提高用C语言解决实际问题的能力。

3.参考文献

[1].C语言程序基础  清华大学出版社   李瑞 等主编

[2]. C语言课程设计  电子工业出版社   黄明 等主编

 20##年6月8日


目录

C语言课程设计报告... 1

1 FIBONACCISL 数列... 1

1.1 系统分析... 1

1.2 设计说明... 1

1.3  程序运行截图... 1

1.4 源程序代码... 1

2 杨辉三角... 2

2.1系统分析... 2

2.2 设计说明... 2

2.3 程序运行截图... 3

2.4 源程序代码... 3

3 前n项阶乘和... 4

3.1系统分析... 4

3.2设计说明... 4

3.3源程序截图... 4

3.4源程序代码:... 5

4. 冒泡法排序... 5

4.1系统分析... 5

4.2设计说明... 5

4.3程序运行截图... 6

4.4源程序代码... 6

5 学生成绩管理系统... 7

5.1系统分析... 7

5.2设计说明... 7

5.3程序运行截图... 7

5.4源程序代码... 8


1 FIBONACCISL 数列

1.1 系统分析

查看Fibonacci数列。

1.2 设计说明

主函数main()

Step1、定义f1,f2两个变量,f1,f2初值均为1。

Step2、在for循环中,不断用f1+f2覆盖新的f1,不断用刚才更新的f1加上原来的f2覆盖新的f2。

Step3、新的f1是每次循环求出的新的Fibonacci数列的第一个数;新的f2是每次循环求出的新的数列的第二个数。

Step4、输出数列 查看。

            程序运行截图

1.4 源程序代码

#include "stdio.h"

main()

{  int i;

   int f[20]={1,1};

   for(i=2;i<20;i++)

      f[i]=f[i-2]+f[i-1];

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

   {   if(i%5==0)

          printf("\n");

       printf("%10d",f[i]);

   }

   getch();

}

2 杨辉三角

2.1系统分析

输出杨辉三角前10行

2.2 设计说明

1、N的定义:

#define N 10

2、主函数,判定是否j==0或者j==1

函数名:main()

返回值:j==0或j==1/else,j==0||j==1:a[i][j]=1,else:a[i][j]=a[i-1][j]+a[i-1][j-1];

参数:i,含义:行的位置

参数:j,含义:列的位置

参数:a[i][j],含义:数的位置

处理流程:       

Step1:判别i,j的值,如果j==o,或j==i,则输出a[i][j]=1,否则转入Step2.

Step2:输出a[i][j]=a[i-1][j]+a[i-1][j-1];

Step3:输出整个杨辉三角前10行。

3、主函数main()

执行程序,则在屏幕上显示:  1

                            1   1

                            1   2   1

                            1   3   3   1

                            1   4   6   4   1

                            1   5   10  10  5   1

                            1   6   15  20  15  6   1

                            1   7   21  35  35  21  7   1

                            1   8   28  56  70  56  28  8   1

                            1   9   36  84  126 126  84  36  9  1 

2.3 程序运行截图

               

2.4 源程序代码

#include "stdio.h"

#define N 10

main()

{  int i,j,a[N][N];

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

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

      if(j==0||j==i)

         a[i][j]=1;

      else a[i][j]=a[i-1][j]+a[i-1][j-1];

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

   {   for(j=0;j<=i;j++)

          printf("%4d",a[i][j]);

       printf("\n");

   }

   getch();

}

3 前n项阶乘和

3.1系统分析

打出n,系统求出各个n!,并求出其和。

3.2设计说明

1、子函数,计算一个数的阶乘。

函数名:pow()

返回值:n*pow(n-1)函数的递归调用。

参数:int n,含义:一个自然数。

处理流程:

Step1:如果自然数是1,则返回本身;

Step2:如果不是1,则利用函数的递归调用求阶乘,直到n再次等于1;

Step3:返回最后结果。

2、主函数main()

给s赋初值0,输入所要求解自然数前n项阶乘的和,再用for循环求和,最后输出结果。

3.3源程序截图

3.4源程序代码:

#include "stdio.h"

long pow(int n)

{  if(n==1) return 1;

   else     return n*pow(n-1);

}

void main()

{  int i,n;

   long s=0;

   scanf("%d",&n);

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

      s=s+pow(i);

   printf("\ns=%ld\n",s);

   getch();

}

4. 冒泡法排序

4.1系统分析

用冒泡法将一个数组中的N个整数从小到大排序并输出。

4.2设计说明

1、子函数,用选择法排成升序。

函数名 sort()      

处理流程:

Step1:i=0开始,若i<9,执行循环,转Step2。

Step2:比较两个数组元素,若排在前面的值大于排在后面的值,交换位置,否则转Step3;

Step3:若前面的数小于后面的数,则不换位置输出。

2、主函数main()

从键盘上输入一个数组,然后调用子函数sort(),进行数组排序。

若数组中数字为无序或降序排列,则程序将用选择法将数组排成升序。

如:(输入)1 2 5 4 3 7 6 8 10 9

则在屏幕上显示:

           12345678910

4.3程序运行截图

4.4源程序代码

#include "stdio.h"

#define N 10

main()

{  int i,j,a[N],t;

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

      scanf("%d",&a[i]);

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

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

      if(a[j]>a[j+1])

      {t=a[j];a[j]=a[j+1];a[j+1]=t;}

   }

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

      printf("%4d",a[i]);

   getch();

}

5 学生成绩管理系统

5.1系统分析

创建学生成绩管理系统

5.2设计说明

1、M的定义:#define M 1000

2、函数名:shuru xianshi chazhao paixu charu save xiugai shanchu quit 

3、参数:int N M,含义:输入成绩的学生个数、学生的学号。

4、处理流程:

Step1:学生成绩管理系统主菜单

Step2:选择要进行的内容,并输入序号

Step3:若输入1则按要求输入学生成员的个数

Step4;输入学生的学号

Step5;输入学生的姓名

Step6; 输入学生的6门成绩

Step7;进行保存,返回主菜单

5.3程序运行截图

5.4源程序代码

#include <dos.h>

#include <stdio.h>     

#include <stdlib.h>    

#include <string.h>

#include <conio.h>

#include <bios.h>

#include <alloc.h>   

#define  M 1000

int N=0;               

int H=0;

struct student         

 { char number[8];

   char name[16];

   float score[6];

   float average;

 }stud[M],temp;

  void load(void);                      

  void paixu(struct student stud[]);  

  void charu(struct student stud[]);   

  void save(struct student stud[]);     

  void xianshi(struct student stud[]);     

  void chazhao(struct student stud[]);  

  void shuru(struct student stud[]);    

  void shanchu(void);                       

  void xiugai(void);                    

  void quit(void);              

  int flag(struct student stud[]);      

  int menu(void);                       

main()                 

 {

  printf("\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t\t\n");

textcolor(YELLOW);

textbackground(BLUE);

   printf("                welcome to use this system !!!!\n"); 

sleep(2);

   load();

   clrscr();              

   for(;;)             

    { switch(menu())   

      { case 1: shuru(stud);  break;  

        case 2: xianshi(stud);  break;  

        case 3: chazhao(stud); break;  

        case 4: paixu(stud);break;  

        case 5: charu(stud); break;  

        case 6: save(stud);   break;  

        case 7: xiugai();     break;  

        case 8: shanchu();        break;  

        case 9: quit();              

      }

    }

 }

void shuru(struct student stud[])

 { int n=0,i,j,k,c;

   char b[4];

   float sum;

   printf("How many student's record do you want to enter? n=  ?\b\b\b");

   scanf("%d",&n);     

   for(i=0;i<n;)

    { sum=0;           

      printf("Input the %dth student's number ",N+1);

      scanf("%s",stud[N].number);       

      if(flag(stud))   

       {

         printf("The record has exist.\n");

         printf("Input again.");

         getch();

       }

      else

       { printf("Input the %dth student's name ",N+1);

         scanf("%s",stud[N].name);      

printf("1>yuwen 2>shuxue 3>yingyu 4>huaxui 5>wuli 6>zhengzhi \n");

         for(j=0;j<6;j++)

          { do

            {

             printf("Input the %dth student's score(%d)",N+1,j+1);    

             scanf("%s",b);             

             stud[N].score[j]=atof(b);  

             if(stud[N].score[j]<=0||stud[N].score[j]>100)             

              {

               k=1;                     

               printf("Error input !!!\n");

               printf("Input again ...\n");           

              }

             else

              k=0;                      

            }while(k);                  

            sum+=stud[N].score[j];      

          }

         stud[N].average=sum/6;       

         printf("\nEnter success !!!\n");

         printf("\nPress any key to return.");

         getch();

         N++;                          

         i++;

         H=1;

       }

       clrscr();       

    }

    clrscr();          

 }

void xianshi(struct student stud[])

 { int i=0,k,max,maxb,n,flag='y';

   char m[6];

   

   if(N==0)

    {

     printf("There are not record.\n");

     printf("Press any key to return.");       

     getch();

    }

   else

   while(flag!='n')

    { maxb=0;i=0;

      do

      { if(N%10!=0)

          { printf("\n\t\tThere are %d pages in all.",N/10+1);

            printf("\n\t\tWhich page do you want to see? ");  

          }

        else

          { printf("\n\t\tThere are %d pages in all.",N/11+1);

            printf("\n\t\tWhich page do you want to see? ");

          }

        scanf("%s",m); 

        k=atoi(m);     

        if(k)

         { k=10*(k-1); 

           if(k>=N)    

            { printf("\n\t\tThe page is not exist !!!");

              printf("\n\t\tInput again .\n");

            }

         }

        else

         k=N+1;

      }while(k>=N);    

      if((k+10)>N)

        max=N;         

      else

        max=k+10;      

      clrscr();

      for(i=k;i<max;i++)

       { n=strlen(stud[i].name);

         if(n>maxb)

          maxb=n;

       }

      i=k;

      if(maxb<8)

       { while(i<max)

         {

           if(i%10==0)

            { printf("\n\t\t\t\t Page:%d",(k+10)/10);

printf("\n1>yuwen 2>shuxue 3>yingyu 4>huaxui 5>wuli 6>zhengzhi \n");

              printf("\n\t|---|--------|--------|----|----|----|----|----|----|------|");

              printf("\n\t|NO:| number |  name  | (1)| (2)| (3)| (4)| (5)| (6)|junfen|\n");

            }

           printf("\t|---|--------|--------|----|----|----|----|----|----|------|\n");

  printf("\t| %-2d|  %-6s|%-8s|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-6.2f|\n",i+1,stud[i].number,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].score[3],stud[i].score[4],stud[i].score[5],stud[i].average);

i++;

          }

          printf("\t|---|--------|--------|----|----|----|----|----|----|------|\n");

       }

     

      else

       { while(i<max)

         {

           if(i%10==0)

            { printf("\n\t\t\t\t Page:%d",(k+10)/10);

              printf("\n\t\b\b|---|--------|----------------|----|----|----|----|----|----|------|\n");

      

              printf("\n\t\b\b|NO:| number |      name      | (1)| (2)| (3)| (4)| (5)| (6)|junfen |\n");

           

           printf("\t\b\b|---|--------|----------------|----|----|----|----|----|----|------|\n");

}

           printf("\t\b\b| %-2d|  %-6s|%-16s|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-6.2f|\n",i+1,stud[i].number,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].score[3],stud[i].score[4],stud[i].score[5],stud[i].average);

           i++;

          }

         printf("\t\b\b|---|--------|----------------|----|----|----|----|----|----|----|------|\n");

        }

       printf("\t\t\t\b\bDo you want to go on? y or n?\b\b\b\b\b\b\b");

       flag=getch();   

       clrscr();       

     }

 }

void chazhao(struct student stud[])

 { int i=0,n,j;

   char number[8],flag='y';

   clrscr();           

   while(flag!='n')

    { i=0;

      printf("\n\t\t\t\t\b\b\b\bThe number--name list:\n");

      printf("----------------------------------------");

      printf("----------------------------------------");

     

      while(i<N)

       {

         if(strlen(stud[i].number)<4)

           n=4;

         else

           n=strlen(stud[i].number);

         if(n+strlen(stud[i].name)<15)  

          { if(n+strlen(stud[i].name)>6)

             { printf("%-4s-",stud[i].number);

               printf("%s\t",stud[i].name);

               i++;

             }

            else

             { printf("%-4s-",stud[i].number);

               printf("%s\t\t",stud[i].name);

               i++;

             }

          }

         else                         

          { printf("%-4s-",stud[i].number);

            if(strlen(stud[i].number)>4)

              j=(12-strlen(stud[i].number));

            else

              j=12-4;

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

              printf("%c",stud[i].name[n]);  

            printf(".. ");             

            i++;

          }

       }

      printf("\n---------------------------------------");

      printf("-----------------------------------------");

      printf("\n\t\t\bInput the student's number you want to search:");

      scanf("%s",number);              

      i=0;

      while(i<N)

       { if(strcmp(stud[i].number,number)==0) 

           { printf("\n1>yuwen 2>shuxue 3>yingyu 4>huaxui 5>wuli 6>zhengzhi \n");

            if(strlen(stud[i].name)<8)

             { printf("\n");

               printf("\t|---|--------|--------|----|----|----|----|----|----|------|\n");

               printf("\t|NO:| number |  name  | (1)| (2)| (3)| (4)| (5)| (6)|junfen|\n");

               printf("\t|---|--------|--------|----|----|----|----|----|----|------|\n");

               printf("\t| %-2d|  %-6s|%-8s|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-6.2f|\n",i+1,stud[i].number,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].score[3],stud[i].score[4],stud[i].score[5],stud[i].score[6],stud[i].average);

               printf("\t|---|--------|--------|----|----|----|----|----|----|------|\n");

             }

           

            else

             { printf("\n");

               printf("\t|---|--------|----------------|----|----|----|----|----|----|------|\n");

               printf("\t|NO:| number |      name      | (1)| (2)| (3)| (4)| (5)| (6)|junfen|\n");

               printf("\t|---|--------|----------------|----|----|----|----|----|----|------|\n");

               printf("\t| %-2d|  %-6s|%-16s|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-6.2f|\n",i+1,stud[i].number,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].score[3],stud[i].score[4],stud[i].score[5],stud[i].average);

               printf("\t  |---|--------|----------------|----|----|----|----|----|----|------|\n");

             }

            flag=0;

            i=N;       

           }

         i++;          

       }

      if(flag)         

        printf("\n\t\t\tYour input is error\n");

      printf("\n\t\t\tDo you want to go on? y or n?\b\b\b\b\b\b\b");

      flag=getch();    

      clrscr();        

    }

 }

void paixu(struct student stud[])

 { int i,j,k;

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

    { k=i;

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

       if(stud[j].average>stud[k].average)

         k=j;

         if(k!=i)

          {

           temp=stud[k];

           stud[k]=stud[i];

           stud[i]=temp;

           H=1;

          }

    }

   printf("\n\n\n\n\n\n\n\n\n\n\n");

   printf("                      ");

   printf("********* Has been inoder!! *********\n");    

   printf("                                        ");

   sleep(2);          

   clrscr();          

 }

void charu(struct student stud[])

 { int i,j,k;

   float sum;

   char flag='y',b[4];

   clrscr();           

   while(flag=='y')

    { sum=0;

      k=0;

      printf("Input the student's number you want to insert:");

      scanf("%s",stud[N].number);       

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

       if(strcmp(stud[i].number,stud[N].number)==0)     

         k=1;

      if(k)           

       {

         printf("The record has exist.\n");

       }

      else

       { printf("Input the student's name you want to insert:");

         scanf("%s",stud[N].name);      

printf("1>yuwen 2>shuxue 3>yingyu 4>huaxui 5>wuli 6>zhengzhi \n");

         for(j=0;j<6;j++)

          { do

             { printf("Input the student's score(%d):",j+1);

               scanf("%s",b);           

               stud[N].score[j]=atof(b);

               if(stud[N].score[j]<=0||stud[N].score[j]>100)   

                { k=1;

                  printf("Error input !!!\n");

                  printf("Input again ...\n");

                }

               else

                 k=0;

             }while(k);

            sum=sum+stud[N].score[j];  

           }

           stud[N].average=sum/6;     

          

           for(j=0;j<N;j++)

            if(stud[j].average<stud[N].average)

             { i=N;

               temp=stud[N];

               for(;i>j;)

                { stud[i]=stud[i-1];

                  i--;

                }

               stud[j]=temp;

               j=N;

             }

           N++;

           H=1;       

           printf("\nInsert success !!!\n\n");

        }

       printf("If you want  to go on press:y\n");

       printf("Else press any key to menu:");

       flag=getch();    

       clrscr();       

     }

 }

void save(struct student stud[])

 { FILE *fp;

   int i=0;

   printf("\n\n\n\n\n\n\n\n\n\n\n");

   printf("                   ");

   printf("********** Saving file......**********\n");   

   printf("                                    ");

   sleep(1);           

   if((fp=fopen("score","wb"))==NULL)   

    {

     printf("Can not open the file\n");

     sleep(1);

     return;

    }

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

   if(fwrite(&stud[i],sizeof(struct student),1,fp)!=1)  

    {

     printf("File write error\n");

     return;

     }

   fclose(fp);       

   clrscr();           

   printf("\n\n\n\n\n\n\n\n\n\n\n");

   printf("                   ");

   printf("********** Saving success !!! **********\n");

   printf("                                    ");

   H=0;

   sleep(2);           

   clrscr();           

 }

void xiugai(void)

 { int i,a,k,n,h,j;

   float sum;

   char m[10],flag='y',b[8];

   while(flag=='y')

    { sum=0;

      i=0;

      k=0;

      printf("\n\t\t\t\t\b\b\b\bThe number--name list:\n");

      printf("----------------------------------------");

      printf("----------------------------------------");

      while(i<N)

       { if(strlen(stud[i].number)<4)

            n=4;

         else

            n=strlen(stud[i].number);

         if(n+strlen(stud[i].name)<15)

          { if(n+strlen(stud[i].name)>6)

             { printf("%-4s-",stud[i].number);

               printf("%s\t",stud[i].name);

               i++;

             }

            else

             { printf("%-4s-",stud[i].number);

               printf("%s\t\t",stud[i].name);

               i++;

             }

          }

         else

          { printf("%-4s-",stud[i].number);

            if(strlen(stud[i].number)>4)

              j=(12-strlen(stud[i].number));

            else

              j=12-4;

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

              printf("%c",stud[i].name[n]);

            printf(".. ");

            i++;

          }

       }

      printf("\n---------------------------------------");

      printf("-----------------------------------------");

      printf("\n\t\tInput the student's number you want to change.");

      scanf("%s",m);   

      printf("\n");

      for(i=0;strcmp(stud[i].number,m)!=0&&i<N;i++);    

      if(i<N)

       {

        a=1;

        h=i;

       }

      else

       a=0;

      if(a)

       { printf("Input new number:");

         scanf("%s",b);

         for(i=0;i<h||i>h&&i<N;i++)

          if(strcmp(stud[i].number,b)==0)

           k=1;

         if(k)        

          {

           printf("The record has exist.\n");

           getch();

          }

         else

          { strcpy(stud[h].number,b);                   

            printf("Input new name:");

            scanf("%s",stud[h].name);                    

printf("1>yuwen 2>shuxue 3>yingyu 4>huaxui 5>wuli 6>zhengzhi \n");

            for(k=0;k<6;k++)

            { do

               { printf("Input new score(%d)",k+1);

                 scanf("%s",b);                         

                 stud[h].score[k]=atof(b);               

                 if(stud[i].score[k]<=0||stud[h].score[k]>100)

                  {

                   n=1;

                   printf("Error input !!!\n");

                   printf("Input again ...\n");

                  }

                 else

                  n=0;

                }while(n);

               sum=sum+stud[h].score[k];

             }

             stud[i].average=sum/6;   

             printf("\n\t\t\t **** Change success !!! ****\n\n");

             H=1;

           }

       }

      else

       printf("\n\t\t\t\tError input!!!!!\n\n");

      printf("\t\t\t If you want  to go on press:y");

      printf("\n\t\t\t  Else press any key to menu:");

      flag=getch();    

      clrscr();        

    }

 }

void shanchu(void)

 { int i,a,j,k,n;

   char m[10],flag='y';

   while(flag=='y')

    { i=0;

      printf("\t\t\t\t\b\b\b\bThe number--name list:\n");

      printf("----------------------------------------");

      printf("----------------------------------------");

      while(i<N)

       { if(strlen(stud[i].number)<4)

            n=4;

         else

            n=strlen(stud[i].number);

         if(n+strlen(stud[i].name)<15)

          { if(n+strlen(stud[i].name)>6)

             { printf("%-4s-",stud[i].number);

               printf("%s\t",stud[i].name);

               i++;

             }

            else

             { printf("%-4s-",stud[i].number);

               printf("%s\t\t",stud[i].name);

               i++;

             }

          }

         else

          { printf("%-4s-",stud[i].number);

            if(strlen(stud[i].number)>4)

              j=(12-strlen(stud[i].number));

            else

              j=12-4;

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

              printf("%c",stud[i].name[n]);

            printf(".. ");

            i++;

          }

       }

      printf("\n---------------------------------------");

      printf("-----------------------------------------");

      printf("\n\t\tInput the student's number you want to delete.");

      scanf("%s",m);                   

      for(i=0;strcmp(stud[i].number,m)!=0&&i<N;i++);      

       if(i<N)

        a=1;

       else

        a=0;

      if(a)

       { stud[i]=stud[M-1];

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

          { k=i;

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

             if(stud[j].average>stud[k].average)

              k=j;

            temp=stud[k];

            stud[k]=stud[i];

            stud[i]=temp;

          }

         N--;        

         printf("\n\t\t\t  **** Delete success !!! ****\n\n");

         H=1;

       }

      else

       printf("\n\t\t\t\tError input!!!!!\n");

      printf("\n\t\t\t If you want  to go on press:y");

      printf("\n\t\t\t  Else press any key to menu:");

      flag=getch();

      clrscr();     

     }

 }

void quit(void)

 { char a;

   if(H)

    { printf("\n\n\n\n\n\n\n\n\n\t\t  Do you want to save the datas have changed ?");

      printf("\n\n\t\t\t\t   y & n ? ");

      printf("\n\t\t\t\t     ");

      a=getch();

      printf("%c",a);

      getch();

      if(a=='y')

       { clrscr();

         save(stud);   

         printf("\n\n\n\n\n\n\n\n\n\n\n");

          printf("\t\t\t\b\b\b\b********** xiexie shiyong ********** ");

         sleep(1);

         clrscr();    

         printf("\n\n\n\n\n\n\n\n\n\n\n");

         printf("\t\t\t********** Bye Bye !!! **********");

         sleep(2);

         exit(0);      

       }

      else

       {clrscr();

        printf("\n\n\n\n\n\n\n\n\n\n\n");

        printf("\t\t\t\b\b\b\b********** xiexie shiyong ********** ");

        sleep(1);

        clrscr();     

        printf("\n\n\n\n\n\n\n\n\n\n\n");

        printf("\t\t\t********** Bye Bye !!! **********");

        sleep(2);

        exit(0);       

       }

    }

   else

    {

     printf("\n\n\n\n\n\n\n\n\n\n\n");

     printf("\t\t\t\b\b\b\b********** xiexie shiyong ********** ");

    

     sleep(1);

     clrscr();         

     printf("\n\n\n\n\n\n\n\n\n\n\n");

     printf("\t\t\t********** Bye Bye !!! **********");

     sleep(2);

     exit(0);          

    }

 }

void load(void)

 { FILE *fp;

   while((fp=fopen("score","rb"))==NULL)

     return;

   for(N=0;!feof(fp);N++)

    {

      if(1!=fread(&stud[N],sizeof(struct student),1,fp)) 

      break;           

    }

   fclose(fp);        

 }

int flag(struct student stud[])

 { int i,flag=0;

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

   if(strcmp(stud[i].number,stud[N].number)==0)

     flag=1;           

   return(flag);

 }

int menu(void)

 { int n;

   char a[5];

   clrscr();         

   do

   {

  printf("*************welcome to use student management******************\n");

  printf("*************************menu********************************\n");

  printf("* ========================================================= *   \n");

  printf("*               1:shuru                                     *   \n");

  printf("*               2:xianshi                                   *   \n");

  printf("*               3:chazhao                                   *   \n");

  printf("*               4:paixu                                     *   \n");

  printf("*               5:charu                                     *   \n");

  printf("*               6:save                                      *   \n");

  printf("*               7:xiugai                                    *   \n");

  printf("*               8:shanchu                                   *   \n");

  printf("*               9:quit                                      *   \n");

  printf("* ======================================================== *  \n");

    printf("     Please input the number you want(1-9):");

    scanf("%s",a);

    n=atoi(a);

    if(n<1||n>9)

      {

       printf("\t\t\t    Error input. Input again.");

       sleep(1);

      }

    clrscr();          

   }while(n<1||n>9);

   clrscr();           

   return(n);}

更多相关推荐:
《C语言程序设计》课程设计报告(小组)

东莞理工学院《C语言程序设计》课程设计题目:图书信息管理系统院系:电子工程学院专业:电子信息工程年级:20##班别:2班指导教师:##组长:##同组成员:##目录一、目的....................…

c语言课程设计报告

C语言程序设计课程设计学生姓名学号系院专业设计论文题目学生选课系统管理完成日期20xx年6月指导教师目录一实验目的二实验内容三总体设计四详细设计五运行结果六课程设计体会一实验目的1通过课程设计加深对结构化程序设...

C语言课程设计报告

河南理工大学计算机科学与技术学院课程设计报告20XX20XX学年第一学期课程名称C语言课程设计设计题目《小学算术运算测试》学生姓名学号专业班级计算机07-2班指导教师20XX年9月12日目录1.设计任务书21.…

C语言课程设计报告范例

C语言课程设计报告设计题目专业班级学号姓名任课老师时间目录一课程设计题目及所涉及知识点二课程设计思路及设计流程图三课程设计中遇到的难点及解决办法四小结五附录原程序2一课程设计题目及所涉及知识点一课程设计题目1基...

厦门理工学院11级C语言C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期题目专业班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求1二方案实现与调试221掷骰子游戏222射击游戏323汽车...

C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期专业计算机科学与技术班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求3二方案实现与调试321掷骰子游戏322汽车加...

c语言程序贪吃蛇课程设计报告

山东工商学院信电学院自动111班第一组贪吃蛇课程设计报告高级语言程序设计课程设计报告ExperimentDesigningreporter课程名称高级语言程序设计英文名称CProgramExperimentDe...

C语言课程设计报告电子版

C语言课程设计报告姓名张林班级计算111班学号11060101241A类基本题1围绕着山顶有10个圆形排列的洞狐狸要吃兔子兔子说可以但必须先找到我我就藏身于这十个洞中的某个洞你从号洞找下次隔个洞即3号洞找第三次...

c语言课程设计报告书

C语言课程设计报告题目院系组别成员指导老师20xx年月日114目录一课程设计题目3二课程设计要求3三数据结构设计描述31问题描述32设计思想33涉及数据结构知识34各变量的定义和作用35功能模块详细设计3四程序...

C语言课程设计报告

C语言课程设计参考例例子职工信息管理系统1用户分析11用户目的设计一个职工信息管理系统使之能提供以下功能1录入职工信息2显示职工信息3查询职工信息4修改职工信息5删除职工信息14用户需求职工信息包括职工号姓名性...

c语言课程设计报告-西安邮电大学

西安郵電大學C语言课程设计报告书学院名称:计算机学院学生姓名:专业名称:班级:学号:指导教师:时间:20XX年06月03日至20XX年06月12日实验题目:学生通讯录管理系统一、实验目的通过本次实习,进一步巩固…

C语言课程设计报告

1前言设计一个算法求出两个序列的所有LCS分析最坏情况用会计方法证明利用bij求出所有LCS的算法在最坏情况下的需求分析根据最长公共子序列问题的性质即经过分解后的子问题具有高度重复性并且具有最优子结构性质采用动...

c语言程序设计课程设计报告(34篇)