攀枝花学院学生课程设计(论文)题目:学分管理程序设计学生姓名:王世生学号:201010804039所在院系:计算机学院专业:软件工程指导教师:何春燕讲师2011年6月20日攀枝花学院本科学生课程设计任务书题目学分管理程序1、课程设计的目的是学习结构数组或链表的建立,文件的输入及输出、函数及其指针的使用方法。
2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)一、用C实现如下功能:假设每位学生必须完成基础课50学分、专业课50学分、选修课24学分、人文类课程8学分、实验性课程20学分才能够毕业。
因此在管理学分时,要考虑每个学分所属于的课程类别。
(1)程序可以按默认文件名或指定文件名将记录读入内存。
(2)程序可以按默认文件名或指定文件名存储记录文件。
(3)可以通过键盘连续输入学生的学分信息,如果已经从文件中导入记录,新录入的记录应追加在已有记录之后。
(4)给定某位学生的学号,显示该位学生的学分完成情况。
(5)给定某位学生的学号,修改该学生的学分完成情况。
(6)给定某个班级的班号,显示该班所有学生的学分信息。
(7)提供一些统计各类信息的功能(自行定义统计项目如性别,年龄)。
(8)为各项操作功能设计一个菜单。
应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
二、撰写课程设计报告或课程设计总结课程设计报告要求:总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。
3、主要参考文献[1]谭浩强,《C程序设计》,清华大学出版社[2]刘振安,孙忱,刘燕君,《C程序设计课程设计》,机械工业出版社[3]汪诗林,《数据结构算法与应用》,机械工业出版社4、课程设计工作进度计划课程设计时间为一周,分四个阶段完成:1. 分析设计阶段。
引导学生自主学习和钻研问题,明确设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。
这一阶段前第1天完成。
2. 编码调试阶段:根据设计分析方案编写C语言代码,然后调试该代码,实现课题要求的功能。
这一阶段在第2-3天完成。
3. 总结报告阶段:总结设计工作,写出课程设计说明书,要求学生写出需求分析、总体设计、详细设计、编码、测试的步骤和内容。
这一阶段在第4-5天完成。
4. 考核阶段。
这一阶段在第5天完成。
指导教师(签字)日期年月日教研室意见:年月日学生(签字):接受任务时间:年月日注:任务书由指导教师填写。
摘要学分管理系统是针对中职、大学院校开发的学生成绩与学分管理的系统软件。
系统去繁就简,将复杂的成绩学分制管理进行科学、规范的优化整合,全面支持成绩学分各项统计分析,全自动化地管理学生成绩,大大提高学校管理学生成绩的工作效率。
系统采用分部式管理,各系各部门、各教师和学生各自为政,教务处统一管理控制,达到无纸化办工目的。
目前本系统已经在多所中职、高校投入使用,不仅能为学校科学合理、便捷高效的管理成绩,还为学校实施弹性学分管理提供全面的技术支持。
关键词学分管理,系统软件,数据结构算法,数组或链表目录1 需求分析 (5)1.1 需求概述 (5)1.2需求环境 (5)1.3 功能描述 (5)2 概要设计 (6)2.1 程序功能模块 (6)2.2 程序流程图 (6)2.3 数据结构的设计 (7)3 详细设计 (8)3.1 创建数据库 (8)3.2 创建表: (8)3.3 根据表中内容录入数据: (8)3.4创建视图: (9)3.5简单查询: (9)4 测试结果 (10)4.1 查找 (10)4.2 修改 (10)4.3 统计 (11)4.4 显示结果 (11)5 结束语 (12)1 需求分析1.1 需求概述学生学分管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生学分管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理学生学分,这种管理方式存在着许多缺点,如:效率低、工作量大等,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生学分进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、寿命长、成本低等。
通过对两个班的同学学分成绩的调查,了解到各个班的同学学分管理仍处于人工管理阶段,没有标准的学生学分存档信息。
开发出合适的学生学分管理系统,可以方便学生学分的管理,提高学分管理工作的效率。
1.2需求环境本课程设计需要的设备为硬件要求和软件配置要求具体要求如下:①硬件要求:一台计算机。
②软件配置:WINDOWS、C/VC++6.0。
1.3 功能描述(1)程序可以按默认文件名或指定文件名将记录读入内存。
(2)程序可以按默认文件名或指定文件名存储记录文件。
(3)可以通过键盘连续输入学生的学分信息,如果已经从文件中导入记录,新录入的记录应追加在已有记录之后。
(4)给定某位学生的学号,显示该位学生的学分完成情况。
(5)给定某位学生的学号,修改该学生的学分完成情况。
(6)给定某个班级的班号,显示该班所有学生的学分信息。
(7)提供一些统计各类信息的功能(自行定义统计项目如性别,年龄)。
(8)为各项操作功能设计一个菜单。
应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
2 概要设计2.1 程序功能模块由需求分析知,本次课程设计是用数据结构以及函数算法实现学分管理程序,故其功能模块分为:登记模块,显示模块,查询模块,修改模块,删除模块和统计模块。
2.2 程序流程图开始按学号查询按姓名查询 按姓名查询是否继续查询退出输出数据显示对不起没有该信息是否找到显示该信息是否按学号查询 按姓名查询 按姓名查询2.3 数据结构的设计序号变量名变量性质(局部/全局)功能作用范围1 typedef 全局定义结构体类型整体2 int 全局定义五门课类型整体... Char 全局定义学号班级姓整体名类型3 详细设计3.1 创建数据库create database Credit --创建学分管理系统数据库on( name=Credit_data,filename='c:\CreditData.mdf',size=10,maxsize=50,filegrowth=5 )3.2 创建表:create table Course --创建课程信息表( c_no char(20) primary key not null,c_name char(20),score float, /*学分*/type char(20) )create table Student --创建学生信息表( s_no char(20) primary key not null,s_name char(20),sex char(10),class char(20),dept char(20) )create table SC --学生选课情况表( s_no char(20) not null,c_no char(20) not null,grade int,score floatconstraint sc_prim primary key(s_no,c_no) ) create unique index SC_ind on SC(s_no,c_no) --创建索引3.3 根据表中内容录入数据:使用:insert into 表名(列名)selectunion selectunion select语句,进行多行录入3.4创建视图:create view show --创建视图,提供基本查询as select sc.s_no,class,s_name,Course.c_no,c_name,sc.score,type from SC,Student,Coiursewhere SC.s_no=Student.s_no and SC.c_no=Course.c_no3.5简单查询:select s_no,class,s_name,c_name,score,type --查询信息From showorder by class, s_noselect s_no,s_name,c_name,class,score --根据名字查询from showwhere s_name='XXX'4 测试结果4.1 查找图4.14.2 修改图4.24.3 统计图4.3 4.4 显示结果图4.45 结束语通过这次课程设计的实际调查与操作,我了解了目前学分管理的现状,学习并掌握了学分管理系统的设计思路,以及相应语言的编写,同时,可以运用流程控制语句来完成一些较为复杂的设计,存储过程和触发器也基本掌握。
通过这一周的实训。
我们充分运用了所学的东西编出了解决实际问题的程序。
我们运用了函数的调用,循环,定义,比较,查找,删除等知识。
通过实际动手,我更加深入的了解了课本上的知识。
刚开始没有什么信心,毕竟以前对c语言的学习仅限书本与考试,没能通过c语言实现什么实质问题。
这一次要编出一个系统对我的挑战很大,但我并不畏惧,通过各种渠道以及查阅各种信息终于完成了这个课程设计。
同时也坚定我学习c语言的信心,我会继续努力地学习专业知识,编出更好的程序!参考文献[1]谭浩强,《C程序设计》,清华大学出版社[2]刘振安,孙忱,刘燕君,《C程序设计课程设计》,机械工业出版社[3]汪诗林,《数据结构算法与应用》,机械工业出版社。