C語言课程设计报告_学生学籍管理系统.docVIP

  • 67
  • 0
  • 约6.76千字
  • 约 11页
  • 2016-12-06 发布于重庆
  • 举报

C語言课程设计报告_学生学籍管理系统.doc

C語言课程设计报告_学生学籍管理系统

题目:学生学籍管理系统 目的:1、了解和熟悉Visual C++软件编程开发环境 2、熟练掌握结构化程序设计的步骤和模块化设计方法 3、熟练掌握C语言数据类型,熟记字符型数据和整形数据的定义和使用 4、熟练掌握用while语句、do…while语句和for语句实现循环结构程序设计的方法 5、掌握一维数组、二维数组的定义、赋值和输入输出的方法 6、掌握与数组有关的算法(特别是排序算法,熟练掌握冒泡排序法) 7、熟悉函数的定义、声明方法及全局变量和局部变量的概念与用法,掌握函数的调用方法 8、掌握结构体类型变量的定义和使用及结构体类型数组的概念和应用 设计要求:学生学籍信息管理系统设计 1、需求分析 学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。 2、总体设计 整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和数据排序模块。 3、详细设计 设计学生基本信息和学生成绩基本信息结构体数组。 Struct { int stuNo; //学号 char name[20]; //姓名 char sex[2]; //性别 int domNum; //宿舍号 int tel; //电话号码 }StuInfo; //学生基本信息结构体 Struct { int stuNo; //学号 char courseNo; //课程编号 char courseName; //课程名称 int creditHour; //学分 Int triGrade; //平时成绩 Int experiGrade; //实验成绩 Int examGrade; //卷面成绩 Float totalGrade; //综合成绩 Float finalCreHour; //实得学分 }StuGraInfo; //学生成绩基本信息结构体 (1)数据录入模块:学生基本信息文件可以在磁盘建立,采用写文件方式录入学生成绩基本信息。综合成绩和实得学分通过计算得到。 (2)查询模块:通过菜单选择查询功能,再选择学生基本情况查询和成绩查询,若选择前者,再通过菜单选择学号、姓名或宿舍号码,按照基本查找算法查找A.TXT,然后把查找结果输出若选择后者,则先在A.TXT中查找学号对应的姓名,再在B.TXT中查找该学生的课程情况,并统计科目和实得总学分,输出结果。 (3)删除模块:通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在A.TXT和B.TXT中查找该生信息,删除之;或者输入学生的姓名,先在A.TXT中得到该生的学号,删除该生信息,再在B.TXT中删除该学号对应的信息。注意:C语言中没有直接删除信息的函数,需要自己实现,可以采取读出数据,判断数据(如果不删除,则进入缓冲区,否则删除),写入数据(把缓冲区中的数据写入文件)的步骤进行。 (4)排序模块:通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出结果。 1.2 本程序设计的知识点 陈述开发过程中用到的知识点,如结构体、数组、指针等。 二、 功能设计 2.1 总体设计 其中包含数据录入模块、查询模块、删除模块、排序模块四大功能功能模块2.2 详细设计 2.3分块设计 三、 程序实现 ⑴利用了组合体的方式定义结构体数组,提供学生基本信息,定义如下: typedef struct { int Id; //学号 char name[10];//姓名 char sex[6]; //性别 int room; //宿舍号 int tel; //电话号码 } StudentInfo; //定义学生信息的结构体类型 ⑵同时定义了另一结构体数组,提供学生成绩基本信息,定义如下: typedef struct { int Id; char courseNo[10]; //课程编号 char courseName[20];//课程名 float a; // 课程学分 float b; // 平时成绩 float c; // 实验成绩 float d; // 卷面成绩 float e; // 综合成绩 float f; // 实际学分 } MarkInfo; //定义课程信息的结构体类型 void ReadFile(); //读取文件 void DisplayMainMenu(

文档评论(0)

1亿VIP精品文档

相关文档