高分请求各位支援,下周二要考试了!!搞不定!这几个vc题!!

asd123yx 2004-12-24 11:07:04
2.有一个文档视图结构的多文档应用程序框架,在视图类的成员函数体内编写程序,要求:在屏幕的中央显示一个圆,在圆的中心显示一个注记——“武汉大学”(蓝色),鼠标点击圆的内部能够弹出一个对话框,显示圆的面积和周长。(所写的程序段需注明属于那个函数内,或者如有必要,可以自己添加成员函数)(10分)

void CMyGis2View::OnDraw(CDC* pDC)
{
}

void CMyGis2View::OnLButtonDown(UINT nFlags, CPoint point)
{
CView::OnLButtonDown(nFlags, point);
}
3.有一段数字和字符,请按照ASCⅡ表的顺序设计一个排序算法进行排序,并将排序后的结果输出到文件名为result.dat的纯文本文件中。(需要写出一个完整的函数体,不能使用任何库函数):(10分)
WUHAN R129 WHU 1893 Ress Gis Wh RS


...全文
106 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zephyr518 2004-12-25
  • 打赏
  • 举报
回复
void CMyGis2View::OnDraw(CDC* pDC)
{
CRect rect;
CPoint center;
CString str = "武汉大学";

GetClientRect(&rect); //得到客户区矩形
center = rect.CenterPoint(); //得到客户区中心
rect.SetRect( //根据中心和半径设置圆所在矩形
center.x-100,
center.y-100,
center.x+100,
center.y+100
);
pDC->Ellipse(rect); //根据矩形绘制圆
pDC->SetTextColor(RGB(0,0,255));//设置字体颜色
pDC->TextOut(center.x-30,center.y-5,str);//显示字符串"武汉大学"
}

void CMyGis2View::OnLButtonDown(UINT nFlags, CPoint point)
{
CRect rect;
CString str;
CRgn rgn;
CPoint center;

GetClientRect(&rect); //找到客户区矩形
center = rect.CenterPoint(); //找到客户区中心点
rect.SetRect( //跟据中心点和圆半径设置圆所在矩形
center.x-100,
center.y-100,
center.x+100,
center.y+100
);
rgn.CreateEllipticRgnIndirect(&rect); //根据举行设置圆形区域对象

if (rgn.PtInRegion(point)) { //判断当前点击的位置是否在圆形区域内
str.Format("圆半径:%.2lf 圆周长: %.2lf",3.14*100*100,2*3.14*100);
AfxMessageBox(str); //计算面积,半径并显示
}

CView::OnLButtonDown(nFlags, point);
}
sonic_andy 2004-12-25
  • 打赏
  • 举报
回复
void Sort(char* str, int length)
{
ofstream out("result.dat");
char temp;
int max;
int i;
int j;

for (i=0; i<length; i++) {
max = i;
for (j=i; j<length; j++) {
if (str[j] > str[i]) {
max = j;
}
}
if (max != i) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
out<<str[i];
}
}
sonic_andy 2004-12-25
  • 打赏
  • 举报
回复
void CMyGis2View::OnDraw(CDC* pDC)
{
CRect rect;
CPoint center;
CString str = "武汉大学";

GetClientRect(&rect); //得到客户区矩形
center = rect.CenterPoint(); //得到客户区中心
rect.SetRect( //根据中心和半径设置圆所在矩形
center.x-100,
center.y-100,
center.x+100,
center.y+100
);
pDC->Ellipse(rect); //根据矩形绘制圆
pDC->SetTextColor(RGB(0,0,255));//设置字体颜色
pDC->TextOut(center.x-30,center.y-5,str);//显示字符串"武汉大学"
}

void CMyGis2View::OnLButtonDown(UINT nFlags, CPoint point)
{
CRect rect;
CString str;
CRgn rgn;
CPoint center;

GetClientRect(&rect); //找到客户区矩形
center = rect.CenterPoint(); //找到客户区中心点
rect.SetRect( //跟据中心点和圆半径设置圆所在矩形
center.x-100,
center.y-100,
center.x+100,
center.y+100
);
rgn.CreateEllipticRgnIndirect(&rect); //根据举行设置圆形区域对象

if (rgn.PtInRegion(point)) { //判断当前点击的位置是否在圆形区域内
str.Format("圆半径:%.2lf 圆周长: %.2lf",3.14*100*100,2*3.14*100);
AfxMessageBox(str); //计算面积,半径并显示
}

CView::OnLButtonDown(nFlags, point);
}
hjunxu 2004-12-25
  • 打赏
  • 举报
回复
同学,作业还是自己做吧。
alphakiller 2004-12-25
  • 打赏
  • 举报
回复
2.ascii码都有一个对应的整型常量,用起泡法就行了
dream_sy 2004-12-25
  • 打赏
  • 举报
回复
在OnDraw中用GetClientRect(&rect),取的中心点,画半径为r的圆就是了,然后在OnLButton中检测鼠标是否点中这个圆了,点中了就显示一个对话框了
asd123yx 2004-12-24
  • 打赏
  • 举报
回复
如果不够再补!!痛苦中!!望各位支持一下!给出完整的答案!

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧