c语言——课程设计实验报告网页未完版

中南大学

C语言程序设计实践报告

题    目          学 生 成 绩 管 理 系 统                             

学生姓名               木雕小象                         

指导教师               ×   ×   ×                         

学    院         信 息 科 学 与 工 程 学 院                         

专业班级               电 气 0900 班                               

完成时间             2010 年 7 月 8 日              

系统描述 ………………………

功能模块结构……………………

数据结构设计……………………

主要模块的算法说明………………

运行结果……………………………

课程设计总结………………………

附录(源代码)……………………

一、系统描述

1. 学生成绩管理系统对日常学生的基本成绩信息进行管理,能实现对学生多种信息的存储,可以对多种数据进行各种各样的操作。

2. 管理系统首先能实现数据的输入。学生的各种信息(比如:班级,学号,姓名,性别,年龄,选修课程编号,名称,考试成绩,平时成绩,综合成绩)能正确的输入,从而可以进行处理。

3. 待所有学生信息输入以后,如果发现输入有误或者需要修改一些学生的信息,可以利用修改函数进行修改,并且可以修改任意需要修改的信息。

4. 同时当学生管理系统需要进行学生的添加时(比如:新生转学时),利用添加函数能及时的补充所需要的信息。

5. 当所需的学生信息正确而完整的输入后,该信息系统可以进行信息的查询(本系统可按学生姓名和学号查询),当输入正确的查询信息后,该管理系统可以显示出该生的所有信息。当输入信息不正确时,系统会提示错误,并允许重新输入。

6. 此系统同时可以进行信息的删除,当有学生退学或休学时,利用删除函数可以删除特定的学生信息,从而减少冗余的信息。

7. 该系统可以显示输入的所有信息。

8. 利用该系统可以同时计算每个同学的平均成绩,并对所有的学生按平均成绩高低进行排序,同时输出排序后的成绩表。

9. 此系统同时还可以列出不及格学生的学号,姓名,课程和成绩,便于进行统一的管理。

二、功能模块结构

1. 该系统的模块设计清晰,各模块的算法简单,高效,整个系统由主函数调用各个模块而组成。可以把函数分为数据录入模块,数据修改模块,数据添加模块,数据查询模块(可分文姓名和学号查询),数据删除模块,数据统计模块(成绩显示模块,成绩计算及排序模块,成绩分类模块),文件保存模块共七大模块,其中主函数中包含界面模块

2. 主要模块的结构图如下:

模块功能描述

1. 主控模版:主控模版是整个系统的模块交汇点,使用者使用系统时先进入主控模版,通过主控模版可以调用任意的模块,达到预期的功能。

2. 数据录入模块:该模块可以实现学生多种数据的录入,录入的信息储存在数组中,其他模块能够调用。

3. 数据模块修改:该模块可以实现数据的修改。当输入修改的学生信息时,模块会自动找寻,未找到则显示不存在,若找到则进入下级列表,操作者可以根据界面标号进行任意的修改

4. 数据添加模块:该模块将学生的信息完整的存入一个结构体数组中,其他模块可以调用。

5. 数据模块查询:该模块可以对信息进行检索,挑选出符合要求的信息,并显示列表,如果没有搜索的信息,则显示未找到。(1)按姓名查询(2)按学号查询

6. 数据删除模块:该模块可以删除任意指定学生的信息,模块首先会提醒操作者输入特定的学号,数据输入后进行搜寻,若无此学生的信息,则显示不能找到,若找到此生信息,则显示删除成功。

7. 数据统计模块

(1)成绩显示模块:输入选择号后,该模块可以显示已经输入系统的学生信息。

(2)成绩计算及排序模块:该模块可以利用平均成绩函数计算每位学生的平均成绩,并按学生平均成绩的高低进行排序,然后将学生姓名列表显示。

(3)成绩分类模块:该模块可以查找系统中不及格学生的信息,然后将该生的学号,姓名,不及格科目及分数显示出来。

8、退出系统模块

三、数据结构设计

学生成绩管理系统在使用中用到了众多的数据,数据多,数据类型复杂,给数据的管理和使用带来了很大的麻烦。所以我使用了数组来存放数据。定义了结构体来存放学生的各种类型的数据,使存放更合理,便于管理。

 为避免学生基本信息结构体stu太长,嵌套定义了一个选修课程结构体course

struct course

{

  课程编号  整型       int num;

  课程名    字符串     char name[10];

  考试成绩   浮点型    float score;

 平时成绩  浮点型      float usual;

 综合成绩  浮点型     float integral;

};

struct stu

{

专业班级    整型      int class;

  学生编号   整型      int num;

  学生姓名   字符串    char name[10];

  性别       字符串    char sex[2];

  年龄       整型      int age;

  嵌套定义课程信息     struct course course[2];

  平均成绩   浮点型    float avescore;

 }

 程序后面的模块都会要用到以上结构体的信息,控制好循环结构,能随时调用结构体中的信息。

四:数据模块结构说明

本系统的功能都是由主函数调用各个模块来实现,每个模块都是一个特定的自定义函数,能分别实现不同的功能。采用的思想也就是“化整为零”,将一个问题分解为一个个的小问题,各自来攻破。下面将分写介绍每个模块的实现过程及功能。在最开始,定义了一个全局变量m,m是结构体数组stu的有效长度,能够对后面的插入,删除等范围进行控制。

1. void menu()

 改函数为主控函数,起到功能菜单的作用,每个功能从这个界面选择,实现功能后返回改界面,进而选择其他功能。

2. void input();

此函数实现最开始数据的输入功能。在屏幕的提示下,操作者能输入相应学生的信息,采用的是双重循环:外层循环for(i=0;i<m-1;i++)来控制学生的个数,输入基本信息;内循环for(j=0,sum=0;j<COURSENUM;j++)控制课程门数,此处COURSENUM是一个宏定义,指的是课程门数,能相应的输入学生的选修课程信息。stu[i].course[j].integral=stu[i].course[j].usual*0.3+stu[i].course[j].score*0.7,此式为综合成绩的计算表达式,当integral<60时,为“Y”(由条件语句if来判断实现)。平均分也在此模块求:总分sum为各科的综合成绩之和,除以课程数,就是平均分。

3. void modify();

此函数实现修改功能。在屏幕提示下,操作者可选择修改基本信息或课程信息,接着输入相关的信息。修改成功会提示,否则显示“无学生信息”。

4. void insert()

此函数实现插入功能。在屏幕提示下,操作者输入要增加的学生信息,此时,信息被放在数组元素stu[m]中(即最后一个,m为全局变量)。插完一个人之后,m自增,屏幕会显示“插入成功”,还会询问操作者“继续添加吗?”此处定义了一个字符型变量ch,当ch为Y或y时,继续输入,当ch为其他字符时,停止添加。

5. void search()

此函数实现查询功能。定义了一个字符串数组来存放输入的学生姓名。操作者在屏幕提示下输入要查询的名字或学号,本模块采用了字符串比较函数,当输入的字符串(名字或学号)与程序中的相同时,输出该生的所有信息(包括基本信息,选修信息),由for循环控制。此处采用了查询标志p:当查询正确时,p被赋值为1,显示信息;当没有查询信息时,p被赋值为0,在if语句控制下,显示“无学生信息”。由for语句控制循环。

6.void delete()

此函数实现删除功能。定义了字符串变量name[15],删除标志p。运用了字符串比较函数,当输入的字符串name与数据中的名字相同时,删除分两种情况:

a. 被删除的学生不是最后一个。由for语句控制循环,运用了字符串比较函数,当输入的姓名存在时,从此学生开始,将后面的数组元素依次赋值给前面的数组元素(即覆盖掉),实现了删除的功能。同时,全局变量m会自减,p被赋值为1,显示“删除成功”。

b. 被删除的学生是最后一个时,直接m自减,在后面的输出函数output()的for(i=0;i<m-1;i++)语句中,m已经减1了,于是不输出最后一名同学的信息,没有实现物理内存上的删除,但实现了删除的功能。此时,p被赋值为1,显示“删除成功”。

当输入的字符串name找不到相匹配的名字时,p被赋值为0,显示“没有学生档案”。

7.void tongji()

(1)void output()

此函数实现输出功能。由printf函数将一系列的表格框架、表头及相关的信息输出,for(i=0;i<m-1;i++)语句控制基本信息循环。当前面插入了学生信息时,m自增,此时,输出函数会将加入的学生信息显示出来;当删除了某生的信息时,m自减,此时,输出函数不会显示被删学生信息。两个for语句控制课程信息的循环,输出对应学生的课程信息。

(2)void average()

在前面输入函数input()中已经计算过平均分,此处实现输出平均分的功能,并按平均分的高低实现从高到低的排序输出。运用选择法排序,定义了中间结构体变量temp,  for(i=0;i<m-1;i++)控制外层循环(排序的趟数),for(j=i+1;j<=m-1;j++)  控制内层循环(某趟中排序的次数)。当stu[i].avescore<stu[j].avescore时,运用中间变量,将二者的信息交换,以实现高分在前,低分“沉”到最后。在外层循环中,输出学生姓名,实现从高到低的排序。

(3)void unpassed()

此函数实现输出不及格学生信息的功能。由if语句判断,当stu[i].course[j].integral<60(综合分小于60)时,在for语句控制下,输出相关信息(包括学生姓名,课程名称,综合分数),便于对学生进行安排。

  8.void anykey();

此函数实现缓冲的功能,为操作者提供时间进行其他操作。 当某个模块运行完之后,屏幕显示“按任意键继续”,按键之后,回到操作界面可以进行其他操作。

 

主函数main()说明

1) 主模块:首先输入一个数字进入主菜单。包括输入信息,修改信息,插入信息,查询信息,删除信息,信息统计(全部输出,平均成绩信息及排序,不及格名单),退出。在屏幕提示下,选择一个数字,实现相应的功能,实现之后,按任意键又回到主菜单,来实现下一个功能。直到按退出键“7”退出界面。此处由一个switch语句及它的多个case语句来完成,每个case语句中调用各个不同的数据模块,调用结束后,由break函数跳出,返回主菜单,继续执行下一个任务。

2) 主菜单:一个选择表格输出来,末行会提示输入相应的数字。以进入相应的模块

3) 录入模块:调用input()函数,输入信息。

4) 修改模块:调用modify()函数,修改信息。

5) 插入模块:调用insert()函数,插入信息。

6) 查找模块:调用search()函数,查找信息。

7) 删除模块:调用delete()函数,删除信息。

8) 统计模块:全部输出output()函数,输出全部学生信息;平均分模块调用average()函数,输出平均分信息及按平均分排序;输出不及格名单 unpassed()函数,输出综合分<60的名单。

9) 退出系统。

五、运行结果

1、主界面

×××

2、选择数据输入

3、修改数据界面,可分别修改学生基本信息和课程信息

4、插入数据,可添加新的信息

5、数据查询界面

(1)下面是按姓名查询结果

6、数据删除

7、数据统计

(1)显示全部数据

(2)计算平均成绩并排序



(3)输出不及格名单

六、课程设计总结

  两个星期的计算机实践终于圆满的完成了。能够完整的将自己编的程序运行一遍,这是一件多么美妙的事情!从对C语言浅显的认识到更深刻的体会,这是一个从量变到质变的过程。每一个人都会有很大的进步。

   说远比动手容易!这是我最深的体验。刚拿到题目,觉得没什么大不了,不就是定义几个函数,在主函数中运用一个switch语句,然后再调用嘛。随便的想了一想,也没太在意。之后的上机过程真的是给我泼了冷水,把我浇醒。一系列的变量定义,函数定义,输入输出,将我理想中的简单程序变得越来越复杂……不是把数据类型弄错,就是漏了什么东西,或者又打错了什么,反正十次中有九次不能运行,还有一次运行结果不对。编程序很需要耐心,各个细节都很重要,一个小错误将会导致整个系统的错误。最更要命的是,我偷了一下懒,只给每位学生安排了一门课程,所以在这个地方,思路就错了。综合分变成了自己输入,而不是按百分比计算,每个人的平均分也没有。还好问的及时,老师指出了错误,不至于错误继续延续下去,很值得庆幸。

   对课本上的知识不熟悉也导致了我编程进度缓慢。考试只是让我把知识进行简单的记忆,并没有真正转变成自己的,而这次的编译程序过程做到了,经历之后,我还可以很熟练的写出语句,很快的检查出一些简单的错误。

   这次的实践,我很有收获!

七、源程序代码

#include<stdio.h>

#include"stdlib.h"

#define COURSENUM 2       /*宏定义课程数目*/

void menu();

void input();

void delet();

void insert();

void modify();

void search();

void tongji();

void output();

void average();

void unpassed();

void anykey();

static int m=3;          /*全局变量*/

struct course            /*定义课程结构体*/

 {

  int num;

  char name[10];

  float credit;

  float score;

  float usual;

  float integral;

 };

 struct stu                /*定义学生结构体*/

 {

  int class;

  int num;

  char name[10];

  char sex[2];

  int age;

  struct course course[2];

  float avescore;

 } stu[50];

void input()                      /*输入函数*/

{

  int i,j,sum;

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

  {

   printf("请输入学生基本信息:\n");

   printf("班级:\n");

   scanf("%d",&stu[i].class);

   printf("学号:\n");

   scanf("%d",&stu[i].num);

   printf("姓名:\n");

   scanf("%s",stu[i].name);

   printf("性别:\n");

   scanf("%s",&stu[i].sex);

   printf("年龄:\n");

   scanf("%d",&stu[i].age);

     printf("请输入课程基本信息:\n");

     for(j=0,sum=0;j<COURSENUM;j++)

    {

     printf("课程编号:\n");

     scanf("%d",&stu[i].course[j].num);

     printf("课程名称:\n");

     scanf("%s",stu[i].course[j].name);

     printf("学分:\n");

        scanf("%f",&stu[i].course[j].credit);

     printf("考试成绩:\n");

        scanf("%f",&stu[i].course[j].score);

     printf("平时成绩:\n");

     scanf("%f",&stu[i].course[j].usual);

     stu[i].course[j].integral=stu[i].course[j].usual*0.3+stu[i].course[j].score*0.7;                                  /*计算综合分*/

     sum=sum+stu[i].course[j].integral;

    }

     stu[i].avescore=sum/COURSENUM;               /*求平均成绩*/

 }

 anykey();

}

void modify()                   /*数据修改函数*/

{

 int i,j,q,p=0,sum;

 char name[15];

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

   printf("|          1.修改基本信息:            |\n");

   printf("|          2.修改课程信息:            |\n");

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

   scanf("%d",&q);

 switch(q)                                 /*选择项目*/

 {

     case 1:printf("输入被修改者姓名:\n");

     scanf("%s",name);

     printf("请输入学生基本信息:\n");

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

     {

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

       {

        printf("班级:\n");

        scanf("%d",&stu[i].class);

        printf("学号:\n");

        scanf("%d",&stu[i].num);

        printf("姓名:\n");

        scanf("%s",stu[i].name);

        printf("性别:\n");

        scanf("%s",stu[i].sex);

        printf("年龄:\n");

        scanf("%d",&stu[i].age);

        printf("修改成功\n");

        p=1;

        }

     }

     if(p==0) printf("不存在");break;

     case 2: printf("输入被修改者姓名:\n");

     scanf("%s",name);

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

     {

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

         {  printf("请输入课程基本信息:\n");

            for(j=0,sum=0;j<COURSENUM;j++)

              {

               printf("课程编号:\n");

               scanf("%d",&stu[i].course[j].num);

               printf("课程名称:\n");

               scanf("%s",stu[i].course[j].name);

               printf("学分:\n");

               scanf("%f",&stu[i].course[j].credit);

               printf("考试成绩:\n");

               scanf("%f",&stu[i].course[j].score);

               printf("平时成绩:\n");

               scanf("%f",&stu[i].course[j].usual);

               stu[i].course[j].integral=stu[i].course[j].usual*0.3+stu[i].course[j].score*0.7;

               sum=sum+stu[i].course[j].integral;

               printf("修改成功\n");

             }

          }p=1;

        }

        if(p==0) printf("不存在");break;

      default: printf("不存在该学生信息\n");

  }

  anykey();

}

void insert()                 /*插入函数*/

 {

   int j,sum;

   char ch;

   do

   {

     printf("请输入学生基本信息:\n");

     printf("班级: ");

     scanf("%d",&stu[m].class);

     printf("学号: ");

     scanf("%d",&stu[m].num);

     printf("姓名 : ");

     scanf("%s",stu[m].name);

     printf("年龄:");

     scanf("%d",&stu[m].age);

     printf("性别:");

     scanf("%s",stu[m].sex);

     printf("请输入课程基本信息:\n");

       for(j=0,sum=0;j<COURSENUM;j++)

       {

        printf("课程编号:");

        scanf("%d",&stu[m].course[j].num);

        printf("课程名称:");

        scanf("%s",stu[m].course[j].name);

        printf("学分:");

        scanf("%f",&stu[m].course[j].credit);

        printf("考试成绩:");

        scanf("%f",&stu[m].course[j].score);

        printf("平时成绩:");

        scanf("%f",&stu[m].course[j].usual);

        stu[m].course[j].integral=stu[m].course[j].usual*0.3+stu[m].course[j].score*0.7;

        sum=sum+stu[m].course[j].integral;

        }

        stu[m].avescore=sum/COURSENUM;

        m++;                              /*人数增加*/

         printf("插入成功\n");

        printf("是否继续插入信息?(y/n)\n");

    ch=getch();

    }while(ch=='Y'||ch=='y');

    anykey();

}

 void search()               /*查询数据*/

{  int i,j,p=0,a,num;

   float integral;

   char s[15];

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

  printf("|         1、按姓名查询     |\n");

  printf("|         2、按学号查询     |\n");

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

 printf("请选择:\n");

 scanf("%d",&a);

 switch(a)

 {

  case 1:

    printf("请输入姓名\n");    /*输入查询数据*/

    scanf("%s",s);

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

    {

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

      {

     printf("基本信息:\n");

   printf("------------------------------------------------------\n\

| 班级 | 学号 | 姓名 | 性别 | 年龄 |\n");

      printf("|%6d|%6d|%6s|%6s|%6d|\n",

             stu[i].class,stu[i].num,stu[i].name,stu[i].sex,stu[i].age);                    /*输出表格*/

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

   printf("课程基本信息:\n\

------------------------------------------------------------\n");

   printf("| 课程编号 | 课程名称 | 学分 | 考试成绩 | 平时成绩 | 综合成绩 |\n");

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

     {

      printf("|%10d|%10s|%6.2f|%10.2f|%10.2f|%10.2f|\n",stu[i].course[j].num,stu[i].course[j].name,stu[i].course[j].credit,stu[i].course[j].score,

      stu[i].course[j].usual,stu[i].course[j].integral);

     }

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

      p=1;   anykey();

    }

  }

   if(p==0) printf("不存在该学生信息\n");

   break;

case 2:printf("请输入学号\n");

        scanf("%d",&num);

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

         {

           if(strcmp(stu[i].num,num)==0)

{

 printf("基本信息:\n");

printf("-----------------------------------------\n\

| 班级 | 学号 | 姓名 | 性别 | 年龄 |\n");

      printf("|%6d|%6d|%6s|%6s|%6d|\n",

             stu[i].class,stu[i].num,stu[i].name,stu[i].sex,stu[i].age);                    /*输出表格*/

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

  printf("课程信息:\n\

-----------------------------------------------------------\n");

   printf("| 课程编号 | 课程名称 | 学分 | 考试成绩 | 平时成绩 | 综合成绩 |\n");

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

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

     {

      printf("|%10d|%10s|%6.2f|%10.2f|%10.2f|%10.2f|\n",stu[i].course[j].num,stu[i].course[j].name,stu[i].course[j].credit,stu[i].course[j].score,

      stu[i].course[j].usual,stu[i].course[j].integral);

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

   }

    

      p=1;  anykey();

      break;

    }

  }

   if(p==0) printf("不存在该学生信息\n"); break;

}

}

 void delet()                /*删除函数*/

{

  int i,j,p=0;

  char name[15];

  printf("输入需要删除的学生姓名 :\n");

  scanf("%s",&name);

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

 { 

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

   {

    stu[i]=stu[i+1];

    m--;                                  /*人数减少*/

    p=1;

    printf("删除成功\n");

   }

   else if(strcmp(stu[m-1].name,name)==0)

    {

     m--;p=1;

     printf("删除成功\n");

    }

   }

    if(p==0) printf("不存在该学生信息\n");

    anykey();

}

void tongji()       /*数据统计函数*/

{

   int  p;

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

   printf("|        1.全部输出:              |\n");

   printf("|        2.计算平均成绩           |\n");

   printf("|        3.不及格名单             |\n");

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

   scanf("%d",&p);

   switch(p)

   {

   case 1:output();break;

   case 2:average();break;

   case 3:unpassed();break;

   }

}

void output()               /*输出函数*/

{

  int i,j;

  printf("学生基本信息:\n");   /*输出表格和数据*/

  printf("--------------------------------------\n| 班级 | 学号 | 姓名 | 性别 | 年龄  |\n");

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

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

    {

      printf("|%6d|%6d|%6s|%6s|%6d|\n",

     stu[i].class,stu[i].num,stu[i].name,stu[i].sex,stu[i].age);

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

    }

      printf("课程信息:\n\--------------------------------------------------------------\n");

      printf("| 课程编号 | 课程名称 | 学分 | 考试成绩 | 平时成绩 | 综合成绩 |\n");

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

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

     {

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

       {

       printf("|%10d|%10s|%6.2f|%10.2f|%10.2f|%10.2f|\n",stu[i].course[j].num,stu[i].course[j].name,stu[i].course[j].credit,stu[i].course[j].score,

      stu[i].course[j].usual,stu[i].course[j].integral);

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

       }

     }

}

void average()             /*平均分和排序函数*/

{

  int i,j;

  struct stu temp;

  printf("平均分信息:\n");

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

  printf("|   姓名   |   平均分  |\n");

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

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

  {

    printf("|%10s|",stu[i].name);

    printf(" %10.3f|\n",stu[i].avescore);

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

   }

    printf("从高到低排列:\n");

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

    printf("|   姓名   |   平均分  |\n");

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

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

    {

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

     {

       if(stu[i].avescore<stu[j].avescore)

       {

        temp=stu[i];

        stu[i]=stu[j];

        stu[j]=temp;

       }

     }

    printf("|%10s|",stu[i].name);

    printf(" %10.3f|\n",stu[i].avescore);

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

    }

   

    anykey();

}

void unpassed()            /*不及格名单*/

{

  int i,j,k=0,sum;

  printf("不及格名单:\n");

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

   printf("| 姓名 | 课程名称 | 综合成绩 |\n");

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

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

   {

      for(j=0,sum=0;j<COURSENUM;j++)

     {

       if(stu[i].course[j].integral<60)

        {

         k=1;

         printf("|%6s|%10s|%10f|\n",stu[i].name,stu[i].course[j].name,stu[i].course[j].integral);

         stu[i].course[j].integral=stu[i].course[j].usual*0.3+stu[i].course[j].score*0.7;

         sum=sum+stu[i].course[j].integral;

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

        }

       else k=0;

      }

      stu[i].avescore=sum/COURSENUM;

    }

   if(k==0) printf("没有不及格学生\n");

  anykey();

}

void anykey()            /*任意键函数*/

{

printf("按任意键继续:");

 getch();

 printf("\n");

}

void menu()

{

   int j;

   float i;

   scanf("%f",&i);

  while(1)

   {

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

   printf("|          1、录入数据       5、数据删除      |\n");

   printf("|          2、修改数据       6、数据统计      |\n");

   printf("|          3、插入数据       7、退出系统      |\n");

   printf("|          4、数据查询                        |\n");

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

   printf("请选择以上功能:");

   scanf("%d",&j);                        /*选择功能*/

  switch(j)

  {

   case 1:input();break;

   case 2:modify();break;

   case 3:insert();break;

   case 4:search();break;

   case 5:delet();break;

   case 6:tongji(); break;

   case 7:exit(0);

   }

  }

}

main()

{

  int i;

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

  printf("|             教 务 信 息 管 理 系 统            |\n");

  printf("|                                                |\n");

  printf("|                 设计者:木雕小象               |\n");

  printf("|                                                |\n");

  printf("|                 指导老师:×××               |\n");

  printf("|                                                |\n");

  printf("|                             20##年7月3日     |\n");

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

  printf("进入系统请输入:1\n");

  menu();

  getch();

}

相关推荐