C语言作业(5)

2019-04-22 07:57

int n = sqrt(MAX) +1 ; for( i=2; i< n; i++) { }

for( i = 2 ; i

if( isPrime[i])

cout<< i <

//素数的整数倍不是素数,从而筛选掉所有不是素数的数 if(isPrime[i]) { }

for(int j=2*i; j

isPrime[j]=false;

return 0; }

(2) 课程管理程序

设计程序对学生选修课程情况进行记录和管理。一名学生可选修多门课程,每条课程记录包括课程名,学分,选修学期和成绩等信息。要求进行如下操作: 1) 输入多个学生的选修课程信息,以清晰的格式写到文件中; 2) 修改某个学生的选课记录,增加新选修的课程; 3) 在文件中查找某个学生的信息,输出所有选修的课程; 4) 删除某个学生的所有选课信息

5) 核查所有不满足毕业条件学生名单(如选修学分不足、某学期不及格课程超过3科等)。

(3)图书馆管理系统

开发图书馆管理系统,完成图书的登记,查询和借阅等功能:定义Book, Reader, Manager等类,管理员拥有对图书信息的录入,查询, 修改,增添与删除等权限;读者拥有查询图书和个人借阅信息等权限;要求用文件记录所有图书和用户信息。请

给出规范额完整的UML类图,设计书和实现代码。

3.思考题:

结合上机的体会,回答下列问题.

(1)C++引入了I/O流实现输入输出,与 C语言相比,这种输入输出方法有哪些优点? (2)文本文件与随机文件有什么本质区别?分别适用于什么情况?

(3)比较随机读写与顺序读写的不同,是否文本文件只能进行顺序读写操作,二进制文件只能进行随机读写操作?

(4)请举例说明IO流中的成员函数getline()与get()的使用有何区别。

实验7 运算符重载、模板

1、

实验目的和要求:

(1) 掌握运算符重载的语法要点,学会运算符重载的编程方法。 (2) 理解函数模板、类模板,应用模板函数、模板类。 2、

实验内容

(1) 先读程序,写出程序的输出结果,再运行程序验证程序的输出。用友元重载方式重新编写程序。 #include using namespace std; class Vector { public: Vector(){}

Vector(int i,int j) {x=i;y=j;}

friend Vector operator+=(Vector v1,Vector v2) { v1.x+=v2.x; v1.y+=v2.y; return v1; }

Vector operator-=(Vector v) { Vector temp; temp.x=x-v.x; temp.y=y-v.y; return temp; }

void display()

{ cout<<\private:

};

int x,y;

void main() {

Vector v1(1,2),v2(3,4),v3,v4; v3=v1+=v2; v4=v1-=v2; cout<<\ v1.display(); cout<<\ v2.display(); cout<<\ v3.display(); cout<<\ v4.display(); }

(2) 定义一个有理数类,重载比较运算符.写一个完整的程序,进行数据成员的设置和输出。

class rational {private: long denom,den;

//denom为分子,den为分母 public:

rational(int num=0, int denom=1; int operator<(rational r) const; int operator<=(rational r) const; int operator= =(rational r) const; int operator!=(rational r) const;

//这里增加赋值和读出函数 }

(3) 设计一个复数类,并重载+,-,×,/ 和 <<运算符。写完整程序并调试。 (4)用类模板方式设计一个栈类stack,其中有两个私有数据成员:s[](存放栈元素)和top(栈顶元素下标),以及3个公有成员函数:push(元素入栈)、pop(元素出栈)和stackempty(判断栈是否为空),并建立一个整数栈和一个字符栈。 const int Max=20; template < class T> class stack {

T s[Max]; int top;

(5)用函数模板方式设计一个函数模板sort,采用直接插入排序方式对数据进行排序,并对整数序列和字符序列进行排序。 template < class T> void sort(T a[], int n)

3、思考题:

(1) 什么时候用模板函数,什么时候用函数重载?

(2)cout为什么可以直接输出 int类型,double类型等数据类型数据? (3)为什么引入运算符重载?

(4)函数模板与同名函数重载的调用规则是什么?

实验8 windows程序设计

1. 实验目的:

键盘消息和鼠标消息综合运用;熟悉文档/视图结构;掌握文档读写的基本方法;掌握MFC消息映射和命令传递内部机制和学会使用消息映射处理方法的使用;掌握MFC应用程序框架中各种文件的组成和功能用法;对话框和控件的综合应用。 2. 实验内容:

(1)编写一个简单绘图程序MyDraw,要求实现下列功能:

(a)当用户在客户区按下鼠标左键并移动时,根据鼠标移动的轨迹绘制出指定的线段; (b)重绘窗口时能够显示已绘制的线段,并且能够保存绘制好的图形在磁盘文件中; (c)添加键盘消息处理程序,判断当前按下的键是否是Y或y键,并给出相应提示 (2)编写一个windows应用程序,要求在窗口的用户区中绘制一个圆,当单击鼠标左键时,该圆放大,单击右键时,该圆缩小,按下Ctrl键的同时移动鼠标,则该圆会随鼠标的移动而移动。

(3)编写一个Windows应用程序,在窗口用户区中绘制一个矩形,用键盘上的上下左右光标键可以使该矩形分别向4个方向移动,当按下键盘上的Home键时该矩形会从左上角方向增大,当按下键盘上的End键时该矩形会从右下角放下光缩小,当单击鼠标左键时该矩形会恢复到原始尺寸。

(4)编写一个对话框应用程序,实现具有+、-、*、/功能的简单计算器。

(5)定义一个对话框应用程序,具有注册功能和登陆功能。用户有帐户信息和密码;注册时要求帐户不能重复;注册、登陆成功或失败用AfxMessageBox提示。 3. 思考题

结合编程实践思考下列问题:

(1)简述构成文档/视图结构应用程序框架的4个MFC派生类,并说出它们的功能。 (2)在文档/视图结构的应用程序中,视图类的对象是如何来获取文档类对象中的数据的? (3)简述在应用程序的窗口中使用一个控件的步骤。


C语言作业(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新《济宁市建设工程质量“运河杯”奖评选办法》

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: