




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言课程设计说明课程设计目的:1、 强化学生对常用数据结构,编程原理和C语言的理解,熟练使用C语言。2、 强化文件的操作和数据读写及格式转换。3、 强化程序设计的方法和过程,锻炼学生实践能力,加深对软件工程的理解课程设计的要求:1、 课程设计要求每位学生(或者最多2人组成的小组)要给出所选设计题目相对较为完整的文档说明,如设计的需求分析,总体及详细设计,测试用例等(可参考软件工程的课程)2、 设计题目中要求以文件的方式完成数据的获取及保存(以TXT文件格式为基础,也可自行设计),需要体现数据的添加,修改,删除,查询,排序,浏览等功能(必要的添、改、删)。具体模块或者功能可根据设计需求自行定义。3、 设计题目中要实现基本的界面操作(以键盘输入方式为基础,可增强鼠标操作),软件功能使用要操作灵活,结果无误。4、 学生需在所列题目中选定一个上报给任课教师备案,自选题目的需经教师批准才可。5、 只能使用C语言,源程序要有适当的注释,使程序容易阅读6、 学生可根据系统要求自动增加合理的新功能模块(视情况可另外加分)7、 至少采用文本菜单界面,模块化程序设计,锯齿型书写格式,必须上机调试通过8、 写出课程设计报告设计报告格式:1、设计目的2、总体设计(程序设计组成框图、流程图等)3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施5、源程序清单和执行结果:清单中应有足够的注释课程设计的评判:1、 课程设计要在学期期末考试前(本学期第15周末)提交最终作品。2、 以学生和教师2部分评分为结合,汇入课程成绩(考试,实验及考核,课程设计比例为5:3:2)。设计题目1:学籍信息管理系统设计【要求】使用下面的数据,设计一个简单的学籍信息管理系统。学生基本信息文件(A.TXT)及其内容:学号姓名性别宿舍号码联系电话200913001张成男10-5018888777.学生成绩基本信息文件(B.TXT)及其内容:学号 课程编号课程名称 学分 平时成绩实验成绩 卷面成绩 综合成绩 实际学分200913001 A01 大学英语 3 78 -1 82200913015 B03 C语言 4 86 90 85.功能要求及说明:1) 数据录入功能:录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。综合及实际学分根据条件自动运算综合成绩的计算如下:A、 如果本课程的实验成绩为-1,表示无实验,综合成绩=平时*0.3+卷面*0.7B、 如果实验成绩不为-1,表示有实验,综合成绩=平时*0.15+实验*0.15+卷面*0.70实际学分的计算如下:综合成绩在90100的,实际学分=学分*1;综合成绩在8090的,实际学分=学分*0.8;综合成绩在7080的,实际学分=学分*0.75;综合成绩在6070的,实际学分=学分*0.6;综合 成绩60以下的。实习学分=学分*0;2) 查询功能:分为学生基本情况查询和成绩查询基本情况查询:输入一个学号或者姓名(可选择),查出此学生基本有信息并显示输出输入一个宿舍号,可查询本宿舍的所有学生的基本信息并显示成绩查询输入一个学号,查询出此学生的所有课程成绩,格式如下:学 号:* 姓名: *课程编号:* 课程名称: * 综合成绩: * 实际学分: *.共修: *科,实得学分为: *3) 删除功能:当在A.TXT中删除一个学生时,自动在B.TXT中删除此人所有信息4) 排序功能:实现按综合成绩或者学分升序或者降序排序并显示设计题目2:图书馆信息管理系统设计图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、学号等,要求设计一个图书管理系统,提供如下功能:1) 新书信息的输入,学生信息的输入2) 图书基本信息的查询,学生已借图书查询显示3) 对撤销图书的删除,对毕业学生信息的删除4) 办理借书手续5) 办理还书手续6) 所有功能以界面的方式提供键盘操作设计题目3: 通讯录系统1 系统概述 通讯录系统主要是为方便查询联系方式、通信地址而建立的。本系统以C语言为工具,提供简单、易操作的人机界面,实现对通讯录的管理。本系统以链表操作为基础,同时对操作的结果进行文件保存。2 基本功能要求(1) 提供简单、易操作的人机界面;(2) 提供对通讯录的建立、修改、追加记录、删除记录等基本功能;(3) 提供查询记录的功能;(4) 提供显示通讯录的功能;(5) 提供保存信息的功能;选作功能:(1)提供将通讯录分类的功能;(2)提供打印通讯录的功能。部分功能解释如下:(1)查看功能:选择此功能时,列出下列三类选择。A 办公类 B 个人类 C 商务类 ,当选中某类时,显示出此类所有数据中的姓名和电话号码)(2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选项有:A 办公类 B 个人类 C 商务类)、电子邮件)。例如杨春商务类 当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。(3)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。3 主要知识点系统重点训练学生对C语言的综合应用能力,特别是对数组、结构体、链表、文件等知识的应用能力。4 系统设计思路 系统提供主界面,各种功能操作以独立的函数为基础,运用对链表操作的技术来实现通讯录的管理,同时对操作的结果在计算机中做永久的保存。(1)系统使用的主要函数listlink create() /* 建立通讯录,并将信息存入文件 */void Show(listlink head) /* 显示、打印所有的信息 */void Delete(listlink head) /* 删除一条记录的信息 */void Find(listlink head) /* 查找记录的函数 */void Input(listlink head) /* 向通讯录中追加一条记录 */void Alter(listlink head) /* 修改一条记录的信息 */void Save(listlink head) /* 保存信息到文件 */listlink readfp() /* 将文件的信息读出并转存入链表中 */(2)系统使用的主要数据结构typedef struct person /* 通讯录结构中结点的定义 */ char name10; /* 姓名 */ char addr30; /* 地址 */ char offphnum15; /* 办公电话 */char hmphnum15; /* 家庭电话 */char mbnub15; /* 移动电话 */struct person *next; listnode,*listlink; struct add_person /* 通讯录结构中结点的定义 */ char name10; /* 姓名 */ char addr30; /* 地址 */ char offphnum15; /* 办公电话 */char hmphnum15; /* 家庭电话 */char mbnub15; /* 移动电话 */设计题目4:学生成绩管理系统1 系统概述 学生成绩管理系统以学生成绩的输入、输出、插入、删除、排序和统计等基本功能模块为基础,将结构体、链表、文件等主要知识点结合在一起,运用菜单、排序等一些常用算法,解决学生成绩管理的实际问题。2 基本功能要求(1)提供基本的操作界面;(2)提供成绩录入、输出、追加、删除、按要求排序和统计等基本功能模块。选做功能:提供每门课程的成绩分析表,即按优、良、中、及格、不及格5个等级进行人数统计、分析并打印成绩分析表。3 主要知识点系统主要运用对结构体、链表、文件的基本操作,利用常用的统计、排序、求最大值、最小值的基本算法完成成绩管理的基本 。系统设计和实现过程中要注意一下一些问题:(1) 每名学生的信息以结构体数据类型存储,因此在进行数据录入时要注意数据的输入格式,插入记录时要避免学生学号冲突;(2) 进行排序时数据的交换是整条记录的交换,切不可只进行比较内容的交换;(3) 信息的输出要按每个学生一条记录来输出,并且要注意列向对齐。4 系统程序结构可以选择下面的方式主函数main通过调用create()、search()、del()、add()、print()、ststistics()、load()和sort()等函数,实现学生成绩录入、查询等系统功能。系统主要功能函数有:score create(void) /* 创建链表,并返回链表的头指针 */score * load(score *head) /* 导入学生记录 */score *add(score *head ,score *stu) /* 追加学生资料,并将所有学生资料按学号排序 */score * search(score *head) /* 查询学生成绩 */score *del(score *head) /* 删除学生资料 */void print (score *head ) /* 显示学生成绩 */score *statistics(score *head) /* 统计学生成绩*/score *sort(score *head) /* 排序,返回链表的头指针*/int menu() /* 菜单*/设计题目5:学生档案管理系统1 系统要求 该系统实现了对学生信息的存储和管理。学生信息包括学号、姓名、性别和生日等信息。系统可以对学生信息进行查询、添加、删除和备份。系统进入时还包括一个密码验证的过程,也可以对密码进行管理。2 基本功能要求(1)提供简单的操作菜单;(2)能完成对学生信息的基本操作,包括输入、输出、修改、追加等操作;(3)使学生的某一项(一般为学号)取值唯一,添加学生信息时能够及时给出提示;(4)至少能按一种方式对学生信息进行查询和删除;(5)实现密码检测和管理;(6)实现学生信息的备份。3 主要知识点本系统涉及的主要知识点为:结构体的定义及应用、数组操作、函数返回值以及参数传递和文件操作。日常应用中的信息一般存储在文件中。在不使用数据库管理系统的情况下,一般利用结构体数据结构和文件数据存储形式和操作方式来实现对数据的管理,同时文件也是许多系统存储生成数据和交换数据的有力工具。4 系统设计思路(1)系统模块划分 系统运行后,在显示菜单的同时,打开文件,若文件存在(打开文件成功),则输入模块无效(文件指针pfile!=NULL),并立即关闭文件;若文件不存在(打开文件不成功),则输入模块有效(pfile=NULL)。输入模块int input() 主要让用户输入学生的档案信息(姓名、年龄、班级、性别、家庭住址、电话、学号),成功返回1,失败返回0。若pfile!=NULL,则做以下工作:S1:用户输入学生总数;S2:系统根据学生总数创建一个结构数组;S3:依次输入各数据域,并读入结构数组;S4:建立文件,并写文件S5:关闭文件。若pfile=NULL,则不执行此模块,并显示出错信息,按任意键返回菜单。输出模块 int output() 主要让用户输出已做改动的档案信息,成功返回1,失败返回0。若pfile!=NULL,则做以下工作:S1:利用数组存储数据;S2:利用表格的形式显示信息。若pfile=NULL,则不执行此模块,并显示出错信息,按任意键返回菜单。修改信息模块 int modify(int number) 主要让用户修改学生的档案信息(&M),成功返回1,失败返回0,其中number为学号。若pfile!=NULL,则做以下工作:S1:输入用户想修改的学生记录的学生学号;S2:查找此学生记录,若存在就继续;若不存在则显示出错信息;S3:显示此学生信息;S4:提示用户修改信息(每字段提示一下);S5:修改完毕,返回菜单。若pfile=NULL,则不执行此模块,并显示出错信息,按任意键返回菜单。添加信息模块 int add()主要让用户添加不在数据库中的某个学生案信息(&A),成功返回1,失败返回0。若pfile!=NULL,则做以下工作:S1:显示输入信息界面;S2:以学号为关键字查找此学生信息,如存在,显示出错信息,否则继续;S3:若输入完毕,退出此模块并返回至菜单界面。若pfile=NULL,则不执行此模块,并显示出错信息,按任意键返回菜单。删除信息模块 int delete(int number)主要让用户删除已不在校的学生信息(&D),成功返回1,失败返回0, 其中number为学号。若pfile!=NULL,则做以下工作:S1:要求用户输入想删除的学生记录的学号;S2:以学号为关键字查找此学生信息,如存在则显示信息并释放结点;不存在,则显示出错信息;S3:退出此模块并返回至菜单界面。若pfile=NULL,则不执行此模块,并显示出错信息,按任意键返回菜单。查找信息模块 int find(int number)主要让用户查找某个特定的学生信息(&F),成功返回1,失败返回0, 其中number为学号。本模块在删除和修改中都要用到,所以宜设为外部函数。若pfile!=NULL,则做以下工作:S1:要求用户输入想查找的学生的学号;S2:以学号为关键字查找此学生信息;S3:如存在,则显示此信息并返回至菜单界面;若不存在则显示出错信息。若pfile=NULL,则不执行此模块,并显示出错信息,按任意键返回菜单。保存信息模块 int save(char string)主要让用户保存档案信息,成功返回1,失败返回0, 其中string为文件名。读取信息模块 int read(char string)主要让用户读取已保存的档案信息,成功返回1,失败返回0, 其中string为文件名。(2)系统数据结构typedef struct int month,day,year; /* 出生年月 */BD;typedef struct int number; /* 学号 */ char name13; /* 姓名 */ char sex7; /* 性别:male or female */ BD birth; /* 出生年月MM-DD-YY */ char addr35; /* 家庭住址 */ST;设计题目6: 设计一个简单计算器要求: 在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。设计题目7: 保安值班安排系统某公司有7名保安人员:赵、钱、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制一程序,打印轮休的所有可能方案。当然使每个人都满意,例如每人选择的休息日如下: 赵:星期二、星期四 钱:星期一、星期六 孙:星期三、星期日 李:星期五 周:星期一、星期四、星期六 吴:星期二、星期五 陈:星期三、星期六、星期日设计题目8: 车票管理系统一车站每天有n个发车班次,每个班次都有一班次号(1、2、3n),固定的发车时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家能源佳木斯市桦南县2025秋招笔试题库含答案
- 国家能源济南市平阴县2025秋招面试典型题目及答案
- 国家能源大庆市龙凤区2025秋招面试典型题目及答案
- 国家能源邯郸市复兴区2025秋招笔试数学运算题专练及答案
- 初一的读书心得
- 2025年十堰市城发集团及所属子公司公开招聘拟聘用人员考前自测高频考点模拟试题及答案详解一套
- 医生年度个人工作总结2篇
- 周口市中储粮2025秋招机电维修岗高频笔试题库含答案
- 国际贸易合同范例
- 2025年甘肃省平凉市崆峒区卫生健康系统临时聘用人员招聘考前自测高频考点模拟试题有完整答案详解
- 2025年吉安县公安局面向社会公开招聘留置看护男勤务辅警29人笔试备考试题及答案解析
- 内部审计管理系统建设需求
- 燃气输配课程设计说明书
- 如何进行模拟堂教学
- 手术操作分类代码国家临床版3.0
- 监控扩容施工方案
- 轴的计算与校核、传动轴计算(无密码可修改)
- 职称若干问题回答
- 《复旦大学介绍》
- 静电测试作业指导书
- 马云演讲中英文版
评论
0/150
提交评论