资源简介

内含源码(有详细注释) 以及 最后的实验报告成品 程序说明: 编写的是一个菜单驱动的学生成绩管理系统。 •能输入并显示n个学生的m门考试科目的成绩,总分和平均分。 •能按总分高低进行排序 •任意输入一个学号,能显示学生的姓名,各门功课的成绩 •在使用过程中,用户如有计算特定成绩的需要,程序中附有简易计算器可以使用

资源截图

代码片段和文件信息


#include 
#include 
#include 
#include 
#define COURSENUM 20    /*科目数量的最大值*/

struct student
{
  
  int number;                           /*定义每个学生的学号变量*/             
  char name[20];                        /*定义每个学生的姓名变量*/ 
  int score[COURSENUM];                /*定义每个学生m门成绩的变量*/
  int sum;                              /*定义每个学生的总成绩变量*/
  float aver;                           /*定义每个学生的平均成绩变量*/
  struct student *next;                 /*指针的链域*/ 

};

typedef struct student STU;             /*给struct student定义一个新名字 STU*/

int Menu(void);                        /*函数声明:输出菜单的函数*/
int Ascending(int aint b);             /*函数声明:决定数据是否按升序排列(aint Descending(int aint b);            /*函数声明:决定数据是否按降序排列(a>b为真)*/ 
void IntSwap(int *pt1int *pt2);         /*函数声明:整型数据交换*/ 
void CharSwap(char *pe1char *pt2);       /*函数声明:字符型数据交换*/
void FloatSwap(float *pt1float *pt2);    /*函数声明:实型数据交换*/
STU *AppendNode(STU *headconst int m);    /*函数声明:创建新的节点*/
STU *DeleteNode(STU *headint nodeNum);    /*函数声明:找到要删除的节点并删除*/
STU *ModifyNode(STU *headint nodeNumconst int m);  /*函数声明:找到要修改的数据对应的节点*/
STU *SearchNode(STU*headint nodeNum);             /*函数声明:找到某个节点*/
STU *AppendScore(STU *headconst int m);           /*函数声明:输入学生的成绩*/
void TotalScore(STU *headconst int m);            /*函数声明:计算学生的平均成绩*/
void PrintScore(STU *headconst int m);            /*函数声明:输出学生成绩*/ 
STU *DeleteScore(STU*headconst int m);            /*函数声明:删除学生成绩*/
void ModifyScore(STU*headconst int m);             /*函数声明:修改学生成绩*/
void SortScore(STU*headconst int mint (*compare)(int aint b)); /*函数声明:对学生成绩进行排序*/ 
void SearchScore(STU *headconst int m);     /*函数声明:查找学生成绩*/
void DeleteMemory(STU *head);               /*函数声明:释放内存*/
void caculator(void);               /*函数说明:一款计算器*/ 

int main()

{
  
  int ch;     /*用户选择的数字*/
  int m;       /*科目的数量*/
  
  STU *head=NULL;  /*定义一个头指针并置空*/
 
  printf(“以下为学生成绩管理程序的示例。我们将会为您展示菜单供您选择\n\n“);
  printf(“please input course number(m<20):\t“);  
   /*提示输入科目数量*/
  scanf(“%d“&m);
                       /*程序开始进行*/
  while (1)    
  {

   printf(“请您在菜单中选择选项“);
   ch=Menu();  
     /*调用函数显示菜单并返回用户的选择值*/
   switch(ch)
   
    {
     
       case 1:head=AppendScore(headm);   /*调用成绩输入函数*/ 
            TotalScore(headm);          /*调用函数计算学生成绩的平均值*/
            break;
     
      case 2:PrintScore(headm);          /*调用成绩显示函数*/
            break;
     
      case 3:head=DeleteScore(headm);      /*调用成绩删除函数*/
           printf(“\nAfter deleted“);
           PrintScore(headm);            /*成绩删除后显示结果*/ 
           break;
     
      case 4:ModifyScore(headm);           /*调用成绩修改函数*/
            TotalScore(headm);            /*修改完后重新计算成绩平均值*/
            printf(“\nafter modified\n“);   
            PrintScore(headm);                /*输出修改后结果*/
            break;
     
      case 5:SearchScore(headm);              /*调用修改成绩的函数*/
            break;
   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      51687  2012-01-11 14:09  菜单驱动的学生成绩管理系统.docx

     文件      24229  2012-01-07 23:37  菜单驱动的学生成绩管理系统.c

----------- ---------  ---------- -----  ----

                75916                    2


评论

共有 条评论