首页 > 技术文章 > 小项目,一个一个试着完成!

makeitworth 2014-04-02 13:15 原文

(较难)通讯的小程序,支持文件传输,并支持断点传输。

1、 【中】编写一段程序,找出小于500 的所有符合勾股定理的三角形的三条边长,并统计 

   执行的循环次数和三角形总数,写入文件。 

   如:3 4 5;4 3 5 ;5 12 13;…;475 132 493 ;…; 483 44 485; 5912 loops are executed ; 

   772 triples are found. 



2、 【易】请编写一段程序,帮助小学生学习乘法。应用 rand 生成 100  以内的两个整数, 

   程序利用这两个整数输出如下的问题:How much is 16 times 27?然后由学生来计算答案。 

   如果正确,输出“very good !”并提问另一个问题,直到答对5 题结束。如果答案错误, 

   输出“No,please try again.”让学生重新计算这个问题,直到答案正确则进入下一题。 



3、 【中】编写程序实现 “筛选法”求2-999 之间的所有质数。“筛选法”操作过程如下: 

     (1)  创建一个数组,将其所有元素都初始化为 1                    (true )。下标为质数的元素保持 

             为1 不变,其它元素都逐一设置为0. 

     (2 )  从数组下标为2 的数开始,每次发现值为1 的数组元素时,遍历数组中的剩 

             余元素,把其中下标是它的倍数的那些元素置为0.如对于数组下标2 来说, 

            4,6,8…等下标的数组元素都置为 0 ;对于数组下标 3  来说,6,9,12…等下标的 

             数组元素都置为0 ;依次类推。 

     (3 )  完成这一工作后,数组元素为1 的下标即为质数。 



4 、 【易】编写一段简单的用户密码保护程序。 

    (1) 输入用户密码不超过20 个字符,如果超过,则截断; 

    (2 ) 提示重新输入用户密码以确认前次输入的正确性,如果两次输入不一致,则要 

          求重新输入,直至输入正确; 

    (3 ) 对用户密码进行加密,函数encrypt 将一个字符指针作为参数,通过指针加1 实 

          现加密; 

    (4 ) 对用户密码进行相反过程的解密,函数decrypt 实现解密后的输出。 

          输出举例: 

          Enter your password: this is a secret 

          Re-enter your password:hello 

          Invalid password 

          Enter your password again: this is a secret 

          Re-enter your password: this is a secret 

          Your encrypted password: uijt!jt!b!tfdsfu 



5、 【中】编写一段程序描述农场里的猫 Cat,每次出生一只小猫,就将猫放到围栏里,这 

   个围栏可以容纳7 只猫: 

    (1) 每只小猫出生时都会随机赋予一种皮毛颜色 (black/gray/brown),还将被随机赋 

          予一种眼睛颜色(green/blue/brown )。对于这两种属性,都要有get 和set 方法。 

    (2 ) 将猫放到围栏中时,某些组合会引起争斗,如果灰猫比棕色猫多,会打架;如 

          果有一只黑色棕眼睛的猫,同时至少一直黑色绿眼睛猫和至少一只黑色蓝眼睛 

          猫,也会发生争斗,编写check 的非成员函数确定猫是否会打架。 



6、 【中】创建一个IntSet 类,使其能够存储一个整数集合。 

    (1) 应用new 和delete 操作符进行动态内存分配; 


----------------------- Page 2-----------------------

    (2 ) 定义UnionSet 成员函数,实现两个已有集合的“并”操作; 

    (3 ) 定义InterSet 成员函数,实现两个已有集合的“与”操作; 

    (4 ) 重载输出运算符<< ,实现集合元素的打印,每个数字之间用空格分开,所有数 

          字包含在{}中。 



7、 【中】编写一个简易计算器,对两个double 型变量进行加、减、乘、除和指数操作,并 

   得到结果: 

    (1) 应用继承,使得每个算术运算互相分离,互不影响 

    (2 ) 设计工厂类,随机调度操作类型 

    (3 ) 应用多态,使得主程序对任意运算的调用方式都一致 



8、 【易】开发一个交通工具Vechile  的层次体系。创建四个类Vechile 、Ship 、Car、Truck 。 

    (1) Vechile 类有名称、颜色、型号三个属性,有print()和horn()// 鸣笛 两个方法 

    (2 ) Ship 和car 从vechile 类继承而来,Truck 从Car 继承而来 

    (3 ) 实例化的派生类对象插入到一个Vechile 容器中,对于容器内的每个对象,输出 

          喇叭声和基本信息。 



9、 【易】采用合成的方式编写Point、Square 和Cube 类,即Square 包含Point 对象,Cube 

   包含Square 对象,要求输出三种对象的类型、信息和面积。 



10、      【易】请编写一段程序实现一个向量的排序 



11、      【易】编写程序实现文件的合并功能。 



12、      【易】有n 个整数,使前面各数顺序向后移动m 个位置,最后n-m 个数变成最前 

   面的数。编写一个函数实现。 



13、      【易】编写一个模板函数,实现一个整数、长整数、浮点数和双精度数除以2 的计 

   算。动态生成各种类型的数据测试该模板函数。 



14、      【中】编写一个用户登录程序: 

    (1) 输入用户名和用户密码,如果用户名不存在,或者密码错误,提示重新输入; 

    (2 ) 根据用户类型 (管理员、注册用户、游客),输出不同的操作菜单; 

    (3 ) 用户信息保存在文件中 



15、      【中】编写超市收银程序,要求根据商品单价、数量和促销方式计算总价: 

    (1) 促销方式有打折 (不同折扣率)、直降 (不同降价)和全价三种方式; 

    (2 ) 随机生成促销方式; 

    (3 ) 从键盘输入单价、数量和促销方式,输出应收价 (不促销)和实收价 

    (4 ) 可重复计算,直到用户输入end 结束程序。

推荐阅读