C++的大作业题目.docx
《C++的大作业题目.docx》由会员分享,可在线阅读,更多相关《C++的大作业题目.docx(18页珍藏版)》请在冰豆网上搜索。
C++的大作业题目
《程序设计基础》上机大作业
一、设计实现一个模拟的班级学生成绩管理系统
1目的
通过学生成绩管理系统的设计,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。
2基本要求
该系统用于管理学生的基本信息、课程成绩。
要求实现以下功能:
①通过此模块来管理课程信息,包括查询、添加、修改、删除等功能。
在进行课程信息添加时,系统会自动监测所添加的信息是否已经存在,如果存在,会提示已经存在。
在进行课程信息删除时,同样要求再次确定。
②实现对学生信息、课程成绩的文件存取(分别存储在StudentInfo.txt、StudentScore.txt和GraduateCheck..txt文件中),实现对学生信息、课程成绩的记录增加、删除及修改;
③实现输入学生学号或姓名查询并显示学生的课程成绩;
学生的基本信息记录,如:
学号
姓名
性别
出生日期
专业
20050999
张三
男
1980年6月1日
软件工程
……
……
……
……
……
学生的课程成绩记录,如:
学号
课程名称
学分
成绩
20050999
毛泽东思想概论
4
60
20050999
高级语言程序设计
3
70
20050999
WEB程序设计
2
80
20050999
IT企业管理
1
90
……
……
……
……
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业
二、设计实现一个简单的产品管理系统
目的和要求
(1)目的
通过产品管理系统的设计,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。
(2)基本要求
合理运用C++语言的数组、指针、结构体及文件操作等,实现一个模拟的班级学籍管理系统。
该系统用于管理产品的基本信息及信息统计。
具体要求如下:
①通过键盘或读取文件的方法读取产品的信息,对各类产品进行统计和分析。
②要求使用结构数组和结构指针,各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.c文件中,要求使用头文件。
③要求使用选择法排序,折半查找法进行查找。
④要求在程序中能够运用结构化程序设计的选择和循环结构,并熟练使用相关的语句(如dowhile、for、if-elseif等)。
⑤创新要求。
在基本要求达到后,进行创新设计,如进行删除或插入操作。
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业
三、设计实现一个个人信息管理系统
目的和要求
(1)目的
通过个人信息管理系统的设计,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。
(2)基本要求
合理运用C++语言的数组、指针、结构体及文件操作等,实现一个模拟的个人信息管理系统。
该系统可以对每个学生的消费、生活及学习进行系统的管理,把这几项内容综合在一起开发了具有个人特色的管理系统。
具体要求如下:
①学生的基本信息管理主要包括了学生的姓名、学号、性别、出生年月、专业、爱好等内容。
②消费模块主要包括个人消费记录。
主要功能有:
数据的添加、数据的查找、数据的删除、数据的修改、数据逐个显示、消费总额的显示等。
③学生课程成绩模块主要包括学习成绩记录。
主要功能有:
数据的添加、数据的查找、数据的删除、数据的修改、数据逐个显示、消费总额的显示等。
④要求在程序中能够运用结构化程序设计的选择和循环结构,并熟练使用相关的语句(如dowhile、for、if-elseif等)。
程序要有主菜单,能够完成主要的功能。
学生的基本信息记录,如:
学号
姓名
性别
出生日期
专业
20050999
张三
男
1980年6月1日
软件工程
……
……
……
……
……
学生的消费或个性信息记录,如:
……
……
……
……
……
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业
四、设计实现一个模拟的通信录管理系统
目的和要求
(1)目的
通过班级通信录管理系统的设计,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。
(2)基本要求
合理运用C++语言的数组、指针、结构体及文件操作等,实现一个模拟的班级通信录管理系统。
该系统用于管理学生的基本信息、通信信息等。
具体要求如下:
①通过键盘或读取文件的方法读取学生的通信信息。
②系统需要有添加模块、查询模块、删除模块、修改模块等。
③用户登录查询时,可以通过输入姓名或学号等查到某人的信息,并输出这些信息。
若找不到则显示找不到信息。
④在添加某人信息时,若通讯录中已有该人的信息,则提示信息已存在。
⑤要求在程序中能够运用结构化程序设计的选择和循环结构,并熟练使用相关的语句(如dowhile、for、if-elseif等)。
程序要有主菜单,能够完成主要的功能。
学生的通信录基本信息记录,如:
学号
姓名
性别
住址
系别
电子邮箱
电话
个人简介
密码
20050999
张三
男
……
……
……
……
……
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业
五、设计实现一个班级信息管理系统
目的和要求
(1)目的
通过班级信息管理系统的设计,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。
(2)基本要求
合理运用C++语言的数组、指针、结构体及文件操作等,实现一个模拟的班级通信录管理系统。
该系统用于管理学生的基本信息、通信信息等。
具体要求如下:
1工作人员可以通过此程序来管理学生信息,包括查询,添加,修改,删除等功能。
2在进行添加时,系统会自动监测所添加的学生信息是否已经存在,如果存在,会提示用户该学生已经存在。
3在删除时,要首先弹出对话框,让用户确认是否删除,只有经过确认才能够被删除。
4在进行学生信息管理时,不准用户修改学号。
5通过键盘或读取文件的方法读取学生的信息。
6能够运用结构化程序设计的选择和循环结构,并熟练使用相关的语句(如dowhile、for、if-elseif等)。
7程序要有主菜单,能够完成主要的功能。
学生的基本信息记录,如:
学号
姓名
性别
出生日期
专业
民族
特长
家庭住址
20050999
张三
男
1980年6月1日
软件工程
汉族
篮球、跳舞
……
……
……
……
……
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业
六、设计实现一个小型公司人员信息管理系统
目的和要求
(1)目的
通过公司人员信息管理系统的设计,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。
(2)基本要求
某公司有三类人员,经理、兼职技术人员、兼职销售员。
这些人员分别具有以下属性:
①经理:
姓名、编号、固定工资、当月薪水、计算月薪、显示信息;
②兼职技术员:
姓名、编号、工作小时、每小时工资额、当月薪水、计算月薪、显示信息;
③兼职销售员:
姓名、编号、销售额、销售提成、当月薪水、计算月薪、显示信息。
要求:
①人员编号基数为1000。
每输入一个人员信息,编号顺序加1;
②月薪计算方法是:
经理固定工资8000元,兼职技术员按100元/小时领取月薪,兼职销售员按当月销售额的4%提成。
③工作人员可以通过此程序来管理人员信息,包括查询,添加,修改,删除等功能。
④在进行添加时,系统会自动监测所添加的人员信息是否已经存在,如果存在,会提示用户该人员已经存在。
⑤在删除时,要首先弹出对话框,让用户确认是否删除,只有经过确认才能够被删除。
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业
七、设计实现一个学院教职工信息管理系统
目的和要求
(1)目的
通过学院教职工人员信息管理系统的设计,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。
(2)基本要求
某学院有三类人员,教师、实验室人员、办公室人员。
这些人员分别具有以下属性:
①教师:
姓名、编号、职称、固定工资、当月课时数、当月薪水、计算月薪、显示信息;
②实验室人员:
姓名、编号、固定工资、工作小时、每小时工资额、计算月薪、显示信息;
③办公室人员:
姓名、编号、固定工资、当月薪水、计算月薪、显示信息。
要求:
①人员编号基数为1000。
每输入一个人员信息,编号顺序加1;
②月薪计算方法是:
教师固定工资2000元,教授课酬为30元/小时,副教授为25元/小时,讲师和助教为20元/小时;实验室人员固定工资1000元,每小时课酬额10元;办公室人员的固定工资为2500元。
③工作人员可以通过此程序来管理人员信息,包括查询,添加,修改,删除等功能。
④在进行添加时,系统会自动监测所添加的人员信息是否已经存在,如果存在,会提示用户该人员已经存在。
⑤在删除时,要首先弹出对话框,让用户确认是否删除,只有经过确认才能够被删除。
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机作业
八、设计实现一组程序
一、目的
通过编写一组程序,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。
二、基本要求
完成以下四个小程序的编程与上机调试,给出正确的运行结果。
具体的题目如下:
1.编写一个程序,包括主函数和如下子函数。
(1)输入10个无序的整数;
(2)用起泡方法从大到小排序;
(3)要求输入一个整数,用折半查找法找出该数,若存在,在主函数中输出其所处的位置,否则,插入适当位置。
分析:
input函数完成10个整数的录入。
sort函数完成起泡法排序,search函数完成输入数的查找。
2.青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。
分析:
这道题的核心是排序。
将评委所打的10个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个分数以外的数的平均分,其中排序部分这里用选择排序法实现。
3.有五个学生,每个学生的数据包括学号,姓名,三门课(英语、计算机、数学)的成绩,从键盘输入五个学生的数据,要求打印出每个学生的平均成绩,以及最高分的学生的数据(包括学号,姓名,三门课的成绩,平均分数)。
要求:
一个函数输入学生的数据并保存到文件cj.dat中,存放格式为:
每人一行,成绩间由逗号分隔。
;用一个函数求总平均分;用函数找出最高分学生数据,计算三门课平均成绩,统计个人平均成绩大于或等于90分的学生人数。
总平均分和最高分的学生的数据都在主函数中输出。
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业(选做)
九、设计实现一个简单库存管理程序
目的和要求
(1)目的
通过简单库存管理程序的设计,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。
(2)基本要求
写一个简单的库存控制程序。
该程序服务于诸如鞋店,汽车配件,百货或文具店等销售商店。
程序应该包含:
(a)一个包含出售各种项目记录的文件。
记录应包含:
项目名称、项目描述、目前的库存量、重新定货级别——定单的数量、重新定货的数量、供应商细节、重新定货的运输时间、标识大宗定货
(b)一个包含大宗定货信息记录的文件。
记录格式应为:
定货编号(唯一)、项目编号、定货日期、到货日期
要求程序可以实现以下功能:
1)允许在线登录销售
2)允许在线支付
3)打印合适的重新定货表格
4)允许对两个文件的查询,例如查找过期的定单和缺货的项目
扩展程序
1)文件结构。
包含批发和零售的价格信息
2)引进第三个文件,记录每天的销售额
3)按要求输出总的存货量,可支付的大宗定货总量
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业(选做)
十、设计一个模拟家庭关系的数据结构。
目的和要求
(1)目的
通过设计一个模拟家庭关系的数据结构,培养学生综合利用C++语言进行程序设计的能力,加强数据结构的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用复杂的数据结构及典型算法进行设计。
(2)基本要求
设计一个模拟家庭关系的数据结构。
每个人用一个结构体表示,包含有他(她)的名字、性别、年龄和指向其父亲、母亲、配偶、子女链的指针,如图所示。
试编写以下函数和函数:
(a)增加一个新人;(b)检查某两人之间关系的函数;(c)检查某两人是否堂兄弟姐妹的布尔函数;(d)检索某人,并输出他的直系亲属的情况;(e)遍历整个结构。
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业(选做)
十一、稀疏矩阵的运算。
目的和要求:
稀疏矩阵是决大多数元素为0的矩阵,为了节省存储空间,经常只保存那些非0元素。
如下多重链表是保存稀疏矩阵的一种方案:
–每个非0元素是一个基本数据结构,其结构如图1所示:
–把每行非0元素构成一个环形链表,left为其链指针;
–把每列非0元素亦构成一个环形链表,up为其链指针;
–在每个基本数据结构上:
row为行标;col为列标;val为值;
–每个环链上加一个哨兵结点,哨兵的col、row值为-1。
图2的矩阵存储为图3的形式。
在图3中,colpt、rowpt分别为指针数组,数组元素分别指向稀疏矩阵各列、各行的环形链。
设计矩阵的外部数据格式,编出读入稀疏矩阵以及实现稀疏矩阵加法、乘法的函数。
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业(选做)
十二、模拟博彩游戏
目的和要求
(1)目的
通过设计一个模拟博彩游戏程序,培养学生综合利用C++语言进行程序设计的能力,以及对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用复杂的数据结构及典型算法进行设计。
(2)基本要求
编写一个程序,读入一个正整数N,模拟N个人之间的赌博游戏。
该游戏按以下方式进行。
每一个玩家都有一个赌博卡片,该卡片由5×5的正整数矩阵构成,卡片的中心是空的。
第一列由1到16之间的数构成;第二列由17到32之间的数构成;如此等等。
在游戏开始时,中心位置是隐蔽的(covered)。
一个玩家在1到80的范围之内猜卡片上被覆盖的数。
每猜到一个,就在卡片上把对应的元素翻转过来。
当13个被覆盖的数全部被猜到时,用猜过的数列给该卡片一个“bingo”。
被覆盖的数字包括:
矩阵中心9个元素;矩阵四角4个元素。
你的程序应该为玩家随机产生卡片(根据上面描述的规则),并产生每次猜的数,直到有一个或多个玩家得到一个“bingo”卡片。
程序输出:
●一张卡片被标为“bingo”之前,所猜的所有数
●当每张卡片都得到一个“bingo”时,每张卡片上被覆盖的数。
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。
《程序设计基础》上机大作业(选做)
十三、文件加密、解密。
目的和要求
(1)目的
通过设计一个文件加密、解密程序,培养学生综合利用C++语言进行程序设计的能力,加强文件的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用文件操作及典型算法进行设计。
(2)基本要求
下面是对一个普通的文本文件P加密的方法:
(a)产生一个由任意字符组成的文件(R)。
(b)每次从R和P中各读一个字符,然后合并两个字符成一个复合字符,形成文件C。
文件R中的字母可能会被重读多次。
(c)复合字符形成的规则是:
若给出复合字符中的两个组成部分的任何一部分,另一部分即可唯一重获。
方法是:
对两个字符进行重新编码操作。
(d)文件C就是与文件R有关的对文件P的加密。
(e)按照如上描述的方法,文件C和文件R配合,就可以对文件C进行解密。
其中R用来把复合字符恢复成普通字符。
设计形成复合字符的规则,和产生文件R的程序。
从某中意义上来说,文件R越长,加密的安全性就越高。
根据读入的控制字符(如E或D)设计一个能加密或解密的程序。
测试程序,确保能将一个文本文件加密成一个恰当的加密文件,并且能将其恢复成普通的文本文件。
提示及说明
1)写出设计报告:
包括实验题目与环境、设计思想、函数分解过程、算法描述以及相应的数据流程图、源程序清单、测试的数据以及程序运行的结果
2)如果程序未能够通过运行,分析可能出错的原因。
3)请注意分配好时间,完成系统设计与实现,同时认真填写大作业报告!
按时提交大作业报告、可运行的程序及代码,逾期不交,期末成绩以0分记。