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.shnenglu.com/Files/honker/CppClass.zip
posted on 2007-04-28 20:18 honker 閱讀(2443) 評論(1) 編輯 收藏 引用 所屬分類: c/c++