C语言课程设计题目及相关要求.doc
《C语言课程设计题目及相关要求.doc》由会员分享,可在线阅读,更多相关《C语言课程设计题目及相关要求.doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言课程设计综合设计题目及相关要求说明1、选题考虑到时间比较紧张,同时也锻炼同学之间的团结协作能力,采用2人一组或1人一组选作一题。课程设计题目见附2。分组可采用自由组合或按学号顺序安排,分组名单及各小组选题名单,请学习委员于18周星期一晚交给任课教师,同一个题目不超过2个小组。2、设计时间本学期17-18周,18周周五上交报告(电子版)及机房检查(运行演示及说明),并同时提交各小组开发系统源代码。3、课程设计要求完成相应课程设计题目的基本功能;撰写课程设计报告(每人一份)报告封面及内容要求见附1;报告格式要求:(一)标题(二)目录(三)正文1.报告正文部分主要内容见正文参考2.报告正文排版
2、要求第一层次题序和标题用小三号黑体字; 第二层次题序和标题用四号黑体字;第三层次题序和标题用小四号黑体字;正文用宋体小四号(英文用新罗马体12号);参考文献宋体五号。3.报告页面设置:报告一律用A4打印,页码一律用小5号字标明;正文采用18磅行距,标准字符间距,上边距25mm,下边距25mm,左边距28mm,右边距20mm。4、综合课程设计评分标准评定项目评分成绩1. 选题合理、目的明确(10分)2. 设计方案正确,具有可行性、创新性(20分)3. 设计结果(例如:软件程序运行)(40分)4. 设计报告规范化、参考文献充分(30分)附:1、课程设计学期成绩评定方式:平时(考勤)20%+平时实验
3、(30%)+综合课程设计(50%)2、每人一份,本小组成员均围绕自己所承担的工作展开(即写自己完成的工作)。综合设计报告出现完全一致或雷同度高,则所有涉及者成绩评定为0分。附件1:信息学院课程设计报告 课程名称_C语言程序设计_ _题目名称_学生学院_ 信息学院_ _ _专业班级_ _学 号_学生姓名_指导教师_马瑜_ _年 月 日目录参考1. 设计目的与要求X1.1 题目与设计要求X1.2 本程序涉及的知识点X 2.功能设计X2.1总体设计X2.2详细设计X3. 程序实现X3.1程序实现时应考虑的问题X3.2 XX模块核心代码X4.测试分析X4.1 测试结果及分析X5. 总结X参考文献X正文
4、具体内容参考1 设计目的与要求1.1 题目与设计要求题目:设计要求:例如主要实现功能,注意:在此标识出自己的主要工作1.2 本程序设计的知识点 陈述开发过程中用到的知识点,如结构体、数组、指针等。2 功能设计2.1 总体设计描述包含几大功能模块2.2 详细设计描述各功能模块的具体实现算法-流程图3 程序实现3.1 程序实现时应考虑的问题描述实现时应考虑的各种问题及函数调用关系图3.2 XX模块源代码及说明(注意:XX模块指自己所承担的模块) 源代码(加注释)4 测试分析4.1 测试结果及分析 描述自己所负责模块的测试用例,及测试结果5 总结总结系统的优缺点,课程设计完成了哪些功能,有没有什么扩
5、展功能 还有哪些地方需要改进,课程设计有何收获,调试程序的体会等。参考文献参考文献必须是在课程设计中真正阅读过和运用过的,文献按照在正文中的出现顺序排列。例如:1 严蔚敏. 数据结构. 清华大学. 2004.112 http:/附2C语言课程设计参考题目信息学院二零一三年十二月一、工资管理系统1、 需求分析工资信息存放在文件中,提供文件的输入、输出等操作;要实现浏览功能,提供显示、排序操作;而查询功能要求实现查找操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计整个系统可以分为信息输入、信息添加、信息浏览、信息排序、信息查询和信息统计模块。3、详细设计工资信息采用结构体数组:Str
6、uct Salary_Info int Card_No; /工资卡号 Char name20; /姓名 int month; /月份 float Init_Salary; /应发工资 float Water_Rate; /水费 float Electric_Rate; /电费 float tax; /税金 float Final_Salary; /实发工资SIMAX; /SIMAX中每个数组元素对应一个职工工资信息(1)主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。(2)输入模块 按照工资卡号、姓名、月份、应发工资、水费、电费的顺序输入信息,税金和实发工资根据输入的信息
7、进行计算得到,这些信息被录入到文件中。文件操作函数:fopen,fwrite,fclose.税金的计算:if(应发工资800&应发工资1400) 税金=(应发工资-1400)*10%;实发工资=应发工资-水费-电费-税金。(3)添加模块增加新的职工工资信息,从键盘输入并逐条写到原来的输入文件中,采用追加而不是覆盖的方式(以”ab”方式打开文件)。(4)浏览模块 分屏显示职工工资信息,可以指定10个1屏,按任意键显示下一屏。通过菜单选择按照工资卡号还是姓名浏览。如果按照卡号浏览,则显示的记录按照卡号升序输出;按照姓名浏览则按照字典序输出(调用排序模块的排序功能)。(5)排序模块排序模块提供菜单选
8、择,实现按照工资卡号升序、实发工资降序以及姓名字典序排序。排序方法可以选择冒泡排序、插入排序、选择排序等。(6)查询模块实现按照工资卡号和姓名的查询,采用基本的查找方法即可。(7)统计模块输入起止月份,按照职工卡号和月份查询记录,把起止月份之间的实发工资金额累加。附加:思考在数据输入及添加模块尾部添加排序功能,使得文件中的数据按照卡号排序。这样在查询模块和统计模块可以采用二分查找以提高效率。二、校际运动会管理系统1、需求分析要记录比赛结果,可以查看参赛学校的信息和比赛项目信息,因而要实现文件的输入和输出功能;用户可以查询各个学校的比赛成绩,查看参赛学校信息和比赛项目信息等,因而要提供查找和显示
9、功能;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计 系统被设计为信息输入模块、比赛结果录入模块和查询模块三个模块。3、详细设计 数据结构采用结构体数组,包括学校、项目、运动员三个结构体。Struct athlete Char name20; /姓名 Int age; /年龄 Char From20; /来自学校Athlete; /运动员结构体Struct item Char name20; /项目名 Int* weight; /在运行时根据用户的输入动态分配空间(各项目名次取法不同,weight所指空间依次存放第一名得分、第二名得分等)Athlete* player; /指向获奖运
10、动员信息的指针Item; /项目结构体Struct university Char name20; /学校名 Item *item; /竞赛项目指针,根据用户输入动态分配空间 Int score; /学校得分Uni; /学校结构体Item TotalItemItemNum; /项目结构体数组Uni AllUniUniNum; /学校结构体数组(1)主函数 提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。 (2)信息输入模块输入参赛学校总数,M-男子参赛项目数,W-女子参赛项目数。把参赛学校信息和项目信息以及运动员信息录入文件(fwrite),建立三个文件。例如第i个项目:Sca
11、nf(“%s”,TotalItemi.name); /输入项目名Ch=Getchar(); /通过输入1,2,3来选择项目名次取法Switch(ch) Case 1: n=5;break; Case 2: n=3; break; Case 3: printf(“取前几名?”,&n); break; Default: break;TotalItemi.weight=new intn;TotalItemi.athlete=NULL; /指向获奖运动员信息,初始化为空然后写入文件:fp=fopen(“item.txt”,”wb”);fwrite(&TotalItemi,sizeof(Item),1,
12、fp);学校信息和运动员信息的录入与此类似。(2)比赛结果录入模块 通过菜单选择进入比赛结果录入模块,更改TotalItemi.athlete的值,并把获奖名单保存到项目文件中。项目文件格式为:项目名 项目权值(按照第一名、第二名给出权值) 获奖运动员信息(按照第一名、第二名给出) (3)查找模块查找学校信息文件,生成团体总分报表;用基本查找算法查询参赛学校信息(按照校名查找)或者比赛项目信息(按照项目名)。 三、学生学籍信息管理系统设计1、需求分析学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求
13、实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计 整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和数据排序模块。3、详细设计 设计学生基本信息和学生成绩基本信息结构体数组。Struct int stuNo; /学号 char name20; /姓名 char sex2; /性别 int domNum; /宿舍号 int tel; /电话号码 StuInfo; /学生基本信息结构体Struct int stuNo; /学号 char courseNo; /课程编号 char courseName; /课程名称 int creditHour; /学分Int tri
14、Grade; /平时成绩Int experiGrade; /实验成绩Int examGrade; /卷面成绩Float totalGrade; /综合成绩Float finalCreHour; /实得学分StuGraInfo; /学生成绩基本信息结构体(1)数据录入模块学生基本信息文件可以在磁盘建立,采用写文件方式录入学生成绩基本信息。综合成绩和实得学分通过计算得到。(2)查询模块通过菜单选择查询功能,再选择学生基本情况查询和成绩查询,若选择前者,再通过菜单选择学号、姓名或宿舍号码,按照基本查找算法查找A.TXT,然后把查找结果输出若选择后者,则先在A.TXT中查找学号对应的姓名,再在B.TX
15、T中查找该学生的课程情况,并统计科目和实得总学分,输出结果。(fread和查找算法的应用)(3)删除模块通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在A.TXT和B.TXT中查找该生信息,删除之;或者输入学生的姓名,先在A.TXT中得到该生的学号,删除该生信息,再在B.TXT中删除该学号对应的信息。注意:C语言中没有直接删除信息的函数,需要自己实现,可以采取读出数据,判断数据(如果不删除,则进入缓冲区,否则删除),写入数据(把缓冲区中的数据写入文件)的步骤进行。(4)排序模块通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出结果。首先要读文件(fread)
16、。四、通讯录管理系统1、需求分析 信息记录要存放到文件中去,因而要实现文件的输入输出操作;要实现数据的插入、删除、修改和显示功能,因而要实现插入、删除、修改和显示操作;要实现按人名或电话号码进行查询的功能,因而要提供查找操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计 整个系统可以设计为数据插入模块、数据修改模块、数据删除模块、数据显示模块和数据查询模块。3、详细设计 采用结构体数组。Struct Char name20; /人名 Char post20; /工作单位 Int tel; /电话号码 Char email20; /email地址TelInfo; /电话簿信息结构体T
17、elInfo telInfoN; /电话簿信息结构体数组(1)数据插入模块输入数据,然后采用追加方式写文件(以”wb”方式打开文件,再用fwrite写入)。(2)数据修改模块通过菜单选择修改姓名、电话号码。可以把要修改的姓名或电话号码存储在临时变量里面,然后读文件,找到要修改的记录,把该记录重新以新的值写入。(3)数据删除模块删除一条记录,则输入要删除的人名,然后读文件,把文件中读出来的记录的人名与待删除的人名比较,如果不匹配,则重新写入文件;否则舍弃不再写入文件。(4)数据显示模块 采用分屏显示,每屏10条记录。用fread或fscanf读文件,输出结果。(5)数据查询模块 用基本查找算法对
18、电话簿实现按人名或电话号码的查询(读文件,把读出记录得相应字段与输入的查询字段比较),并把结果输出。 五、投票程序1、需求分析实现键盘输入投票人数和投票结果,进行统计时实现排序功能,输出结果。2、总体设计 该程序可以分为数据输入部分和统计部分。3、详细设计 采用结构体: Struct Char code; /代号 Int score; /得分CandidatesN; /候选人结构体数组这里#define N 3; 采用二维数组,则行方向对应一张投票,列方向对应各候选人得分。 CandidateMN; (1)输入部分 Char tmp3; /存放投票的中间变量输入投票人数n; For(i=0;i
19、n;+i) /投票 Scanf(“%s”,tmp); If(tmp0=tmp1|tmp1=tmp2|tmp0=tmp2) Printf(”该票无效!”); Else Tmp0号候选人加5分; Tmp1号候选人加3分; Tmp2号候选人加2分; (2)统计部分对候选人按照他们的得分排序(冒泡、插入、选择等),然后比较前两名得分是否相同。如果相同,则显示“重新投票”;否则显示三个候选者得分并输出“祝贺X当选冠军”,X为最高分候选者。六、学生选修课程系统设计1、需求分析 系统以菜单方式工作,因而要提供键盘式选择菜单以实现功能选择;由于课程信息要用文件保存,因而要提供文件的输入输出操作;由于要浏览信息
20、,所以要提供显示功能;要实现查询功能,故要提供查找操作。2、总体设计 整个系统可以设计为信息输入模块、信息查询模块以及信息浏览模块。3、详细设计 数据结构采用结构体,这里采用课程信息结构体和学生选课信息结构体。 Struct Char courseCode10; /课程编号 Char courseName20; /课程名称 Char courseType10; /课程类别 Int totalPeriod; /总学时 Int classPeriod; /授课学时 Int experiPeriod; /上机学时 Float creditHour; /学分 Int term; /开课学期Course
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 题目 相关 要求
限制150内