前些陣子做了C++課程設(shè)計(jì),在此將程序源碼公布,以便同學(xué)之間交流

.
題目如下:1.編寫函數(shù)bool syntaxCheck(const char* s),功能是檢查字符串s中的{和}、
[和]、(和)是否匹配,即是否符合C語(yǔ)言的語(yǔ)法要求。
2.(5分) 不使用庫(kù)函數(shù),實(shí)現(xiàn)函數(shù)char*strStr(char* s, char* t),功能是在s
中查找t的第一次出現(xiàn)。若出現(xiàn),返回出現(xiàn)的位置,否則返回0。
3. (5分)編寫函數(shù),實(shí)現(xiàn)對(duì)數(shù)組中是否存在某個(gè)元素的二分檢索。
4. (5分)編寫函數(shù),實(shí)現(xiàn)對(duì)數(shù)組元素的快速排序。
5. (5分)定義一個(gè)類,以2個(gè)整數(shù)為數(shù)據(jù)成員,提供構(gòu)造函數(shù)、數(shù)據(jù)成員的訪問(wèn)方
法和計(jì)算最大公約數(shù)和最小公倍數(shù)方法。
6.(5分) 根據(jù)下述描述創(chuàng)建一個(gè)時(shí)間類Time,具有h、m、s(時(shí)分、秒)屬性,成
員訪問(wèn)方法和其它方法:
class Time
{ int h, m, s;
public:
Tmie(int hx = 0, int mx = 0, int sx = 0);
...; //成員訪問(wèn)方法
Time& increaseSecond(int s); //增加秒
Time& increaseMinute(int m); //增加分
Time& increaseHour(int h); //增加小時(shí)
bool equal(const Time&); //判定是否相等
void print(); //輸出
};
7.(10分)設(shè)計(jì)一個(gè)字符串類,要求具有計(jì)算字符串長(zhǎng)度、兩個(gè)字符串大小比較、
兩個(gè)字符串連接等功能。
細(xì)節(jié)要求:
(1)構(gòu)造:可利用字符串對(duì)象,指針,整數(shù),字符,浮點(diǎn)數(shù)構(gòu)造一個(gè)字符串以及
拷貝構(gòu)造對(duì)象;
(2)運(yùn)算:提供字符串加法,關(guān)系運(yùn)算(即比較字符串大小運(yùn)算),賦值運(yùn)算;
(3)轉(zhuǎn)換:轉(zhuǎn)換為C 語(yǔ)言字符串,字符串長(zhǎng)度,大小寫轉(zhuǎn)換,刪除字符串前后空
格,字符串與整數(shù)和浮點(diǎn)數(shù)轉(zhuǎn)換等。
(4)輸入輸出:支持輸入輸出插入運(yùn)算>>和<<。
8.(10分)設(shè)計(jì)一個(gè)能存放整數(shù)的一維向量(數(shù)組)類Vector,具有以下功能:
(1)數(shù)組的建立和輸入輸出。
(2)對(duì)向量的運(yùn)算符+,-,+=,-=進(jìn)行重載。
(3)一般操作。
細(xì)節(jié)要求:
構(gòu)造:可利用向量對(duì)象和C的一維數(shù)組構(gòu)造向量對(duì)象以及拷貝構(gòu)造對(duì)象;
向量支持一般的數(shù)據(jù)類型
(3)運(yùn)算:提供重新設(shè)置向量長(zhǎng)度,向量加、減、乘(內(nèi)積)運(yùn)算以及拷貝構(gòu)造
對(duì)象
(4)輸入輸出:支持輸入輸出插入運(yùn)算>>和<<。
9.(10分)設(shè)計(jì)一個(gè)能存放整數(shù)的列表(鏈表)類List,具有以下功能:
(1)利用雙向鏈表形成List類并可進(jìn)行輸入輸出。
(2)對(duì)列表的運(yùn)算符+,-,+=,-=進(jìn)行重載。
(3)一般操作。
細(xì)節(jié)要求:
構(gòu)造:可利用鏈表對(duì)象和C 的一維數(shù)組構(gòu)造鏈表對(duì)象以及拷貝構(gòu)造對(duì)象;
鏈表支持一般的數(shù)據(jù)類型
(3)運(yùn)算:提供諸如添加、刪除節(jié)點(diǎn)等操作
(4)輸入輸出:支持輸入輸出插入運(yùn)算>>和<<。
10.(10分)定義一個(gè)學(xué)生類,使其具有學(xué)號(hào)、姓名(長(zhǎng)度不定)、高數(shù)、外語(yǔ)和C++
程序設(shè)計(jì)三門課的成績(jī)屬性,以及各屬性訪問(wèn)方法、求總成績(jī)、求平均成績(jī)、設(shè)置
和顯示學(xué)生信息方法。此外,在main函數(shù)中以定義學(xué)生數(shù)組方法模擬一個(gè)班的學(xué)生
信息,利用獨(dú)立定義函數(shù)方式給出常見情況的統(tǒng)計(jì),如最高成績(jī)、最低成績(jī)、平均
成績(jī)、學(xué)生信息列表等。
11.(30分)實(shí)現(xiàn)一個(gè)計(jì)算器類,支持加、減、乘、除等基本運(yùn)算。
源代碼下載:http://www.shnenglu.com/Files/honker/CppClass.zip