C++课程设计

    前些阵子做了C++课程设计,在此将程序源码公布,以便同学之间交流.题目如下:
1.编写函数bool syntaxCheck(const char* s),功能是检查字符串s中的{和}、
[和]、(和)是否匹配,即是否符合C语言的语法要求。
2.(5分) 不使用库函数,实现函数char*strStr(char* s, char* t),功能是在s
中查找t的第一次出现。若出现,返回出现的位置,否则返回0。
3. (5分)编写函数,实现对数组中是否存在某个元素的二分检索。
4. (5分)编写函数,实现对数组元素的快速排序。
5. (5分)定义一个类,以2个整数为数据成员,提供构造函数、数据成员的访问方
法和计算最大公约数和最小公倍数方法。
6.(5分) 根据下述描述创建一个时间类Time,具有h、m、s(时分、秒)属性,成
员访问方法和其它方法:
class Time
{ int h, m, s;
  public:
    Tmie(int hx = 0, int mx = 0, int sx = 0);
    ...; //成员访问方法
    Time& increaseSecond(int s);       //增加秒
    Time& increaseMinute(int m);       //增加分
    Time& increaseHour(int h);         //增加小时
    bool equal(const Time&);           //判定是否相等
    void print();                      //输出
};
7.(10分)设计一个字符串类,要求具有计算字符串长度、两个字符串大小比较、
两个字符串连接等功能。
细节要求:
   (1)构造:可利用字符串对象,指针,整数,字符,浮点数构造一个字符串以及
拷贝构造对象;
   (2)运算:提供字符串加法,关系运算(即比较字符串大小运算),赋值运算;
   (3)转换:转换为C 语言字符串,字符串长度,大小写转换,删除字符串前后空
格,字符串与整数和浮点数转换等。
   (4)输入输出:支持输入输出插入运算>>和<<。
8.(10分)设计一个能存放整数的一维向量(数组)类Vector,具有以下功能:
   (1)数组的建立和输入输出。
   (2)对向量的运算符+,-,+=,-=进行重载。
   (3)一般操作。
   细节要求:
   构造:可利用向量对象和C的一维数组构造向量对象以及拷贝构造对象;
   向量支持一般的数据类型
   (3)运算:提供重新设置向量长度,向量加、减、乘(内积)运算以及拷贝构造
对象
   (4)输入输出:支持输入输出插入运算>>和<<。
9.(10分)设计一个能存放整数的列表(链表)类List,具有以下功能:
   (1)利用双向链表形成List类并可进行输入输出。
   (2)对列表的运算符+,-,+=,-=进行重载。
   (3)一般操作。
   细节要求:
   构造:可利用链表对象和C 的一维数组构造链表对象以及拷贝构造对象;
   链表支持一般的数据类型
   (3)运算:提供诸如添加、删除节点等操作
   (4)输入输出:支持输入输出插入运算>>和<<。
10.(10分)定义一个学生类,使其具有学号、姓名(长度不定)、高数、外语和C++
程序设计三门课的成绩属性,以及各属性访问方法、求总成绩、求平均成绩、设置
和显示学生信息方法。此外,在main函数中以定义学生数组方法模拟一个班的学生
信息,利用独立定义函数方式给出常见情况的统计,如最高成绩、最低成绩、平均
成绩、学生信息列表等。
11.(30分)实现一个计算器类,支持加、减、乘、除等基本运算。

源代码下载:http://www.cppblog.com/Files/honker/CppClass.zip


posted on 2007-04-28 20:18 honker 阅读(2423) 评论(1)  编辑 收藏 引用 所属分类: c/c++

评论

# re: C++课程设计 2007-04-29 19:44 空明流转

丫怎么都放着标准库不用啊!
strstr如果要求用kmp或者rk算法还差不多...  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

常用链接

留言簿(3)

随笔分类(10)

随笔档案(14)

相册

搜索

最新评论

阅读排行榜

评论排行榜