第一篇:C++语言课程设计题目
《C++语言课程设计》题目
课程大纲:
一、教学目标和基本要求
本课程全面系统的学习面向对象程序设计的基本概念,基本语法和编程方法。正确理解掌握C++面向对象程序设计的基本特性:类,对象,继承与派生,多态,虚函数,模板,流类库等。遵循软件过程的各个环节进行系统分析、设计、实现、集成、测试,了解当前常用的软件开发工具(Visual C++),培养学生解决实际问题的能力。
二、组织方式
结合具体的实践项目,以分组的形式(4-5人一组)开展程序设计的上机实践。
三、考核方式及办法:
完成包括从概要设计、详细设计、代码编写、程序调试、运行在内的一系列程序设计及文档撰写,要求系统调试成功、可正常运行,文档规范完整。
四、时间安排:
期末考试前最后一次课学生PPT讲解。
五、实践教学中应注意的问题
1.组织管理的要求:4-5人一组,要求发挥团队合作精神,分工协助。2.对学生的要求:与小组同学分工合作,认真完成系统设计、编写代码、程序调试及文档撰写。3.学生采用PPT讲解。
C++语言课程设计任务书1 题目:学院教学信息管理系统
功能:学院教学信息管理系统,每一条记录包括一位教师的职工号、姓名、职称、性别、3门课程,教学效果综合评分。系统要求实现以下功能:
1、输入:输入每一位教师记录,将其信息写入文件中。
2、显示:显示每位教师记录。
3、排序:按职工号或教学效果综合评分进行排序,并显示。
4、查找:完成按姓名或课程查找教师的相关记录,并显示。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位教师的相关(教学)信息写入文件中并能显示于屏幕上。
3、完成排序(按职工号、姓名、职称等)、查找等功能。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现教师信息的数据结构设计;
3、系统的各个功能模块要求用函数实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划
第 1 页
《C++语言课程设计》题目
分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书2 题目:酒店房间登记与计费管理系统
功能:
1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。
2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。
3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。
3、进一步要求:完成计费和费用查询功能。要求:
1、用C++语言实现系统;
2、系统的各个功能模块要求用函数实现;
3、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书3 题目:学生成绩管理系统
功能:学生成绩管理系统,每个学生是一个记录,包括学号,姓名,性别,3门课程成绩。系统
要求实现以下功能:
1、信息录入:录入学生成绩信息(包括学生学号、姓名、各门课程的成绩等);
2、信息查询:输入学号,查询学生各门课程的成绩,并显示。
3、排序:按各门课程的成绩平均分进行排序,并显示。
4、信息删除与修改——输入学号,删除该学生的成绩信息。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位学生的信息写入文件中并能显示于屏幕上。
3、完成上述信息查询(学生学号、姓名等)、排序、信息删除与修改功能。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现学生信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书4
第 2 页
《C++语言课程设计》题目
题目:职工档案管理系统设计
功能:职工档案管理系统设计,每个职工是一条记录,包括编号,姓名,性别,出生年月,所在
部门,职称,工资级别、电话等。系统可实现以下功能:
1、输入功能:输入每一位职工记录,将其信息存入文件中。
2、显示功能:完成全部职工记录的显示。
3、查找功能:完成按编号或姓名查找职工的相关记录,并显示。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位职工的信息写入文件中并能显示于屏幕上。
3、完成上述查找(编号,姓名,性别等)、修改等功能。
4、进一步要求,修改记录设置密码操作。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现职工信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书5 题目:学生管理系统设计
功能:学生管理系统设计,每个学生是一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等。系统要求实现以下功能:
1、输入功能:录入学生信息(包括学生学号、姓名、性别、出生年月、专业等);
2、显示功能:完成学生记录的显示。
3、查找功能:完成按学号或姓名查找学生的相关记录,并显示。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位学生的信息写入文件中(人数利用宏定义设定)并能显示于屏幕上。
3、完成上述显示、查找(姓名,性别等)、修改等功能。
4、进一步要求,修改记录设置密码操作。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现学生信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书6
题目:银行存取款管理设计
第 3 页
《C++语言课程设计》题目
功能:能够输入和查询客户存款取款记录。在客户文件中,每个客户是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种。本系统能够输入客户存款或取款记录;根据客户姓名查询存款和取款记录。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、建立一个文件,输入客户的必要信息,能对文件进行显示、输入、修订、删除等。
3、进一步要求:完成客户姓名查询存款和取款记录,并能得到每次帐户总金额。要求:
1、用C++语言实现系统;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书7 题目:院职工工资管理系统设计
功能:院职工工资管理系统应包含职工的全部信息。每个职工是一条记录,包括姓名、性别、出生年月、年龄、婚姻状况、家庭住址、职称、工资级别情况等。本系统重点进行工资管理,系统登陆后可计算职工工资总额和平均工资,可按工资进行排序,并能够找出工资级别相同的职工名单。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、建立一个文件,将每位职工的信息写入文件中并能显示于屏幕上。
3、计算职工工资总额和平均工资,可按工资进行排序,并能够找出工资级别相同的职工名单。
要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现职工信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书8 题目:通讯录管理系统
功能:录入联系人信息(包括姓名、电话号码、地址、备注等);通讯录管理系统要求实现以下功能:
1、输入每一位联系人记录,将其信息存入文件中。
2、查询所有联系人的信息,并按可选的自定义规则进行排序;
3、记录修改,将修改的记录信息保存于文件中。分步实施:
第 4 页
《C++语言课程设计》题目
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上。
3、完成上述查询(姓名、电话号码等)、信息删除与修改功能。
4、进一步要求,修改记录设置密码操作。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现联系人信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书9
题目:计算机辅助教学(CAI)软件开发:教小学生学算术。
功能:可做个位数,十位数的加,减,乘和除,减法不能得负数,除法要除尽,屏幕上随机出现两个数,提示小学生给出答案,答错了要提示重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从个位进到十位。同样,也可降级。
(rand(),#include
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成基本要求:能答对个位数的加法和减法,并有统计功能,即一次答对的成功率为
90%上后可晋级,做十位数的加减;
3、进一步要求:完成乘法和除法的学习,也有晋级功能。要求:
1、用C++语言实现程序设计;
2、系统的各个功能模块要求用函数的形式实现;
3、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书10
题目:学生考勤系统设计
功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上
3、完成上述添加(出勤情况)、查找(学号,姓名,性别等)、修改等功能。
4、进一步要求:自动给出每个学生的考勤分数 要求:
1、用C++语言实现程序设计;
第 5 页
《C++语言课程设计》题目
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书11 题目:学生选修课程系统设计
功能:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。试设计一选修课程系统。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上
3、完成上述添加、查找(课程编号、课程名称、课程性质等)、修改等功能。
4、进一步要求:学生选修课程(可选项)要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书12
题目:商品订购系统设计。
功能:屏幕上出现一个界面,让顾客或输入商品名称,或商品型号,或选择列表进而输入商品编号都可以,如查到所选商品,则列出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:所选商品编号—列出对应商品的信息—要求顾客输入邮寄地址信息—确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。建立两个文件,分别存放商品信息与订购信息。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立一个小系统,包括10种产品能供顾客选择。
3、进一步要求:完成全部功能的系统。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
第 6 页
《C++语言课程设计》题目
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书13 题目:设备管理系统设计
功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上
3、能对文件进行补充、修订、删除,能统计所有设备的总价值。
4、进一步要求:完成设备按种类、按所属部门进行统计。
要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书14
题目:学生计算机机房管理系统设计
功能:该计算机房共有100台计算机,分为20排,每排50台。管理系统应包含每台计算机一周内的使用全部信息,包括计算机序号、配置、位置、状态、使用情况的历史记录(包括使用者姓名、学号、使用时间段)等。本系统可以模拟学生上机和离开的登记过程,查询机房计算机的使用情况。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、建立一个文件,将相关的信息写入文件中并能显示于屏幕上;
3、能实现学生上机的登记过程模拟;
4、进一步要求:查询机房计算机的使用情况。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
第 7 页
《C++语言课程设计》题目
C++语言课程设计任务书15 题目:商店销售管理系统。
功能:屏幕上出现一个界面,让售货员输入商品编号或者商品名称,可以进货,进货后商品库存同时增加。顾客买走商品后,售货员输入商品编号或者商品名称,可以生成销售清单,统计本次销售总的价钱,同时库存数量相应减少。完成前面的基本功能后,还可以完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、建立一个文件,将相关的信息写入文件中并能显示于屏幕上;
3、能按商品编号进货和销售;
4、进一步要求:完成增加新的商品或删除不需要的商品的功能,以及每天销售统计
功能等。
要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书16
题目:计算机辅助教学(CAI)软件开发:教小学生学英语。
功能:屏幕上随机出现一个汉语单词,英语单词,汉语词组,英语词组或一短句提示小学生给出相应答案,答错了要提示要求重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从单词到词组,从词组到短句。同样,也可降级。起步阶段可各选30个,软件可扩充,即扩大词库的容量。
(rand(),#include
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:能教单词,并有统计功能,即一次答对的成功率为90%以上后可晋级;
3、进一步要求:完成词组和短语的问答,也有晋级功能。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书17
第 8 页
《C++语言课程设计》题目
题目:飞机订票系统设计
功能:本飞机共有80个坐位,分20排,每排4个位子。编号为A,B,C,D。如10D表示10排D座。A和D靠窗,19到20排为吸烟区。本系统可让乘客自己选座号和区域,直到乘客满意为止,无法满足的话,只能改乘另一个航班。定上票的乘客需给出姓名和身份证号,最后要打印出乘客清单。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立一个小系统,包括5排座位,两个区域,能供乘客选择;
3、进一步要求:完成全部功能的系统。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书18
题目:高速公路计费系统设计
功能:在某高速公路出口收费处,对三种类型的车辆计费,大型车每公里0。5元,中型车每公里0.4元,小型车每公里0.3元,来车验条,乘公里数即得该收的款项。在交班时要统计出总数。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立一个只有三个入口的计费系统,并能进行统计计算,打印出报表;
3、进一步要求:完成任意多个入口的通用系统。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
第 9 页
第二篇:C++语言课程设计题目—2011年下半年
《C++语言课程设计》题目
课程大纲:
一、教学目标和基本要求
本课程全面系统的学习面向对象程序设计的基本概念,基本语法和编程方法。正确理解掌握C++面向对象程序设计的基本特性:类,对象,继承与派生,多态,虚函数,模板,流类库等。遵循软件过程的各个环节进行系统分析、设计、实现、集成、测试,并相应给出软件规格说明书等制品,了解当前常用的软件开发工具(Visual C++),培养解决实际问题的能力。
二、组织方式
结合具体的实践项目,以分组的形式(4-5人一组)开展程序设计的上机实践。
三、考核方式及办法:
完成包括从概要设计、详细设计、代码编写、程序调试、运行在内的一系列程序设计及文档撰写,要求系统调试成功、可正常运行,文档规范完整。
四、时间安排:
期末考试前最后一次课学生PPT讲解。
五、实践教学中应注意的问题
1.组织管理的要求:4-5人一组,要求发挥团队合作精神,分工协助。2.对学生的要求:与小组同学分工合作,认真完成系统设计、编写代码、程序调试及文档撰写。3.学生采用PPT讲解。
C++语言课程设计任务书1 题目:学院教学信息管理系统
功能:学院教学信息管理系统,每一条记录包括一位教师的职工号、姓名、职称、性别、3门课程,教学效果综合评分。系统要求实现以下功能:
1、输入:输入每一位教师记录,将其信息写入文件中。
2、显示:显示每位教师记录。
3、排序:按职工号或教学效果综合评分进行排序,并显示。
4、查找:完成按姓名或课程查找教师的相关记录,并显示。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位教师的相关(教学)信息写入文件中并能显示于屏幕上。
3、完成排序(按职工号、姓名、职称等)、查找等功能。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现教师信息的数据结构设计;
3、系统的各个功能模块要求用函数实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划
《C++语言课程设计》题目
分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书2 题目:酒店房间登记与计费管理系统
功能:
1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。
2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。
3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。
3、进一步要求:完成计费和费用查询功能。要求:
1、用C++语言实现系统;
2、系统的各个功能模块要求用函数实现;
3、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书3 题目:学生成绩管理系统
功能:学生成绩管理系统,每个学生是一个记录,包括学号,姓名,性别,3门课程成绩。系统
要求实现以下功能:
1、信息录入:录入学生成绩信息(包括学生学号、姓名、各门课程的成绩等);
2、信息查询:输入学号,查询学生各门课程的成绩,并显示。
3、排序:按各门课程的成绩平均分进行排序,并显示。
4、信息删除与修改——输入学号,删除该学生的成绩信息。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位学生的信息写入文件中并能显示于屏幕上。
3、完成上述信息查询(学生学号、姓名等)、排序、信息删除与修改功能。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现学生信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书4
《C++语言课程设计》题目
题目:职工档案管理系统设计
功能:职工档案管理系统设计,每个职工是一条记录,包括编号,姓名,性别,出生年月,所在
部门,职称,工资级别、电话等。系统可实现以下功能:
1、输入功能:输入每一位职工记录,将其信息存入文件中。
2、显示功能:完成全部职工记录的显示。
3、查找功能:完成按编号或姓名查找职工的相关记录,并显示。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位职工的信息写入文件中并能显示于屏幕上。
3、完成上述查找(编号,姓名,性别等)、修改等功能。
4、进一步要求,修改记录设置密码操作。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现职工信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书5 题目:学生管理系统设计
功能:学生管理系统设计,每个学生是一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等。系统要求实现以下功能:
1、输入功能:录入学生信息(包括学生学号、姓名、性别、出生年月、专业等);
2、显示功能:完成学生记录的显示。
3、查找功能:完成按学号或姓名查找学生的相关记录,并显示。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位学生的信息写入文件中(人数利用宏定义设定)并能显示于屏幕上。
3、完成上述显示、查找(姓名,性别等)、修改等功能。
4、进一步要求,修改记录设置密码操作。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现学生信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书6
题目:银行存取款管理设计
《C++语言课程设计》题目
功能:能够输入和查询客户存款取款记录。在客户文件中,每个客户是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种。本系统能够输入客户存款或取款记录;根据客户姓名查询存款和取款记录。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、建立一个文件,输入客户的必要信息,能对文件进行显示、输入、修订、删除等。
3、进一步要求:完成客户姓名查询存款和取款记录,并能得到每次帐户总金额。要求:
1、用C++语言实现系统;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书7
题目:学生考勤系统设计
功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上
3、完成上述添加(出勤情况)、查找(学号,姓名,性别等)、修改等功能。
4、进一步要求:自动给出每个学生的考勤分数 要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书8 题目:学生选修课程系统设计
功能:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。试设计一选修课程系统。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上
《C++语言课程设计》题目
3、完成上述添加、查找(课程编号、课程名称、课程性质等)、修改等功能。
4、进一步要求:学生选修课程(可选项)要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书9
题目:商品订购系统设计。
功能:屏幕上出现一个界面,让顾客或输入商品名称,或商品型号,或选择列表进而输入商品编号都可以,如查到所选商品,则列出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:所选商品编号—列出对应商品的信息—要求顾客输入邮寄地址信息—确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。建立两个文件,分别存放商品信息与订购信息。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立一个小系统,包括10种产品能供顾客选择。
3、进一步要求:完成全部功能的系统。要求:
1、用C++语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
C++语言课程设计任务书10 题目:商店销售管理系统。
功能:屏幕上出现一个界面,让售货员输入商品编号或者商品名称,可以进货,进货后商品库存同时增加。顾客买走商品后,售货员输入商品编号或者商品名称,可以生成销售清单,统计本次销售总的价钱,同时库存数量相应减少。完成前面的基本功能后,还可以完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、建立一个文件,将相关的信息写入文件中并能显示于屏幕上;
3、能按商品编号进货和销售;
4、进一步要求:完成增加新的商品或删除不需要的商品的功能,以及每天销售统计
功能等。
要求:
1、用C++语言实现程序设计;
《C++语言课程设计》题目
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码、测试情况及调试中问题与解决方案、小结等。
第三篇:《C++语言课程设计》任务书_2012
《C++语言课程设计》任务书
专业 班级 学号 姓名
一、实践目的
通过本课程设计教学,为学生提供一个综合运用所学知识,解决实际问题的机会,增强其实践动手能力和工程实践能力,锻炼和培养学生的自学能力,使学生能利用C++语言设计功能较全的一个应用程序,得到程序设计方法、文献资料查询、设计报告写作的综合训练。同时加深对<
二、实践任务与要求
1、编写一个简单的基于MFC的应用程序(5学时)
《C++程序设计实践教程》P218-P226综合设计题中任选一题。
2、参照《C++程序设计实践教程》中P64-74的实例,从以下各题中任选一题,在vc++环境下编写一个基于控制台方式的应用程序(Win32 Console Application,25学时)1).教学管理系统。学生信息包括学生的班级代号、学号和姓名,选课信息包括每个学生该学期所选课程,成绩包括每个学生所选的课程的考核成绩。系统功能要求如下:
(1)能输入学生信息、选课信息和成绩。
(2)能输出各班的某门课程不及格的名单(含学号、姓名和成绩)。(3)能输出某门课程全年级前5名的学号、姓名和成绩。(4)能输出某门课程每个班的总平均分(从高到低排列)。(5)能输出某门课程某班的成绩单(按学号排列)。
2).通讯录管理程序。通讯录要求存储姓名、性别、工作单位、住宅电话、移动电话、办公电话、E-mail地址等内容。系统功能要求如下:
(1)通讯录记录按姓名排序存放,显示时每屏不超过20个记录,超过时分屏显示。(2)增加某人的通讯录。(3)修改某人的通讯录。(4)删除某人的通讯录。
(5)按多种方式查询符合条件的信息。(6)用文件存储数据。
3).图书室管理系统。该系统存储以下信息:
(1)对于同一作者同一书名的书,存储书名、书目编号、作者名、库存册数(不包括已借出的)、已借出册数。
(2)对于每一本书还要存储一个登录号(这是区别每一本书的唯一标志)、当前借阅该书的读者姓名与借书证号、借阅日期。
系统功能要求如下:(1)创建存储系统。(2)增加新书。
(3)删去无使用价值的旧书。
(4)处理借书。要求读者提供书目号与登录号,一位读者限借2册。检查库中有无读者要求借阅的图书,检查该读者已借阅图书数量。
(5)处理还书。
(6)查询某登录号的书是谁借了。
4).工资管理系统。该系统在磁盘上存储了某单位上月全体职工的工资信息。对于每一位职工存储以下信息:月份,职工编号,基本工资,津贴,岗贴,补贴,房贴,交通费,应发数,房租,储蓄,会费,个人所得税,应扣数,实发数。个人所得税计算方法设为:工资少于800元的部分为0,800~2000元的部分为5%,2000~5000元的部分为10%,5000元以上的部分为20%。
系统功能要求如下:
(1)创建存储职工工资信息的存储系统。(2)添加某职工的工资信息。(3)删除某职工的工资信息。
(4)修改某职工的部分工资信息(当月开始增加或减少某些项工资或扣款数变化)。(5)输出指定编号职工的工资信息(借查询用)。(6)输出当月全体职工的工资信息(发工资用)。
5).车票管理系统。一车站每天有n个发车班次,每个班次都有一班次号(1,2,3,…,n),固定的发车时间固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。例如:
班次
发车时间
起点站
终点站
行车时间
额定载量
已订票人数 1
8:30
长沙
广州
2
9:30
长沙
南昌
1.5
3
8:00
长沙
南宁
4.5
4
10:00
长沙
武汉
3.5
……(1)录入班次信息(信息用文件保存),可不定时地增加班次数据。
(2)浏览班次信息,可显示出所有班次当前状况。如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息。
(3)查询路线:可按班次号查询,也可按终点站查询。
(4)售票和退票功能。当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数。退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。
三、实习纪律
1、独立思考、完成程序设计的所有内容,严禁抄袭。2、按时上、下机,不得无故缺课
四、设计报告要求
设计报告要求简洁、严谨(3000-4000字,4页),应包括以下几方面的内容: 1、系统功能概述
2、主要的数据结构概述 3、系统结构框架
4、各主要功能模块的实现算法(画出流程图或自然语言描述)
5、调试过程中遇到的主要问题及解决的方法;对设计和编码的回顾讨论和分析;改进思想;收获和体会等
6、主要程序模块的清单
五、时间安排
上机时间:18-19周
最后一次实验检查程序运行情况并交设计报告。
六、成绩评定规则
1、程序调试结果分优、良、中、及格、不及格五等,占总课程成绩的60%
2、实验过程评价:在上机操作过程中学生的上机能力按优、良、中三档评定,占课程总成绩的20%
3、实验报告评价占课程总成绩的20%
指导教师 李利明
中南大学
计算机基础教学实验中心
2012.6.1
第四篇:C++语言课程设计一迷你高尔夫
C++语言课程设计一迷你高尔夫
一、实验内容
玩家通过按下键盘上的上下左右方向键控制球的移动,使其最终到达出口则游戏通关。
要求如下:
1、游戏分成3关,第一关、第二关、第三关界面图如下:
第一关
第二关
第三关
2、启动游戏进入第一关,胜利后进入第二关,如果第三关通关,则游戏重新回到第一关。
3、游戏玩法是通关控制键盘上的上下左右方向键控制球的运动,单击方向键,则球获得一个向该方向直线运动的速度。如果球遇到方块,则球停止运动,如果遇到黑洞,则游戏结束,重新开始该游戏,遇到出口则通关。
4、球静止状态下会有箭头指示球可以运动的方向,运动状态下则箭头消失。如果球运动出世界边界,则游戏结束,重新回到该游戏。
二、实验指南
实验一
开始实验
【实验任务】
步骤一、打开FunCode,创建一个的C++语言项目;
步骤二、导入GolfGame场景。
【实验思路】
按实验指导完成。
【实验指导】
1、打开FunCode,点击“项目”菜单,选择“创建C++工程”
注意:工程名名称要求字母开头,只能包含字母和数字,且名字中间不能有空格。
2、点击菜单“项目”中的“导入地图模块”,如图一。跳出一个对话框,选中“GolfGame”模板,点击“导入到工程”按钮,如图二。
图
一
图
二
3、导入成功后的,界面如下图所示:
地图不仅包括界面设计,还包括该游戏可能要用到的其他精灵。添加到“场景”中的精灵,都已经取好名称,并根据程序要求设置好中心点、链接点等,学生只需要直接编程就可以。
实验二
游戏关卡初始化
【实验内容】
步骤一、关卡地图初始化
步骤二、清除上一关卡数据
步骤三、根据当前关卡,选择关卡数据
【实验思路】
游戏开始的时候首先要清除上一关的游戏数据,即将上一关创建的精灵从地图中删掉。
将游戏地图分成12*12的方格界面,游戏总共分成三关,因此我们需要用三个二维数组m_iLevelData1[GRID_COUNT][GRID_COUNT]
m_iLevelData2[GRID_COUNT][GRID_COUNT]
m_iLevelData3[GRID_COUNT][GRID_COUNT]
(其中GRID_COUNT的值为12)
来存放这三关的数据即可。二维数组中0表示该位置不创建精灵,否则根据不同的值创建不同精灵,RIGID_BLOCK(值为1)表示创建一个方块精灵,BLACK_HOLE(值为2)表示创建一个黑洞精灵,GOLF_EXIT(值为3)表示创建一个出口精灵。每次把代表该关卡的二维数组的数据拷贝到存储当前关卡m_iGridData的二维数组中。
【实验指导】
1、进入LessonX.h的CGameMain类中,添加以下成员变量的声明:
static
const
float
m_fGridStartX
;
//
第一块方块的起始坐标
=
-(GRID_COUNT
*
g_fGridSize
*
0.5
g_fGridSize
/
2)
static
const
float
m_fGridStartY
;
static
const
float
m_fGridSize;
//
每块的大小,包括球、出口等都是此大小
int
m_iRigidBlockCount;
//
本关卡创建的阻挡物方块数量
int
m_iBlackHoleCount
;
//
本关卡创建的黑洞数量
int
m_iGolfExitCount;
//
本关卡创建的出口的数量
int
m_iCurLevel;
//
当前关卡
int
m_iMoveState
;
//
控制球的移动状态:0当前静止,可以移动,1、2、3、4:代表上下左右4个方向移动中,按键无响应
int
m_iGridData[GRID_COUNT][GRID_COUNT];
//
二维数组,存储当
前关卡N*N的矩阵方块信息
static
const
int
m_iLevelData1[GRID_COUNT][GRID_COUNT]
;
static
const
int
m_iLevelData2[GRID_COUNT][GRID_COUNT]
;
static
const
int
m_iLevelData3[GRID_COUNT][GRID_COUNT]
;
vector
m_vRigidBlock;
//阻挡物精灵向量数组
vector
m_vBlackHole;
//黑洞精灵向量数组
vector
m_vGolfExit;
//出口精灵向量数组
int
m_iControlStartX;
//控制球的初始X坐标,根据关卡数据自行指定
int
m_iControlStartY;
//球的初始Y坐标
2、进入LessonX.h中在头文件声明的后面添加下面的宏定义代码:
#define
GRID_COUNT
//
N
*
N的矩阵方块,一个N的大小
#define
MAX_LEVEL
//
最大关卡数量。如果要增加关卡,请先修改此值
#define
RIGID_BLOCK
//
以下3个分别为方块阻挡物、黑洞、出口的值
#define
BLACK_HOLE
#define
GOLF_EXIT33、进入LessonX.cpp中添加上面的成员变量的初始化:
1)
在构造函数中把m_iGameState的值由0改为1:
m_iGameState
=
1;
2)
在构造函数中添加下面代码:
m_iRigidBlockCount
=
0;
//
本关卡创建的阻挡物方块数量
m_iBlackHoleCount
=
0;
//
本关卡创建的黑洞数量
m_iGolfExitCount
=
0;
m_iCurLevel
=
1;
m_iControlStartX
=
0;
//球的初始X坐标
m_iControlStartY
=
0;
//球的初始Y坐标
3)
对于const类型的成员变量,我们需要在函数外面单独进行初始化,在文件最后面添加如下代码:
const
float
CGameMain::m_fGridStartX
=-27.5f;
const
float
CGameMain::m_fGridStartY
=-27.5f;
const
float
CGameMain::m_fGridSize
=5.f;
const
int
CGameMain::m_iLevelData1[GRID_COUNT][GRID_COUNT]
=
{
{0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,0,0,0},{0,0,0,RIGID_BLOCK,0,0,0,0,RIGID_BLOCK,0,0,0},{0,0,0,RIGID_BLOCK,0,0,0,0,RIGID_BLOCK,0,0,0},{0,0,0,RIGID_BLOCK,0,0,0,0,BLACK_HOLE,0,0,0},{0,0,0,0,0,0,0,GOLF_EXIT,RIGID_BLOCK,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0}
};
const
int
CGameMain::m_iLevelData2[GRID_COUNT][GRID_COUNT]={
{0,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,0,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,0},{0,RIGID_BLOCK,0,0,0,0,0,0,0,0,RIGID_BLOCK,0},{0,RIGID_BLOCK,0,0,0,0,0,0,0,0,RIGID_BLOCK,0},{0,RIGID_BLOCK,0,0,0,0,0,0,0,0,RIGID_BLOCK,0},{0,RIGID_BLOCK,0,0,0,0,0,0,0,0,RIGID_BLOCK,0},{0,RIGID_BLOCK,0,0,0,0,0,0,0,0,RIGID_BLOCK,0},{0,RIGID_BLOCK,0,0,0,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,0,0,RIGID_BLOCK,0},{0,RIGID_BLOCK,0,0,0,0,0,RIGID_BLOCK,0,0,RIGID_BLOCK,0},{0,RIGID_BLOCK,0,0,0,0,0,0,GOLF_EXIT,RIGID_BLOCK,RIGID_BLOCK,0},{0,RIGID_BLOCK,0,0,0,0,0,0,0,0,0,0},{0,RIGID_BLOCK,0,0,0,0,0,0,0,0,RIGID_BLOCK,0},{0,RIGID_BLOCK,0,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,0,RIGID_BLOCK,0}
};
const
int
CGameMain::m_iLevelData3[GRID_COUNT][GRID_COUNT]={
{0,0,0,0,0,0,0,0,RIGID_BLOCK,RIGID_BLOCK,0,0},{0,0,RIGID_BLOCK,RIGID_BLOCK,RIGID_BLOCK,0,0,0,0,0,0,RIGID_BLOCK},{RIGID_BLOCK,0,0,0,0,0,0,0,0,0,0,RIGID_BLOCK},{0,0,0,0,0,0,0,0,0,0,0,RIGID_BLOCK},{0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,GOLF_EXIT,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,RIGID_BLOCK,RIGID_BLOCK,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,RIGID_BLOCK,0},{0,0,0,RIGID_BLOCK,0,0,0,0,0,0,RIGID_BLOCK,0},{0,0,0,0,BLACK_HOLE,RIGID_BLOCK,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0}
};
二维数组中0表示该位置不创建精灵,否则根据不同的值创建不同精灵,RIGID_BLOCK(值为1)表示创建一个方块精灵,BLACK_HOLE(值为2)表示创建一个黑洞精灵,GOLF_EXIT(值为3)表示创建一个出口精灵。
4)
进入GameInit函数里面,将球的运动状态初始化为静止,添加下面代码:
m_iMoveState=0;
4、游戏初始化的时候,首先我们需要将前边添加的精灵全部删除掉,因此需要自定义的创建清除所有精灵函数ClearAllSprite()来实现这个功能。
1)
进入LessonX.h文件的CGameMain类中添加该函数的声明:
void
ClearAllSprite();
2)
在LessonX.cpp最后面添加该函数的定义:
void
CGameMain::
ClearAllSprite()
{
}
3)
再使用3个循环,分别将上一关卡创建的3种精灵删除掉。在上边定义的函数中添加如下代码:
int
iLoop
=
0;
for(iLoop
=
0;
iLoop
m_vRigidBlock.size();
iLoop++)
{
m_vRigidBlock[iLoop]->DeleteSprite();
}
for(iLoop
=
0;
iLoop
m_vBlackHole.size();
iLoop++)
{
m_vBlackHole[iLoop]->DeleteSprite();
}
for(iLoop
=
0;
iLoop
m_vGolfExit.size();
iLoop++)
{
m_vGolfExit[iLoop]->DeleteSprite();
}
其中m_vRigidBlock、m_vBlackHole、m_vGolfExit是存储三种精灵的向量数组,每一个循环都遍历一遍向量数组并调用数组中每个精灵的DeleteSprite函数即可。
m_vRigidBlock.size()、m_vBlackHole.size()、m_vGolfExit.size()表示每种精灵的总数。
4)
最后在GameInit()中添加调用此函数的代码:
ClearAllSprite();
5、在GameInit()中,我们也需要对关卡进行选择初始化。因此我们需要自定义一个初始化关卡函数InitLevel
()来实现这个功能。
1)
进入LessonX.h文件的CGameMain类中添加该函数的声明:
void
InitLevel();
2)
在LessonX.cpp最后面添加该函数的定义:
void
CGameMain::
InitLevel()
{
}
3)
初始化关卡,要根据当前关卡,选择关卡的数据,即将代表关卡的二维数组中的数据拷贝到m_iGridData中,同时设置控制球在每个数组中的起始位置。首先把需要的数据初始化为0,代码如下:
//
总数置0,重新创建
m_iRigidBlockCount
=
0;
m_iBlackHoleCount
=
0;
m_iGolfExitCount
=
0;
4)
选择关卡我们使用了switch-case结构,程序通过判断switch中的参数进入到不同的case中去,每个case就是一种情况的实现。代码如下:
//
根据当前关卡,选择关卡数据
switch(m_iCurLevel)
{
case
2:
{
m_iControlStartX
=
5;
m_iControlStartY
=
9;
memcpy(m_iGridData,m_iLevelData2,sizeof(int)
*
GRID_COUNT
*
GRID_COUNT);
}
break;
case
3:
{
m_iControlStartX
=
3;
m_iControlStartY
=
6;
memcpy(m_iGridData,m_iLevelData3,sizeof(int)
*
GRID_COUNT
*
GRID_COUNT);
}
break;
//
Level1
或者g_iCurLevel错误
case
1:
default:
{
m_iControlStartX
=
5;
m_iControlStartY
=
6;
memcpy(m_iGridData,m_iLevelData1,sizeof(int)
*
GRID_COUNT
*
GRID_COUNT);
}
break;
};
memcpy函数作用是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。因为二维数组在内存中的存放方式是连续的,因此我们将源地址拷贝给m_iGridData的起始地址之后,系统后自动根据m_iGridData的下标来找到正确的值。
5)
最后在GameInit()中添加调用此函数的代码:
InitLevel();
至此,本实验结束。
实验三
初始化游戏精灵
【实验内容】
步骤一、创建精灵
步骤二、初始化精灵位置
【实验思路】
遍历二维数组m_iGridData,根据数组值生成对应的精灵实例:值为0的时候不用创建,需要创建的精灵名字前缀为(按照宏定义的1,2,3顺序):RigidBlock,BlackHole,GolfExit。每创建一种精灵,将其总数加1
:m_iRigidBlockCount,m_iBlackHoleCount,m_iGolfExitCount。
【实验指导】
1、进入LessonX.h,CGameMain类中添加下面成员变量的声明:
CSprite*
m_pControlBall;
//控制球精灵
CSprite*
m_pGolfArrow;
//指示箭头精灵
在LessonX.cpp中CGameMain类在构造函数里面添加上面成员变量的初始化:
m_pControlBall
=
new
CSprite(“ControlBall“);
m_pGolfArrow
=
new
CSprite(“GolfArrow“);
2、创建精灵之后需要将精灵移到特定位置,因此我们需要定义一个自定义的函数MoveSpriteToBlock来实现这个功能。
6)
进入LessonX.h中添加该函数的声明:
void
MoveSpriteToBlock(CSprite*
tmpSprite,const
int
iIndexX,const
int
iIndexY);
7)
在LessonX.cpp最后面添加该函数的定义:
void
CGameMain::MoveSpriteToBlock(CSprite*
tmpSprite,const
int
iIndexX,const
int
iIndexY)
{
}
8)
传入该函数的是精灵实体以及x,y坐标参数。再通过SetSpritePosition函数设置精灵位置,在该函数里面添加如下代码:
float
fPosX
=
m_fGridStartX
+
iIndexX
*
m_fGridSize;
float
fPosY
=
m_fGridStartY
+
iIndexY
*
m_fGridSize;
tmpSprite->SetSpritePosition(fPosX,fPosY);
3、这里定义一个函数CreateAllSprite()来创建控制球、方块精灵、出口精灵和黑洞精灵。然后在函数内部添加代码创建精灵。
原理是通过两个for循环来,判断m_iGridData的值,如果为0,则不创建,如果为RIGID_BLOCK则创建一个方块精灵,为
BLACK_HOLE则创建一个黑洞精灵,为GOLF_EXIT则创建一个出口精灵。由于我们预先在地图中摆放了三个模板精灵,因此只需要使用CloneSprite函数即可创建新的精灵。然后再调用MoveSpriteToBlock函数将精灵移动到指定位置。最后每创建一个实现精灵,将它添加到相应的精灵向量数组中。
1)
进入LessonX.h文件的CGameMain类中添加该函数的声明:
void
CreateAllSprite();
2)
在LessonX.cpp最后面添加该函数的定义:
void
CGameMain::
CreateAllSprite()
{
}
3)
在定义汗的函数中添加变量声明:
int
iLoopX
=
0,iLoopY
=
0;
CSprite*
tmpSprite;
char
*szName
=
NULL;
4)
实现两个for循环:
for(iLoopY
=
0;
iLoopY
GRID_COUNT;
iLoopY++)
{
for(int
iLoopX
=
0;
iLoopX
GRID_COUNT;
iLoopX++)
{
}
}
5)
在里面的循环添加判断代码:
如果是0,则不创建精灵,continue表示跳出本次循环,继续下一个循环。
if(0
==
m_iGridData[iLoopY][iLoopX])
continue;
如果是方块,则创建方块精灵:
if(RIGID_BLOCK
==
m_iGridData[iLoopY][iLoopX])
{
szName
=
CSystem::MakeSpriteName(“RigidBlock“,m_iRigidBlockCount);
tmpSprite=new
CSprite(szName);
tmpSprite->CloneSprite(“RigidBlockTemplate“);
MoveSpriteToBlock(tmpSprite,iLoopX,iLoopY);
m_vRigidBlock.push_back(tmpSprite);
m_iRigidBlockCount++;
}
如果是黑洞,则创建黑洞精灵:
else
if(BLACK_HOLE
==
m_iGridData[iLoopY][iLoopX])
{
szName
=
CSystem::MakeSpriteName(“BlackHole“,m_iBlackHoleCount);
tmpSprite=new
CSprite(szName);
tmpSprite->CloneSprite(“BlackHoleTemplate“);
MoveSpriteToBlock(tmpSprite,iLoopX,iLoopY);
m_vBlackHole.push_back(tmpSprite);
m_iBlackHoleCount++;
}
如果是出口,则创建出口精灵:
else
if(GOLF_EXIT
==
m_iGridData[iLoopY][iLoopX])
{
szName
=
CSystem::MakeSpriteName(“GolfExit“,m_iGolfExitCount);
tmpSprite=new
CSprite(szName);
tmpSprite->CloneSprite(“GolfExitTemplate“);
MoveSpriteToBlock(tmpSprite,iLoopX,iLoopY);
m_vGolfExit.push_back(tmpSprite);
m_iGolfExitCount++;
}
6)
将控制球和指示箭头摆放到初始位置,此时球静止,因此指示箭头可见。在上面的两个循环后面添加下面的代码:
m_pControlBall->SetSpriteLinearVelocity(0.f,0.f);
MoveSpriteToBlock(m_pControlBall,m_iControlStartX,m_iControlStartY);
MoveSpriteToBlock(m_pGolfArrow,m_iControlStartX,m_iControlStartY);
m_pGolfArrow->SetSpriteVisible(1);
7)
最后在GameInit()中调用此函数:
CreateAllSprite();
至此,本实验结束。
实验四
移动球
【实验内容】
步骤一、响应键盘按键按下消息
步骤二、球精灵坐标转换为二维格子数组索引
步骤三、判断移动方向,使球获取速度
【实验思路】
首先响应系统的按键消息函数,然后获取精灵坐标,并将其转换为二维格子中的坐标,判断其旁边的格子是否是方块,如果不是则给球一个移动的速度。
【实验指导】
1、进入LessonX.h中,添加我们自定义的键盘消息处理函数OnKeyDown的声明:
void
OnKeyDown(const
int
iKey,const
int
iAltPress,const
int
iShiftPress,const
int
iCtrlPress);
2、在LessonX.cpp中添加该函数的定义:
void
CGameMain::OnKeyDown(const
int
iKey,const
int
iAltPress,const
int
iShiftPress,const
int
iCtrlPress)
{
}
3、首先判断游戏状态,只有在游戏中已经可以移动状态才响应按键,在上面函数中添加下面的代码:
if(2
!=
m_iGameState
||
0
!=
m_iMoveState)
return;
4、获取控制球精灵坐标转换到二维格子数组索引,这里我们需要定义两个函数SpritePosXToIndexX和SpritePosXToIndexY分别处理精灵坐标转换为二维格子的X索引和Y索引:
1)
进入LessonX.h中添加上面两个函数的声明:
int
SpritePosXToIndexX(const
float
fPosX);
int
SpritePosYToIndexY(const
float
fPosY);
2)
进入LessonX.cpp中添加SpritePosXToIndexX的定义:
int
CGameMain::
SpritePosXToIndexX
(const
float
fPosX)
{
}
3)
首先得到左右边界的坐标值。m_fGridStartX是在方块的中心,所以需要减去半个方块的宽度才是左边边界。在SpritePosXToIndexX函数定义中添加下面的代码:
const
float
fLeftSide
=
m_fGridStartX
m_fGridSize
/
2.f;
const
float
fRightSide
=
fLeftSide
+
m_fGridSize
*
GRID_COUNT;
4)
最后需要判断坐标是否出了左右边界,如果没有则返回X索引值。在上面的函数里面添加下面的判断代码:
if(fPosX
fLeftSide
||
fPosX
fRightSide)
return
-1;
int
iIndexX
=
(int)((fPosX
fLeftSide)
/
m_fGridSize);
return
iIndexX;
5)
在LessonX.cpp中添加SpritePosYToIndexY函数的定义:
int
CGameMain::SpritePosYToIndexY(const
float
fPosY)
{
}
6)
首先获取上下边界坐标值。m_fGridStartY是在方块的中心,所以需要减去半个方块的宽度才是上边边界。在上面的函数定义中添加下面的代码:
const
float
fTopSide
=
m_fGridStartY
m_fGridSize
/
2.f;
const
float
fBottomSide
=
fTopSide
+
m_fGridSize
*
GRID_COUNT;
7)
最后判断是否超过了上下边界,没有则返回Y索引值:
if(fPosY
fTopSide
||
fPosY
fBottomSide)
return
-1;
int
iIndexY
=
(int)((fPosY
fTopSide)
/
m_fGridSize);
return
iIndexY;
5、有了上面的两个函数,我们就可以将控制球精灵坐标转换到二维格子数组索引,并判断坐标是否超出边界,在OnKeyDown函数中添加下面的代码:
float
fPosX
=
m_pControlBall->GetSpritePositionX();
float
fPosY
=
m_pControlBall->GetSpritePositionY();
int
iIndexX
=
SpritePosXToIndexX(fPosX);
int
iIndexY
=
SpritePosYToIndexY(fPosY);
if(iIndexX
0
||
iIndexX
>=
GRID_COUNT
||
iIndexY
0
||
iIndexY
>=
GRID_COUNT)
return;
6、根据上下左右方向键,先判断控制球旁边是否是方块,如果是方块则不能移动。不是方块,则给予控制球一个速度。使用iIndexX,iIndexY的时候,注意要判断是否是边缘的索引,如果不判断就进行加1减1,访问数组会造成下标溢出。即如果要判断左边是否是方块阻挡,则索引值为
IndexX
。此时必须先判断iIndexX大于0,才能减一。如果iIndexX为0,代表直接可以移动。
1)
如果是按下向上方向键:
if(KEY_UP
==
iKey)
{
if(iIndexY
0
&&
RIGID_BLOCK
==
m_iGridData[iIndexY
1][iIndexX])
return;
//
给予控制球一个方向速度,并设置移动状态、隐藏指示箭头
m_iMoveState
=
1;
m_pControlBall->SetSpriteLinearVelocityY(-30.f);
m_pGolfArrow->SetSpriteVisible(0);
}
2)
如果是按下向下方向键:
else
if(KEY_DOWN
==
iKey)
{
if(iIndexY
GRID_COUNT
&&
RIGID_BLOCK
==
m_iGridData[iIndexY
+
1][iIndexX])
return;
//
给予控制球一个方向速度,并设置移动状态、隐藏指示箭头
m_iMoveState
=
2;
m_pControlBall->SetSpriteLinearVelocityY(30.f);
m_pGolfArrow->SetSpriteVisible(0);
}
3)
如果是按下向左方向键:
else
if(KEY_LEFT
==
iKey)
{
if(iIndexX
0
&&
RIGID_BLOCK
==
m_iGridData[iIndexY][iIndexX
1])
return;
//
给予控制球一个方向速度,并设置移动状态、隐藏指示箭头
m_iMoveState
=
3;
m_pControlBall->SetSpriteLinearVelocityX(-30.f);
m_pGolfArrow->SetSpriteVisible(0);
}
4)
如果是按下向右方向键:
else
if(KEY_RIGHT
==
iKey)
{
if(iIndexX
GRID_COUNT
&&
RIGID_BLOCK
==
m_iGridData[iIndexY][iIndexX
+
1])
return;
//
给予控制球一个方向速度,并设置移动状态、隐藏指示箭头
m_iMoveState
=
4;
m_pControlBall->SetSpriteLinearVelocityX(30.f);
m_pGolfArrow->SetSpriteVisible(0);
}
7、最后在Main.cpp中的OnKeyDown函数里面添加我们的自定义函数的调用:
g_GameMain.OnKeyDown(iKey,bAltPress,bShiftPress,bCtrlPress);
至此,本实验结束。
实验五球运动情况的处理
【实验内容】
步骤一、获得球所在边缘格子信息
步骤二、不同格子分情况处理
【实验思路】
获取球精灵的当前坐标并将其转换为二维格子的坐标,判断在运动中球边缘的情况,如果已经出了边界则不需要再判断,否则如果是方块则球停靠、是黑洞则重新开始关卡、是出口则通关。
【实验指导】
1、进入LessonX.cpp中的GameRun函数中,移动状态为移动中,时刻监测控制球的移动情况,根据移动方向的下一个方块,进行对应的处理。添加下面的if判断:
if(0
!=
m_iMoveState)
{
}
2、先将控制球精灵坐标转换到二维格子数组索引,如果控制球已经出了边界,所以不需要再判断。在上面的判断里面添加下面的代码:
float
fPosX
=
m_pControlBall->GetSpritePositionX();
float
fPosY
=
m_pControlBall->GetSpritePositionY();
int
iIndexX
=
SpritePosXToIndexX(fPosX);
int
iIndexY
=
SpritePosYToIndexY(fPosY);
//
控制球已经出了边界,所以不需要再判断
if(iIndexX
0
||
iIndexX
>=
GRID_COUNT
||
iIndexY
0
||
iIndexY
>=
GRID_COUNT)
return;
3、根据当前方向,获得控制球边缘所在的格子信息(球在坐标是在中心点,所以加上球的大小的一半)。总共有4中方向,即上下左右,分别用1、2、3、4来表示,添加下面的代码:
float
fNextPosX
=
fPosX;
float
fNextPosY
=
fPosY;
//
if(1
==
m_iMoveState)
{
fNextPosY
-=
m_fGridSize
*
0.5f;
}
else
if(2
==
m_iMoveState)
{
fNextPosY
+=
m_fGridSize
*
0.5f;
}
else
if(3
==
m_iMoveState)
{
fNextPosX
-=
m_fGridSize
*
0.5f;
}
else
if(4
==
m_iMoveState)
{
fNextPosX
+=
m_fGridSize
*
0.5f;
}
4、将上面得到的坐标再转换为二维格子的坐标,并判断是否越出边界,添加下面的代码:
int
iNextIndexX
=
SpritePosXToIndexX(fNextPosX);
int
iNextIndexY
=
SpritePosYToIndexY(fNextPosY);
//
该边缘已经出了边界,不需要往下判断
if(iNextIndexX
0
||
iNextIndexX
>=
GRID_COUNT
||
iNextIndexY
0
||
iNextIndexY
>=
GRID_COUNT)
return;
5、根据球边缘当前所在的格子的信息,进行不同的处理:是方块则球停靠、是黑洞则重新开始关卡、是出口则通关:
1)
是方块:
if(RIGID_BLOCK
==
m_iGridData[iNextIndexY][iNextIndexX])
{
//
清零移动状态
m_iMoveState
=
0;
//
速度清零,显示指示箭头
m_pControlBall->SetSpriteLinearVelocity(0.f,0.f);
m_pGolfArrow->SetSpriteVisible(1);
//
把球和指示箭头设置在本方块的中心
MoveSpriteToBlock(m_pControlBall,iIndexX,iIndexY);
MoveSpriteToBlock(m_pGolfArrow,iIndexX,iIndexY);
}
2)
是黑洞:
else
if(BLACK_HOLE
==
m_iGridData[iNextIndexY][iNextIndexX])
{
//
将游戏状态设置为1,重新开始关卡
m_iGameState
=
1;
}
3)
是出口:
else
if(GOLF_EXIT
==
m_iGridData[iNextIndexY][iNextIndexX])
{
//
将游戏状态设置为1,开始新关卡
m_iGameState
=
1;
//
往下一关卡,如果已经是最大值,则返回第一关
m_iCurLevel++;
if(m_iCurLevel
MAX_LEVEL)
m_iCurLevel
=
1;
}
至此,本实验结束。
实验六球出边界处理
【实验内容】
步骤、控制球出边界,则游戏重新开始
【实验思路】
此部分比较简单,只要通过系统判断球精灵是否越过世界边界,得到数据之后在我们的自定义函数里面处理即可。
【实验指导】
1、进入LessonX.h中添加我们的自定义处理函数OnSpriteColWorldLimit的声明:
void
OnSpriteColWorldLimit(const
char
*szName,const
int
iColSide);
2、进入LessonX.cpp中添加该函数的定义:
void
CGameMain::OnSpriteColWorldLimit(const
char
*szName,const
int
iColSide)
{
}
3、在上面的函数定义中,我们只要知道系统的OnSpriteColWorldLimit函数中返回的szName是否是球精灵的名称,如果是的话则本局游戏结束,重新开始游戏。在上面的定义里面添加下面的代码:
//
只处理控制的球
if(stricmp(szName,m_pControlBall->GetName())
!=
0)
return;
//
将游戏状态设置为1,重新开始关卡
m_iGameState
=
1;
4、进入Main.cpp文件,在OnSpriteColWorldLimit函数里面添加我们自定义的函数的调用,填入下面一行代码:
g_GameMain.OnSpriteColWorldLimit(szName,iColSide);
5、打开Funcode,点击地图中的球精灵,在右侧的“编辑”->“世界边界限制”中,选择限制模式为NULL,这样系统就会以我们自定义的函数处理球越过边界的事件了。
至此,本实验结束。
第五篇:C语言课程设计参考题目
C语言课程设计参考题目
一、矩阵运算
矩阵的加法、减法、转置、数乘矩阵、交换矩阵行或列、两个矩阵作乘法、求矩阵的秩、求可逆矩阵的逆矩阵、特殊矩阵(如对称矩阵、反对称矩阵、三角形矩阵)的运算。
二、级数和数列运算
求无穷级数的和(①从第一项累加到给定的项数时为止,②当一般项的值变化到满足某一条件时为止,③当累加的级数的和满足某一条件时为止。对于正项级数和交错级数,都能计算。);求无穷级数的某一项的值(①按给定项数求值;②按给定满足的条件求值)。
求数列的前n项之和(①等差数列前n项之和;②等比数列前n项之和);计算并显示数列各项的值(①截止到第n项为止;②截止到满足给定的条件为止);求等差中项和等比中项。
三、统计与计算
求N个整数的和、平均值、最大公约数、最小公倍数、方差、标准差等。求N个数中的最大值、最小值、出现次数最多的值、出现次数最少的值。
对一组整数进行分类统计(自行设定分类统计标准。例如,对于一组在0到100之间的数,可以这样分类统计:小于或等于100且大于等于90的有多少,小于90且大于等于80的有多少,小于80且大于等于70的有多少,小于70且大于等于60的有多少,小于60的有多少)。给定N个数,计算并显示这N个数的各种排列和组合。
判断某整数是否是素数,求某范围内的所有素数。将某整数分解成若干素数乘积的形式。
四、排序和查找运算
将给定的N个数排序(①升序;②降序,分别用选择法和冒泡法)。
将给定的N个单词排序(①升序;②降序,分别用选择法和冒泡法)。将给定的N个英文句子排序(①升序;②降序,分别用选择法和冒泡法)。
运用顺序查找法,在一组数中查找给定的数。运用两分查找法,在一组数中查找给定的数。在一组数中查找到给定的数之后,用另一个数将其替换或删除。在一组有序数中,插入某个数,使插入后仍是一组有序数。
将一组数以中间对称的形式交换位置,然后输出。
五、求方程近似根和积分运算
求一元二次方程的根。用牛顿法求某个一元高次方程的近似根。用二分法求某个一元高次方程的近似根。用弦截法求某个一元高次方程的近似根。
求线性方程组的解。
用矩形法求某个函数定级分。用梯形法求某个函数定级分。
六、对英文单词和句子运算
分别统计一个英文句子中大写字母、小写字母、数字、空格的个数。求某个字母在一个英文句子中出现的位置。统计一个英文句子中所包含单词的个数。统计一个英文句子中最长的单词所含字母个数。统计某个单词在一个英文句子中出现的次数。将一个单词从英文句子中删除,显示删除单词后的英文句子。将一个单词插入到英文句子的指定位置,显示插入单词后的英文句子。用一个单词替换英文句子中的另一个单词。比较两个英文句子的不同点,输出不同点的位置。
七、画图案
画各种三角形图案。画各种菱形图案。画各种平行四边形图案。画各种梯形图案。画各种正多边形图案。(以上图案包括空心的或实心的两种。要采用两种方法画一种图案:①用二维数组;②只用循环不用二维数组。不能全用二维数组画!)
用以上几种基本图案组合成一个新图案。
八、商品信息管理系统
每件商品信息包括编号、商品名、类型、生产厂家、生产日期、单价、库存量等项内容,本系统可以实现如下功能:往系统里添加新商品的各项信息;修改现有商品的各项信息;查找并显示满足某条件的商品的信息;按某个给定的条件将商品排序并显示排序结果;统计满足某条件的商品的库存量;计算某种商品的总价值(单价乘库存量),以及某几种商品的总价值。
九、优秀歌手比赛评分系统
比赛共有M个歌手参赛,共有N个评委为歌手打分。每次评分,由N个评委每人给歌手一个分数,然后去掉一个最高分,去掉一个最低分,求出其余N-2个分数的平均分,作为歌手的得分。本系统可以实现如下功能:按评委给分顺序显示某个参赛歌手的得分;显示某个参赛歌手所得的最高分和最低分;求出每个参赛歌手的得分;按参赛歌手的得分从高到低排序并显示排序结果;显示某个评委打出的M个分数;计算某个评委打分的平均值;查找满足给定得分范围的歌手。
十、工资管理系统
某单位有N个,职工工资信息包括基本工资、岗位津贴、地方津贴、奖金、扣公积金、扣税、实发工资等项内容,将N个职工的这些内容存入本系统。可以利用本系统实现如下功能:往系统里添加新的职工工资信息内容;根据给定的条件修改现有的职工工资内容;删除某个职工工资内容;根据给定的条件查找并显示某个职工工资内容;显示符合某个条件的所有职工工资内容;统计某项工资内容的总和;计算某个职工的实发工资(基本工资+岗位津贴+地方津贴+奖金-扣公积金-扣税);计算符合某个条件的所有职工的实发工资总和。
十一、学生成绩管理系统
该班共有N个学生,共开M门课,将已经结束的每门课的成绩存入本系统,将学生的学号和姓名存入本系统。可以利用本系统实现如下功能:往系统里添加新的课程成绩;根据给定的条件修改现有的课程成绩;删除某个学生的学号、姓名和各门课的成绩;根据给定的学生的学号和姓名,查找并显示该学生各门课的成绩;计算所有学生某门课的平均分;计算某个学生各门课的平均分;按每个学生得总分从高到低排序并显示排序结果。
十二、职工档案管理系统
某单位有N个职工,每个职工有编号、姓名、性别、出生日期、毕业学校、电话号码、职务等项内容,将N个职工的这些内容存入本系统。可以利用本系统实现如下功能:往系统里添加新的职工档案内容;根据给定的条件修改现有的职工档案内容;删除某个职工档案内容;根据给定的条件查找并显示某个职工档案内容;显示符合某个条件的所有职工档案内容;统计满足某个条件的职工人数;按某个给定的条件将职工排序并显示排序结果。
十三、图书信息管理系统
每本图书信息包括编号、书名、作者、出版社、出版日期、单价、册数等项内容,本系统可以实现如下功能:往系统里添加新图书的各项信息;修改现有图书的各项信息;查找并显示满足某条件的图书的信息;按某个给定的条件将图书排序;统计满足某条件的图书的册数;计算某种图书的总价值(单价乘册数),以及某几种图书的总价值。
十四、运动会分数统计系统
共有M个运动代表队,每个代表队参加N项比赛。每项比赛的第1名得10分、第2名得8分、第3名得5分,其它名次不得分。输入每项比赛的代表队排名。本系统可以实现如下功能:统计各代表队所得的总分;将各代表队按总分值从高到低排序,然后显示输出;查找某个代表队参加某项比赛的成绩并显示;查找某个代表队的总分和各项比赛的得分并显示;查找某项比赛取得某个名次得代表队名称。