C语言课程设计级范文.docx
《C语言课程设计级范文.docx》由会员分享,可在线阅读,更多相关《C语言课程设计级范文.docx(12页珍藏版)》请在冰豆网上搜索。
C语言课程设计级范文
一、教学目标:
1.通过较大程序编码量的训练,让学生进一步掌握C语言的基本编程技能;
2.通过训练,严格按照C语言编码规范(p274),训练学生养成良好的编程习惯;
3.进一步掌握模块化程序设计的方法;
4.在程序设计过程中,建立人机交互设计的意识;
5.通过拓展学习,进一步提高学习C语言的兴趣。
二、课程要求:
为了达到训练目的,学生在开展课程设计时,应严格按下列要求工作。
1.要求学生已学习并熟悉掌握C语言;
2.要求学生按照以下步骤,分别完成程序功能分析、程序模块划分、模块代码编写、模块调试调试以及组合调试、运行等步骤;
3.要求程序设计规范,具有一定实用性,界面美观,操作方便;
4.要求学生最后提交严格按照C代码规范编写的源程序和可执行代码。
三、考评方法:
C语言课程设计完成情况检查分为中期检查和终期答辩。
中期检查安排在课程设计开课中期进行,以小组(大约10人)为单位检查,小组成员互相打分,并记录存在问题。
中期检查如发现有抄袭现象,对抄袭者和被抄袭者给予严重警告。
终期答辩时,以中期检查的小组为单位答辩,每个学生讲解和演示自己做的软件,由教师和小组成员按《C语言课程设计打分表》进行终极评分。
终期检查如发现有抄袭现象,抄袭者和被抄袭者的课程设计总成绩均为0分。
四、评分标准
C语言课程设计评分表如下:
C语言课程设计评分表
序号
检查项目
检查指标
中期检查存在问题
标准分
中期检查得分
终期检查得分
1
界面设计
(10分)
●界面干净、整齐
5
●操作方便
5
2
工作量
(60分)
●系统功能设计与实现
(8个以上带参函数)
40
●菜单设计
10
●动态数组或链表技术
5
●文件技术
5
3
模块化程序设计
(10分)
●模块化程序设计方法
5
●模块划分合理
5
4
代码规范
(20分)
●代码注释合理、准确
●注释书写格式规范
5
●标识符命名规范
5
●程序排版规范
10
合计
100
五、学时分配
因课堂学时较少,需要学生在课外进行设计,课堂内主要完成辅导和各阶段成果的检查。
教学内容
学时
地点
备注
讲解程序编码规范,介绍课程设计任务,提出设计要求,组织选题,进行初步分析和设计。
2
机房
第10周
完成系统设计和编码,在中期分小组进行检查,检查要求见四。
10
机房
第13周中期检查
组织学生以小组形式进行终期答辩
8
机房
第14、15周
六、设计过程p298
1.程序功能分析
所谓“程序功能分析”就是确定程序必须完成哪些工作,对系统完成的目标提出完整、准确、清晰和具体的要求。
基本任务是回答系统必须“做什么”的问题。
下面以“学生成绩管理系统”为例进行说明。
“学生成绩管理系统”主要用于对学生的学号、姓名等信息以及各科目成绩进行增加、删除、修改、查询等操作,本系统还可以对使用该系统的用户进行登录名和密码的管理。
系统给用户提供了一个简单的人机界面,使用户可以根据提示输入操作项,调用系统提供的管理功能。
学生成绩管理系统不仅为学校的教师和学生提供了管理和查询的平台,而且还给用户提供了一个简单友好的用户接口。
本系统所具有的功能如下:
1、用户登录:
根据用户输入的用户名和密码判断是否允许该用户使用本系统,并且当用户登录后根据用户权限判断用户可以使用哪些功能。
本系统有管理员和学生两种权限,管理员(一般是教师)可以对数据进行修改,而学生只有浏览等权限而不能进行实质性改动。
2、系统主控平台:
由于系统存在两种权限的用户,所以系统根据不同的用户提供不同的功能。
因此系统主控平台根据用户权限只列出在用户权限范围内的功能供用户选择。
系统主控平台包括输入功能选项、调用相应的程序两个需求。
管理员和学生对应的系统主控平台是不同的,所能进行的操作也不相同。
3、信息录入:
管理员根据提示输入学生的学号、姓名、各科成绩,学生的总分由系统自动计算获得。
可一次性输入多条学生信息,并将数据存储在系统磁盘的文件中,以便进行管理、查找和备份。
4、学生信息的追加:
在原有的学生成绩的基础上追加新学生的相关信息,并保存。
5、学生信息的删除:
提示用户输入要进行删除的学生的学号,若该学生存在,则删除该生的相关信息,否则显示该生不存在。
并提示用户选择是否继续进行删除操作。
6、学生信息的修改:
提示用户输入要进行修改的学生的学号,若该学生存在,则修改该生的相关信息,否则显示该生不存在。
并提示用户选择是否继续进行修改操作。
7、学生信息的查询:
该查询分为按姓名查询和按学号查询。
8、学生成绩的浏览:
按成绩总分从高到底的显示学生的相关信息。
9、管理员管理:
管理员对用户的创建、增加、删除、修改和浏览。
系统的用户存储在名为user的文件中。
当用户登录时,系统对用户输入的信息会根据文件中的用户名和密码进行核实判断,用户方能顺利登录。
根据需求分析结果,学生成绩管理系统分为4个模块:
安全验证模块、学生成绩管理模块、系统管理模块和系统主控平台。
系统功能结构图如图1。
图1系统功能结构图
2.概要设计
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,概要设计是决定“怎样做”的时候了。
设计整个系统的处理流程,用户操作界面,设计数据结构。
对较大的功能模块进一步细化。
系统处理流程如图2。
1.安全验证模块
在login文件中主要功能是,提示用户输入用户名和密码,调用文件user中存储的用户信息进行验证,当用户名和密码箱匹配时,才允许用户使用该系统。
用户登录系统时,根据用户信息文件中的权限设置判定用户能够使用的系统功能。
2.学生成绩管理模块
当用户成功登录后,根据用户权限的不同调用学生成绩管理模块中的部分或全部子功能。
学生成绩管理模块的主要功能包括创建学生成绩信息文件、增加学生成绩信息、删除学生成绩信息、修改学生成绩信息、查询学生成绩和学生成绩浏览。
因此该模块中需要七个文件。
(1)创建学生成绩信息文件
创建学生成绩信息文件功能主要是提示管理员输入保存学生成绩信息记录的文件名,在磁盘上创建该文件,继续提示管理员逐条输入学生成绩信息记录,每条记录包括学号、姓名和语文、数学及英语三门成绩。
其中总分由系统计算获得,计算公式为:
总分=语文+数学+英语。
该功能可连续输入若干条学生记录,当输入学号为0时则停止输入。
(2)增加学生成绩信息
增加学生成绩信息主要是提示管理员输入要继续增加记录的文件名,若该文件存在,则进行追加(不改变文件的原有内容)。
否则,根据系统管理员输入的文件名进行创建并录入。
(3)删除学生成绩信息
删除学生成绩信息则是将学生的相应信息进行删除,若文件中没有该生,则提示管理员没有找到或该生不存在,让管理员选择是否继续进行操作。
(4)修改学生成绩信息
修改学生成绩信息的功能是根据管理员输入要进行修改的学生的学号及其所在的文件名,若该生存在,则进行修改并保存。
否则,提示该生不存在,是否继续进行操作。
(5)按姓名查询学生成绩
查询学生成绩的功能是根据用户输入要查询的文件名和要查询的学生姓名进行查询,若该生存在,则显示该生相应的内容(学号、姓名、各科成绩等)。
否则,提示该生不存在,是否继续进行操作。
(6)按学号查询学生成绩
查询学生成绩的功能是根据用户输入要查询的文件名,可选择按学号进行查询,若该生存在,则显示该生相应的内容(学号、姓名、各科成绩等)。
否则,提示该生不存在,是否继续进行操作
(7)学生成绩浏览
学生成绩浏览的功能是根据用户输入要查询的文件名,以学生总分降序排列显示。
3.系统管理模块
系统管理模块实现对使用学生成绩管理系统的用户的用户名、密码和权限的管理,以便用户登录模块进行校验和权限判断。
只有管理员能够使用用户管理模块的各项功能。
该模块包括创建用户信息文件、增加新用户、删除用户、修改用户和浏览用户信息五个功能。
(1)创建用户信息文件
创建用户信息文件的功能是创建保存系统用户的各项信息的文件(user),以便用户登录模块校验判断。
(2)增加新用户
增加新用户的功能是将新用户的用户名、密码、权限等各项信息追加到user文件中。
(3)删除用户
删除用户的功能是将系统员输入的用户学号从user文件中删除,从此,该用户就无法登录系统。
(4)修改用户
修改用户的功能是由系统管理员修改用户的相关信息保存到user文件中。
(5)浏览用户信息
浏览用户信息是将user文件中存在的用户按用户学号排序显示。
4.系统主控平台
系统主控平台是获取用户输入的功能选项调用相应的功能界面,以便给用户和系统管理员提供不同的主控平台。
系统流程图如图2。
图2系统流程图
3.详细设计
详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作,应该得出对目标系统的精确描述。
这个阶段的主要任务是设计每个模块的详细算法以及模块内的数据结构的设计。
(画出每个模块的处理流程)
4.模块代码编写和测试
按设计的模块处理流程和接口编写代码并完成模块的测试。
(记录测试结果)
5.系统组合测试
(记录测试结果)
6.系统运行维护
――――――――――――――――――――――――――――――――
有这样一句话:
“我听到的会忘掉,我看到的会记住,我做过的才真正明白!
”
同学们,多多阅读程序,然后亲自动手做做!
相信大家一定会有长足进步的!
――――――――――――――――――――――――――――――――
参考训练题:
一、程序设计题目:
简单的学生成绩管理程序
程序设计功能及要求:
(1)总人数定义为宏,数据使用文件存放;
(2)输入学生姓名学号,及五门成绩,并计算每个学生五门功课的平均分,并按平均分排列名次,若平均分相同则名次并列;结果写入文件并按格式打印在屏幕上。
⑶统计全班每门课程的平均分,并计算各分数段(60以下,60~69,70~79,80~89,90以上)的学生人数;结果写入文件,并按格式在屏幕上打印;
⑷在屏幕上打印出所有不及格学生的下列信息:
学号,不及格的课程名,该不及格课程成绩;
⑸在开始画面加入简单的菜单便于选择各种功能。
例:
1学生条目输入
2成绩统计
3分数段统计
4不及格学生筛选
⑹文件格式要求
A.原始数据文件格式(具体数据和项目自行编写)
学号姓名英语C语言高等数学…………..
1张三768978
2李四….….….
B.输出数据文件(由程序自动生成)
1)学生综合成绩文件。
学号姓名英语C语言高等数学…………….平均成绩名次
1张三768978…………..
2李四….….….
….
2)统计结果文件。
分数段英语C语言高等数学………………….
<602…
60~698…
70~795…
80~8910…
⑺加入优等生统计功能,要求按优等生条件筛选出优等生的条目存入单独文件,并输出到屏幕。
优等生标准(满足之一即可):
1平均成绩上80。
2平均成绩及格但未上80,有单科成绩上90。
3平均成绩未及格,有单科满分。
二、程序设计题目:
简单通讯录程序设计
程序设计功能及要求:
1人数不定,数据使用文件存放;
2记录每位同学的学号,姓名,性别,电话号码建立单独的条目,存入数据文件。
⑶加入统计功能,可以统计男女同学或总人数。
⑷加入查询功能,通过姓名或学号查询到同学的条目。
⑸在开始画面加入简单的菜单便于选择功能。
⑹储存数据文件格式
学号姓名性别电话号码
1李四….….….
⑺加入文件加密系统,对储存数据文件进行简单的加密,要求通过直接打开储存数据文件无法获得其中的数据。
但同时不影响程序对储存数据文件的调用。
三、程序设计题目:
企业员工全年销售额统计及奖金发放系统
程序设计功能及要求:
⑴总人数不定,开始先输入员工的人数及工号进行初始化,数据使用文件存放;
⑵根据员工的工号及季度提示输入对应的销售额,存入数据文件。
⑶奖金计算功能,根据以下规则编写出奖金的计算系统,计算员工的应得奖金并保存在文件中。
规则1:
企业总销售额员工奖金提成比例(占其自己销售额的比例)
100万及以下10%
100万到150万11%
150万到200万12%
200万到250万13%
250万到300万14%
300万以上15%
规则2:
年度销售业绩最高者,额外获得1万元。
⑷统计功能,统计全年企业的销售额和个人销售额及员工的奖金,并评选出销售总额最高的员工为销售之星及每季度销售最高的为季度之星。
⑸修改功能,输入要修改的员工号及季度修改该季度的销售额,并且对应的统计数据也随之改变。
⑹在开始画面加入简单的菜单便于选择功能。
例
1系统初始化
2员工销售额输入
3数据更改
4统计
5奖金发放
⑹文件格式自己设计恰当的排列格式。
四、程序设计题目:
简单的学生学籍管理程序
程序设计功能及要求:
(1)采用链表,数据使用文件存放;
(2)每个条目要求包含学生姓名,学号,籍贯,出生年月,民族等项目,。
(3)加入创建学生条目,修改条目,统计(包括总人数,各个分项目统计,如籍贯,出生年月等),条件查询等功能.
(4)开始画面加入简单的菜单便于选择各种功能。
五、程序设计题目:
文件加密(本题供学生练习,希望对此题感兴趣的同学把加密应用到前面的题目中)
某公司采用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
具体实现思想:
本题要任意输入一个四位整数,然后要按它的千、百、十、个位上的数都进行一定的处理改变,从而实现给文件加密,所以要定义一个含有四个元素的数组,然后把这个四位数的千、百、十、个位上的数处理后放到这个数据中,具体如下:
个位上的数存放在aa[0]中:
aa[0]=a%10。
十位上的数存放在aa[1]中:
aa[1]=a/10%10。
百位上的数存放在aa[2]中:
aa[2]=a/100%10。
千位上的数存放在aa[3]中:
aa[3]=a/1000。
本题使用C语言程序来实现以下效果:
任意输入一个四位整数,然后要按它的千、百、十、个位上的数都有进行一定的处理改变,从而实现给文件加密。
如输入四位数4556,则它输入的结果为1009。
本题的目的是让学生掌握数据加密的基本思路及实现加密的具体方法。
六、实用的小型通讯录
程序设计功能及要求:
(1)以默认文件名或指定文件名建立文件,用于保存通讯录信息;
(2)若原通讯录文件存在,则可将原文件内容读如内存,并可显示出来;
(3)可以录入新通讯记录到内存或保存到文件,保存时需确认;
(4)若原通讯录文件存在,则将新记录追加在原文件后;
(5)可以按“姓名”、“电话”查询记录,显示查询结果;
(6)可以随时显示内存中的全部记录;
(7)可以按“姓名”、“电话”删除内存记录,显示查询结果;
(8)可以将内存记录保存,以覆盖原默认文件或指定文件。
(9)所有功能以菜单形式调用。
七.图书管理系统
程序设计功能及要求:
(1)会员管理:
添加新会员,继续使用户账号有效,签发借书卡副本,返回上级操作菜单;
(2)图书管理:
添加新图书,借书,还书,返回上级操作菜单;
(3)报表管理:
查看会员报表,查看图书报表,查看业务报表,返回上级操作菜单;
(4)帮助功能:
显示操作帮助信息;
(5)通过对实际使用的系统调查,设计各类信息所包括的内容,各类信息以文件方式保存。
(6)程序采用菜单方式组织。
――――――――――――――――――――――――――――――――――
充分发挥你们的灵性,创新出更多实用而优美的程序吧!
――――――――――――――――――――――――――――――――――