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





《C语言课程设计报告_学生学籍管理系统.doc》由会员分享,可在线阅读,更多相关《C语言课程设计报告_学生学籍管理系统.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、题目:学生学籍管理系统目的:1、了解和熟悉Visual C+软件编程开发环境2、熟练掌握结构化程序设计的步骤和模块化设计方法3、熟练掌握C语言数据类型,熟记字符型数据和整形数据的定义和使用4、熟练掌握用while语句、dowhile语句和for语句实现循环结构程序设计的方法5、掌握一维数组、二维数组的定义、赋值和输入输出的方法6、掌握与数组有关的算法(特别是排序算法,熟练掌握冒泡排序法)7、熟悉函数的定义、声明方法及全局变量和局部变量的概念与用法,掌握函数的调用方法8、掌握结构体类型变量的定义和使用及结构体类型数组的概念和应用设计要求:学生学籍信息管理系统设计1、需求分析学生基本信息、学生成绩
2、基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计 整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和数据排序模块。3、详细设计 设计学生基本信息和学生成绩基本信息结构体数组。Struct int stuNo; /学号 char name20; /姓名 char sex2; /性别 int domNum; /宿舍号 int tel; /电话号码 StuInfo; /学生基本信息结构体Struct int stuNo; /学号 char cou
3、rseNo; /课程编号 char courseName; /课程名称 int creditHour; /学分Int triGrade; /平时成绩Int experiGrade; /实验成绩Int examGrade; /卷面成绩Float totalGrade; /综合成绩Float finalCreHour; /实得学分StuGraInfo; /学生成绩基本信息结构体(1)数据录入模块:学生基本信息文件可以在磁盘建立,采用写文件方式录入学生成绩基本信息。综合成绩和实得学分通过计算得到。(2)查询模块:通过菜单选择查询功能,再选择学生基本情况查询和成绩查询,若选择前者,再通过菜单选择学号、
4、姓名或宿舍号码,按照基本查找算法查找A.TXT,然后把查找结果输出若选择后者,则先在A.TXT中查找学号对应的姓名,再在B.TXT中查找该学生的课程情况,并统计科目和实得总学分,输出结果。(3)删除模块:通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在A.TXT和B.TXT中查找该生信息,删除之;或者输入学生的姓名,先在A.TXT中得到该生的学号,删除该生信息,再在B.TXT中删除该学号对应的信息。注意:C语言中没有直接删除信息的函数,需要自己实现,可以采取读出数据,判断数据(如果不删除,则进入缓冲区,否则删除),写入数据(把缓冲区中的数据写入文件)的步骤进行。(4)排序模块:通过菜
5、单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出结果。 1.2 本程序设计的知识点 陈述开发过程中用到的知识点,如结构体、数组、指针等。二、 功能设计2.1 总体设计其中包含数据录入模块、查询模块、删除模块、排序模块四大功能功能模块显示主菜单查询功能数据录入删除功能排序功能退出功能 按综合成绩排序 按实得学分排序学生基本情况查询成绩查询按 学 号按宿舍号码按 学 号学籍信息管理系统2.2 详细设计2.3分块设计开始数据查询x=1?Y=1?输入学号输入宿舍号输入学号结束显示一系列功能选项根据x的值调用各功能模块函数结束开始开始输入学号 课程编号 课程名称 学分 平时成绩 实
6、验成绩 卷面成绩结束数据输入开始数据删除结束输入学号三、 程序实现利用了组合体的方式定义结构体数组,提供学生基本信息,定义如下:typedef struct int Id; /学号char name10;/姓名char sex6; /性别 int room; /宿舍号int tel; /电话号码 StudentInfo; /定义学生信息的结构体类型同时定义了另一结构体数组,提供学生成绩基本信息,定义如下:typedef struct int Id;char courseNo10; /课程编号char courseName20;/课程名float a; / 课程学分float b; / 平时成绩
7、float c; / 实验成绩float d; / 卷面成绩float e; / 综合成绩float f; / 实际学分 MarkInfo; /定义课程信息的结构体类型void ReadFile(); /读取文件void DisplayMainMenu(); /显示主菜单void DataInput(); /数据录入void DataQuery(); /数据查询void DataDelete(); /数据删除void DataSort(); /数据排序void QueryById(int ); /按学号查询void QueryByRoom(int ); /按宿舍查询void QueryMark
8、(int ); /按成绩查询void sort1(); /按综合成绩排序void sort2(); /按实得学分排序void markput(); /成绩输出StudentInfo si30; / 学生信息结构数组MarkInfo mi150; / 学生成绩结构数组int sp=0; / 学生信息结构数组中学生数int mp=0; / 学生成绩结构数组中成绩数*读 取 数 据 、 计 算 *在这段功能模块中,利用指针变量来读取结构体数组文件中的相应信息,是程序的编写、阅读和运行变得简洁明了。此外,在这段程序中,还对文件中的数据按照题目的具体要求对综合成绩和学分做了自动计算。void ReadF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 学生 学籍 管理 系统

限制150内