2014秋C++ 学术休假期间程序设计自主学习及实践方案

    xiaoxiao2026-01-15  3

    课程主页在 http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在 云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。 

    说明

      关于大学的寒假和暑假,另外一种说法称之为“学术休假”,这是一段师生各自可以自主安排工作的时间。  大学的生活,绝不是大家都照着同样的课表,听完课考完试,得到一个及格的分数就可以了。在这一段人生中最灿烂的时间里,利用学术休假,做好安排,让自己个性化发展,要为学识和人生的自由发展,争取更多的发言权。  学术休假期间的放松是需要的,另外还可以:

    补足课程学习中的欠账:适用于整个学期的学习一直被动的同学。对C++,可以考虑将没有完成的实践完成,以及做过没有感觉的实践项目再做一遍。即使考试通过了,这样的工作仍然有意义。开阔视野:在寒假,更适合读几本好书,以此丰富自己的头脑。和行业、专业相关的,推荐《浪潮之巅》和《程序开发心理学》,了解计算机,可看《大话处理器》,在我们的QQ群,我还分享过其他书。图书馆的书开学后两周还上不算超期,可以自行选择。拓展视野的另一种方式是行万里路,建议暑假实施。拓展能力:利用已经学的知识,做点项目(如组织一个游戏开发体验团队,或本文后面建议的项目),自学些新的技能(如开始自学网页制作、图形编辑等,是大一学生合适的内容),提升自己的能力(如选择一个合适的OJ平台,刷上几十道题)。其他基础性的学习提升:例如英语,每天坚持读一些,让自己能开口说英语。  休假期间需要“兄弟们”的时候,就在群里吱一声。分开了,这个群的价值更大了。   学术休假期是一个自主的时间段,如何度过,你说了算。相信大家都会有适合自己的安排。

    学术休假期的项目建议

      攻略:可以按着项目1的指导,完成银行储蓄系统的开发,也可以在阅读指导文档之后,自行选择其他的项目中的一个进行体验。   不必贪多,做一个足矣。也可以约几位兄弟一起完成。 【项目1-银行储蓄系统】   见本文下一节项目指导。 【项目2-职工信息管理系统】   职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。设计一个职工信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)职工信息录入功能(职工信息用文件保存)--输入 (3)职工信息浏览功能--输出,包括在退出系统时,将数据保存到文件 (4)查询和排序功能:    按工资查询    按学历查询等 (5)职工信息删除、修改功能(任选项) 【项目3-图书信息管理系统设计】   图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一个图书信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)图书信息录入功能(图书信息用文件保存)--输入 (3)图书信息浏览功能--输出 (4)查询和排序功能:(至少一种查询方式)--算法    按书名查询    按作者名查询 (5)图书信息的删除与修改(可选项) 【项目4-学生信息管理系统设计】   学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)学生信息录入功能(学生信息用文件保存)---输入 (3)学生信息浏览功能---输出 (4)查询、排序功能      按学号查询      按姓名查询 (5)学生信息的删除与修改(可选项) 【项目5-销售管理系统】 某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容: 1)销售员的代号 2)产品的代号  3)这种产品的当天的销售额  每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。 1)计算上个月每个人每种产品的销售额。 2)按销售额对销售员进行排序,输出排序结果(销售员代号) 3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额) 4)输出统计报表 【项目6-通讯录管理】 联系人信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。 (1)能建立、修改和增删学生通讯录 (2)能够按多种方式进行查询 【项目7-大奖赛计分系统】 延续学期中做过的题目,逐渐拓展为一个接近实用的系统: (1)输入选手人数m和评委人数n,由键盘输入数据,显示选手的得分。输入中需要保证得分在0-10之间,选手的得分是去掉一个最高分和最低分后的平均成绩。 (2)在一些评委数很多的比赛中,可能不止去掉一位最高或最低,由键盘输入要去掉的最值数目s,请改造程序,实现计分。 (3)评委打分范围可以设置,如0~10分、百分制等,请改造程序。 (4)得出的分数并不是只显示就行了,还能够随时动态显示排名。 (5)将本次大奖赛的成绩,保存到一个文件中。 (6)上面的程序中,在输入选手成绩之前,要“设置”的参数不少,包括m、n、s,以及分数范围等。将这些参数也保存到一个文件中,运行程序时,直接从文件中读取即完成设置。当然,也应该设计修改设置的功能,将修改后的值保存到文件。 (7)在计分中,可能会出现输入错误,请提供改分功能。 你还想到了其他什么功能?请继续加入。

    银行储蓄系统指导

      该银行储蓄系统的目标,将是设计一个可以支持多名储户开户、存款、取款、转帐、改密、挂失、解挂、销户等功能的系统,以此初步体会完整系统开发,综合运用已经学过的知识。   以下提示中,给出了多个层次的需要,可以先保证最基本、最简单功能的实现,迭代式地完善,实现“改进意见”中的要求。   按照模块化程序设计要求,充分利用函数实现功能。不赞成写很长的函数,提倡用多文件组织。

    功能

    图       示

    说明和提示

    登录

      输入业务员用户名和密码。3次输入不正确,强制退出程序。

    基本要求

      可以只设一名业务员,用全局变量表示其用户名和密码,写在程序中。

    改进意见

      可以用一个文本文件保存多名业务员的信息。定义结构体表示业务员,定义该种类型的结构体数据,在程序开始执行时,读入业务员信息,以支持多名业务员登录。

      用文件保存密码时,一般不用“明文”,而要加密处理。

    系统菜单

      当业务员信息验证后,进入到系统主控菜单,由业务员为储户办理各种业务,直到按0后退出。

    基本要求

      每次启动系统,都是从0用户开始办理业务

    改进意见

      储户的信息都保存在文件中,在处理业务前需要将信息读入。

    开户

    账号由系统自动分配

    确认密码和密码不同时要拒绝。

    开户后,账号状态为0-正常

      增加一个银行账户(银行卡)

      银行账户如下定义:

    struct Account

    {

        long accNumber;//卡号

        string accName;//户主

        string password;//密码

        double balance;//余额

        string identity;//身份证号

        int state;//状态 0:正常 -1:挂失 2:销户

    };

      设全局变量Number,表示第一张卡号

    long Number=10001;

      在开户时,新增账户的卡号,即为Number,并更改该值,以使下一个账户获得连续值。

    基本要求

      设银行只支持2000个账户,用下面的数组存储用户的信息

    Account array[2000];

    改进意见

    1、要求密码是6位数字字符,身份证号由18位数字字符构成,身份证号最后一位可以是x

    2、用静态数组太浪费空间,改用动态数组

    3、将用户信息改为链表,是更合适的做法

    4、关闭程序前,将数据写入文件,银行的业务信息得以保存。开始运行程序时,再将文件中的数据读入。保存密码时,可以考虑加密。

    5、新增账户的卡号,也可以保存在专门文件中。

    6、账户状态state可以定义为枚举型。

    销户

      输入账号,确认后,将余额全部取完,并将状态state置为2-销户。

      办理销户的账号,其状态必须为“0-正常”(下同)。

    存款

      输入账号、金额,记录存款后的余额。

    取款

      输入账号、金额,记录取款后的余额。

      取款额不能超过余额。

    查询

      输入账号,显示账户信息。

    转账

      输入转出账号、金额、转入账户,记录转账后的余额。

      账户必须存在,扣除转出账户的金额,要与转入账户增加的金额相同。

    挂失

      输入账号,将状态改变为 1-挂失

    解挂

      输入账号,将状态为 1-挂失 的账户状态改为 0-正常

    改密

      用新密码替代旧密码。

      新密码必须与确认密码相同。

    计算利息

    (这属于银行后台管理的功能,不体现在界面上,以上的设计尚不能支持真实系统中的计息功能,故将此作为选做功能。)

      现行银行计息的规则是,每半年计算一次利息,并将利息加到账号余额中。

      如果要计算利息,需要将每一笔存、取、转的信息记录下来,以获得各个时间段内的金额,完成利息计算。

      请自行设计有关的数据结构完成设计

    =================== 迂者 贺利坚 博客专栏=================  |== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==|  |== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|  |== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|  ===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 ===== 相关资源:C 课程设计(家谱管理系统) 报告文档
    最新回复(0)