结构化编程与面向对象编程案例.doc_第1页
结构化编程与面向对象编程案例.doc_第2页
结构化编程与面向对象编程案例.doc_第3页
结构化编程与面向对象编程案例.doc_第4页
结构化编程与面向对象编程案例.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

*音乐播放器*定义一个歌曲清单,程序进行顺序播放,歌曲清单中可以包含不同格式的文件(如MP3,WAV)void main()String songs = new StringMAX; /定义一个字符串数组,存放音频文件名songs0 = new String(“c:彩虹.wav”);songs1 = new String(“d:天路.mp3”);songs2 = new String(“c:铃儿响叮当.wav”);playMusic(songs);void playMusic(String list)fot(int i=0; i=5) messageBox.show(您已经借满了5本书); /提示读者借书已达限额 else int amount = getStockAmount(bookID); /查询某本书的在架数量 if(amount0) /有库存 updateStock(bookID, amount-1);/某书的在架数量减1 saveLoan(bookID, readerID);/保存借书记录 else messageBox.show(该书已全部借出); 面向对象的借书程序:Class Book Class Reader Class Loan void lendBook(string bookID, string readerID)Book b1 = new Book(bookID);Reader r1 = new Reader(readerID);if(r1.isBorrowed(bookID) /查读者是否已借该书 messageBox.show(你已经借阅了此书); /提示已借此书else if(r1.getBorrowedAmount()=5)/查询读者借书数量 messageBox.show(您已经借满了5本书); /提示读者借书已达限额else int amount = b1.getStockAmount(); /查询某本书的在架数量 if(amount0) /有库存 b1.updateStock(amount-1);/某书的在架数量减1 Loan l1 = new Loan(b1, r1); l1.save();/保存借书记录 else messageBox.show(该书已全部借出); *栈*结构化程序设计#define STACK_SIZE 128struct myStackint stackSTACK_SIZE;int top;void initStack(myStack s) s.top = 0;bool isEmpty(myStack s)Return( (s.top=0) );bool push(int item, myStack s) if (s.top = STACK_SIZE) return False; s.stacks.top+ = item; return True;bool pop(int &item, myStack s) if (s.top = 0) return False; item = s.stack-s.top; return True;面向对象程序设计:template / 栈的元素类型为 Tclass Stack public: / 栈的运算集void clear();/ 变为空栈 bool push(const T item); / item入栈,成功则返回真,否则返回假 bool pop(T & item);/ 返回栈顶内容并弹出,成功返回真,否则返回假 bool top(T& item);/ 返回栈顶内容不弹出,成功返回真,否则返回假bool isEmpty(; / 若栈已空返回真 bool isFull(); / 若栈已满返回真 ;template class arrStack : public Stack private: / 栈的顺序存储int mSize;/ 栈中最多可存放的元素个数inttop;/ 栈顶位置,应小于mSizeT *st;/ 存放栈元素的数组public: / 栈的运算的顺序实现arrStack(int size) / 创建一个给定长度的顺序栈实例mSize = size; top = -1;st = new TmSize;arrStack() / 创建一个顺序栈的实例 top = -1;arrStack() / 析构函数 delete st;void clear() / 清空栈内容top = -1;bool arrStack:push(const T item) if (top = mSize-1) / 栈已满 cout 栈满溢出 endl; return false;else / 新元素入栈并修改栈顶指针 st+top = item; return true;bool arrStack:pop(T & item) / 出栈的顺序实现if (top = -1) / 栈为空 cout 栈为空,不能执行出栈操作 endl; return false;else item = sttop-;/ 返回栈顶元素并修改栈顶指针 return true;bool arrStack: top(T & item) / 返回栈顶内容,但不弹出if (top = -1) / 栈空 cout 栈为空,不能读取栈顶元素 endl; return false;else item = sttop;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论