内蒙古科技大学 本科生课程设计说明书
题 目:C语言课程设计 —— 学生基本信息管理系统 学生姓名:*** 学 号:********** 专 业:13级计算机 班 级:3班 指导教师:王丽颖老师
内蒙古科技大学课程设计说明书
I 内蒙古科技大学课程设计任务书
课程名称 C语言课程设计 设计题目 学生基本信息管理系统 指导教师 王丽颖老师 时间 2014-2015秋学期第17、18周 一、教学要求 1. 巩固和加深学生对C语言课程的基本知识的理解和掌握 2. 掌握C语言编程和程序调试的基本技能 3. 利用C语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用C语言解决实际问题的能力 二、设计资料及参数 每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。 某班学生基本信息管理,包括以下功能: ❖ 从键盘输入包括学号、姓名、性别、出生年月日、籍贯、所在院系、专业、奖惩信息等,并将其保存在磁盘文件里 ❖ 具有进行单项查询或多项查询的功能(即按照给定的关键字姓名等找出满足条件的纪录) ❖ 具有插入、修改和删除信息的功能 ❖ 具有输出文件数据信息的功能 三、设计要求及成果 1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目) 2. 写出详细设计说明(至少包括功能实现分析和模块流程图) 3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号) 4. 设计完成的软件要便于操作和使用 5. 设计完成后提交课程设计报告(请严格按照模板进行排版) 四、进度安排 第一天 选择课程设计题目,分析课题的要求 第二天 编程 第三天 编程及调试 第四天 写课程设计报告 第五天 提交课程设计报告(打印稿及电子稿) 五、评分标准 1. 根据平时上机考勤、表现和进度,教师将每天点名和检查 2. 根据课程设计完成情况,必须有可运行的软件。 3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。 六、建议参考资料 1.《C语言程序设计》,谭浩强,清华大学出版社 2.《C语言程序设计课程设计》,刘振安,机械工业出版社 内蒙古科技大学课程设计说明书 II 目 录 内蒙古科技大学课程设计任务书 ···························································· I 第一章 需求分析 ············································································· 3 1.1 引言 ·················································································· 3 1.2 任务概述 ····················································· 错误!未定义书签。 1.3 数据描述 ····················································· 错误!未定义书签。 第二章 概要设计 ············································································ 4 2.1 总体设计 ············································································ 4 2.2 数据类型设计(或数据结构设计)接口设计,函数说明 ··············· 4 2.3 运行界面设计 ······································································ 6 第三章 详细设计 ························································································ 7 第四章 测试分析 ············································································ 8 4.1 测试程序执行情况 ································································ 8 4.2 出现的问题和解决的方法 ······················································ 11 第五章 用户手册(可选) ······························································· 12 5.1 使用说明 ··········································································· 12 5.2 运行说明 ··········································································· 12 第六章 课程设计总结 ····································································· 12 附录:程序代码 ··············································································· 14 参考文献 ························································································· 22 致谢 ······························································································· 22 内蒙古科技大学课程设计说明书
3 第一章 需求分析
1.1 引言 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
1.2 教学要求 1. 巩固和加深学生对C语言课程的基本知识的理解和掌握 2. 掌握C语言编程和程序调试的基本技能 3. 利用C语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用C语言解决实际问题的能力
1.3 任务概述与计划 某班学生基本信息管理,包括以下功能: ❖ 从键盘输入包括学号、姓名、性别、出生年月日、籍贯、所在院系、专业、奖惩信息等,并将其保存在磁盘文件里 ❖ 具有进行单项查询或多项查询的功能(即按照给定的关键字姓名等找出满足条件的纪录) ❖ 具有插入、修改和删除信息的功能 ❖ 具有输出文件数据信息的功能 内蒙古科技大学课程设计说明书
4 第二章 概要设计
2.1 总体设计
2.2 数据类型设计(或数据结构设计)接口设计 函数声明 1.文件载入函数(void file1(void)) 1)函数原形:void file1(void) 2)功 能:采用动态内存分配和链表结构。建立打开“student2.dat”文件保存数据。并建立头指针为head_1的单链表。
开始 是否可行 主菜单 1.录入学生信息 2.浏览学生信息 3.查询学生信息 0.退出系统
修改核实 是否运行 录入
修改 查询 浏览
删除
退出 结束 内蒙古科技大学课程设计说明书
5 3)变量及类型: STUMSG*stu,*p; 定义结构体指针 FILE *fp; 定义文件指针 4)说明:执行操作前先执行void file1(void) 通过动态内存分配建立打开“student2.dat”文件保存数据。建立头指针为head_1的单链表。 2.录入学生信息:(void add_message()) 1)函数原形:void add_message() 2)功 能:采用动态内存分配和链表结构。利用do while、while循环结构依次输入学生的基本信息将信息保存在内存中建立的链表里。 3)变量及类型: STUMSG *stu,*p; 定义结构体指针 char k; 用来接收输入的(y/n)以便通过do while判断是否继续添加信息 p=head_1; 将结构体下定义的头指针head_1赋给p 4)说明:执行函数添加完成后需要去往文件操作保存。 3. 删除学生信息(void del_message()) 1)函数原形:void del_message () 2)功 能:利用strcmp函数、do while、while循环结构通过学号找到要删除的学生并利用链表执行删除操作。将信息保存在内存中建立的链表里。 3)变量及类型: STUMSG *p,*q; 定义结构体指针 char no[10]; 定义输入的待比较变量 char k,ch; 用来接收输入的(y/n)以便通过do while判断是否删除信息 p=head_1; 将结构体下定义的头指针head_1赋给p 4)说明:执行完删除函数后需要去往文件操作保存。 4. 修改学生信息(void modify_message()) 1)函数原形:void modify_message() 2)功 能:利用strcmp函数、do while、while循环结构通过学号找到要修改的学生并利用链表执行修改操作。并将修改后的信息保存在内存中建立的链表里。 3)变量及类型: STUMSG *p; 定义结构体指针 char no[30]; 定义输入的待比较变量 char k; 用来接收输入的(y/n)以便通过do while判断是否继续修改信息