C语言课程设计报告学生成绩管理系统.docx

上传人:b****1 文档编号:1671497 上传时间:2022-10-23 格式:DOCX 页数:12 大小:19.04KB
下载 相关 举报
C语言课程设计报告学生成绩管理系统.docx_第1页
第1页 / 共12页
C语言课程设计报告学生成绩管理系统.docx_第2页
第2页 / 共12页
C语言课程设计报告学生成绩管理系统.docx_第3页
第3页 / 共12页
C语言课程设计报告学生成绩管理系统.docx_第4页
第4页 / 共12页
C语言课程设计报告学生成绩管理系统.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C语言课程设计报告学生成绩管理系统.docx

《C语言课程设计报告学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告学生成绩管理系统.docx(12页珍藏版)》请在冰豆网上搜索。

C语言课程设计报告学生成绩管理系统.docx

C语言课程设计报告学生成绩管理系统

C语言课程设计报告--学生成绩管理系统

C语言课程设计报告--学生成绩管理系

C语言课程设计报告:

学生成绩管理系统

系统需求

一、 当前学生信息:

通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息.  

二、学生成绩查询:

 输入一个学号, 在文件中查找此学生, 若找到则输出此学生的全部信息和成绩; 若找不到则输出查找失败的信息. 同时也可以全部把各科的平均成绩,最高和最低分输出。

三、新生插入 :

通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来。

  

四、输出全部学生信息和全部学生成绩。

五、退出系统.

六、附加说明:

系统将来完善的功能有:

可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。

 

 

 

 

 

 

 

 

 

 

总体设计

一、 仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)

1、输入初始的学生信息:

其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。

    

2、查询模块:

可用stu *lookdata(stu *p1)  来实现。

找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。

 3、插入模块:

可用insert(  )函数来实现。

其中通过学号的大小来比较的,并且以此来排序。

4、输出学生的信息以及成绩:

通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage() 、maverage() 、eaverage() 和comaverage()  来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。

 5、退出系统:

可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。

二、系统主模块结构图:

                      

 

 

 

详细设计

一、 界面设计

此系统界面采用图形和数字化菜单设计。

主界面设计如下:

       

               学生成绩管理系统

 

请选择相应的数字执行相应的功能:

1:

是否输入其他数据

2:

查看数据

3:

插入数据

4:

查找数据

5:

更新数据

6:

保留数据

7:

显示或打印数据

8:

语文成绩状况

9:

数学成绩状况

10:

英语成绩状况

11:

计算机成绩状况

12:

13:

退出系统

二、 数据结构设计:

     程序设计中用到的结构体类型:

  学生信息结构体类型:

typedef struct student{

     char name[MAX];

     int num[MAX];

     char sex[MAX];

     int chinese;

     int mathematic;

     int english;

     int computer;

     struct student *next;

    }

 

 

                          程序代码:

//原始密码是123456

#include"stdio.h"

#include"stddef.h"

#include"stddef.h"

#include"string.h"

#define MAX 10

typedef struct student{                 /*定义结构体*/

     char name[MAX];                    /*姓名*/

     int num[MAX];                      /* 学号*/

     char sex[MAX];                     /*性别*/

     int chinese;                       /*语文*/

     int mathematic;                    /* 数学*/

     int english;                       /*英语*/

     int computer;                      /*计算机*/

     struct student *next;              /*结构体指针*/

    }stu;

stu *head;                              /*头指针*/

void print()                            /*显示或打印函数*/

    {

        system("cls");

        printf("\t\t\tScore Manage System\n");      /*成绩管理系统*/             

        printf("<1>Enter Record\t");                /*输入数据*/

        printf("<2>Display\t");                     /*显示*/

        printf("<3>Insert\t");                      /*插入数据*/

        printf("<4>Quest\t");                       /*访问数据*/

        printf("<5>Update\t");                      /*以前数据*/

        printf("<6>Save\t");                        /*保留数据*/

        printf("<7>Fresh\t");                       /*更新数据*/

        printf("<8>Chinese Average\t");             /*语文平均成绩*/

        printf("<9>Math Average\t");                /*数学平均成绩*/

        printf("<10>English Average\t");            /*英语平均成绩*/

        printf("<11>Computer Average\t");           /*计算机平均成绩*/

        printf("<12>Quit\t\n");                     /*退出*/

         }

void cin(stu *p1)                             /*输入相关数据的函数*/

 { printf("Enter name:

\n");

    scanf("%s",&p1->name);

   printf("Enter num:

\n");

     scanf("%d",&p1->num);

    printf("Enter sex:

\n");

     scanf("%s",&p1->sex);

   printf("Enter score:

\n");

   printf("Enter chinese:

\n");

     scanf("%d",&p1->chinese);

  printf("Enter math:

\n");

    scanf("%d",&p1->mathematic);

  printf("Enter English:

\n");

   scanf("%d",&p1->english);

  printf("Enter Computer:

\n");

   scanf("%d",&p1->computer);

  }

 stu *cindata()                              /*其他数据是否继续输入的函数*/

 {  stu *p1,*p2;

   int i=1;

  char ch;

  p1=(stu *)malloc(sizeof(stu));

    head=p1;

  while(i)

    {

       cin(p1);

    printf("Do you Want to Continue?

yes or no");       /*是否继续输入数据*/

     ch=getchar();

      ch=getchar();

    if(ch=='n'||ch=='N')

      { i=0;

  p1->next=NULL;

       }

    else

      { p2=p1;

        p1=(stu *)malloc(sizeof(stu));

        p2->next=p1;

      }

     }

    return(p1->next);

}

stu *lookdata(stu *p1)                                /*查看数据的函数*/

 {

     while(p1!

=NULL)

       { printf("Num:

%d\t",p1->num);

         printf("Name:

%s\t",p1->name);

         printf("Sex:

%s\t",p1->sex);

         printf("\n");

         printf("Chinese:

%d\t",p1->chinese);

         printf("Math:

%d\t",p1->mathematic);

         printf("English:

%d\t",p1->english);

         printf("Computer:

%d\t",p1->computer);

         printf("\n");

         p1=p1->next;

        }

     return p1;

   }

void insert()                               /*通过比较学号来插入数据的函数*/

 { stu *p1,*p3,*p2;

   char ch;

   p1=head;

   p3=(stu *)malloc(sizeof(stu));

    p3->next=NULL;

   if(head==NULL){ head=p3; return;}

   cin(p3);

   while(p1!

=NULL&&(p1->numnum))        /*通过学号的比较来插入*/

     {  p2=p1;p1=p1->next;}

   if(p2==head) {p3->next=head; head=p3; return;}

   p3->next=p1;

   p2->next=p3;

 }

 

find(stu *p2)                                   /*通过姓名查找查看数据的函数*/

 { char name[20];

   int b=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1