




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上机实验报告课程名称: VC++程序设计 实验名称: VC++程序设计实验学生姓名: Masoon班级学号: 指导教师: 实验日期: 2015-06-17 实验1一1 C++编程环境题目输入课件第二章中的任何一个例子中的源代码,调试并运行。代码#includeviostream.h>voidmain(void){intn,right_digit;coutvv"Enterthenumber:";cin>>n;coutvv"Thenumberinreverseorderis";do{right_digit=n%10;coutvvright_digit;n=n/10;}while(n!=0);coutvv"";coutvv"endl";}三.运行结果实验1一2 C++基本语句练习.题目定义一个有10个元素的整形数组并赋初值,同时定义一个指针变量指向该数组,通过对指针变量的循环,将10个数组元素的值累加,最后屏幕输出该数组每个元素的值以及各个元素的累加值。•代码#includeviostream.h>voidmain(){inta[10]={l,2,4,5,6,7,3,6,9,123};int*a_pointer;a_pointer=a;intsum=0;for(inti=0;iv10;i++){sum=sum+(*a_pointer);a_pointer++;}coutvv"thesumis"vvsumvvendl;for(intj=O;jv1O;j++){coutvva[j]vv"";}coutvvendl;}三.运行结果实验2-1 类和对象的基本编程本实验用到的概念有:类、对象以及成员函数。题目用面向对象的思想编写程序,实现两个任意数的相加,并将结果输出到屏幕上。代码#includeviostream.h>classadd{private:inta,b;public:add(inta,intb){this->a=a;this->b=b;}intgetResult(){returna+b;}};voidmain(void){inta,b;coutvv"pleaseentertwonumber:"vvendl;cin>>a;cin>>b;addtest(a,b);coutvv"Theresultis"vvtest.getResult()vvendl;}运行结果
实验2—2类和对象的编程本实验用到的概念有:类、对象、成员函数、构造函数。一.题目编写一个时钟程序,模拟数字时钟的显示。提示:定义一个时钟类Clock,设计成员函数,实现数字时钟的显示(参考课件第三章中的时钟类)。在main()函数中定义对象,并进行时分秒的循环,秒和分从059循环,时从023循环,注意要加延时循环,以模拟实际的数字时钟的显示。二.代码#includeviostream.h>#includevWindows.h>classclock{private:inthour,minute,second;public:clock(inth,intm,ints);voidshowTime(){for(intj=hour;jv24;j++){for(intk=minute;kv60;k++){for(intl=second;lv60;l++){Sleep(lOOO);coutvvjvv":"vvkvv":"vvlvvendl;}second=0;};clock::clock(inth,intm,ints){hour=h;minute=m;second=s;}voidmain(){clockcl(16,18,23);cl.showTime();}三.运行结果实验2—3类和对象的编程本实验用到的概念有:类、对象、成员函数、静态成员以及对象数组。.题目编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算输入学生的平均分。提示:设计一个学生类Stud,除了包括no(学号)、name(姓名)和deg(成绩)数据成员外,有两个静态变量sum和num,分别存放总分和人数,另有两个普通成员函数setdata()和disp(),分别用于给数据成员赋值和输出数据成员的值,另有一个静态成员函数avg(),它用于计算平均分。在main()函数中定义了一个对象数组用于存储输入的学生数据。二.代码#includeviostream>#includevstring>usingnamespacestd;classStude{private:intno;stringname;floatdeg;staticintnum;staticintsum;public:Stude(intno,stringname,floatdeg);voiddisp(){coutvv"thenois:"vvnovvendl;coutvv"thenameis:"vvnamevvendl;cout<<"thedegis:"vvdegvvendl;cout<<"thesumis:"vvsumvvendl;cout<<"thenumis:"vvnumvvendl;}voidavg(){cout<<"theaveragenumberis:"vvsum/numvvendl;}};intStude::sum=0;intStude::num=0;Stude::Stude(intno,stringname,floatdeg){this->no=no;this->name=name;this->deg=deg;num++;sum=sum+deg;}voidmain(void){Studestul(l,"han",88);Studestu2(2,"li",99);Studestu3(3,"xx",70);stu1.disp();stu2.disp();stu3.disp();stu1.avg();}实验三继承性和多态性练习实验3-1 继承性练习本实验用到的概念有:类、对象以及类的派生与继承题目给出下面的基类:classArea{protected:doubleheight;doublewidth;public:……..公有函数自己写};要求:建立两个派生类Box(矩形类)与Isosceles(等腰三角形类),分别用来计算任意矩形和等腰三角形的面积,并编写主程序实现功能。代码#include<iostream.h>classArea{protected:doubleheight;doublewidth;public:voidset(doubleh,doublew){width=w;height=h;}};classBox:publicArea{public:doublegetArea(){returnwidth*height;}};classIsoscede:publicArea{public:doublegetArea(){returnwidth*height/2;}};voidmain(void){doublewidth;doubleheight;intchoice;Boxb;Isoscedeis;cout<<"l.box2.1sos"<<endl;cin>>choice;cout<<"pleaseenterthewidthandheight"<<endl;cin>>width;cin>>height;if(choice=l){b.set(height,width);cout<<"theareofboxis"<<b.getArea()<<endl;}else{is.set(height,width);cout<<"theareaofisoscedeis"<<is.getArea()<<endl;
实验3—2实验3—2多态性练习12pleaseentertheheight:23theareaofboxis:2?6theareofisoscelseis:13SPressanykeytocontinue本实验用到的概念有:类、对象、类的派生与继承以及纯虚函数和抽象类.题目将实验3—1程序中的基类改成抽象类,其它要求不变代码#includeviostream>#includevstring>usingnamespacestd;classArea{protected:doubleheight;doublewidth;public:voidsetSize(doubleh,doublew){this->height=h;this->width=w;}virtualintresult()=0;};classBox:virtualpublicArea{public:intresult。{returnwidth*height;}};classIsosceles:virtualpublicArea{public:intresult(){returnwidth*height/2;}};voidmain(void){intwidth;intheight;coutvv"pleaseenterthewidth:"vvendl;cin»width;coutvv"pleaseentertheheight:"vvendl;cin>>height;Boxb;Isoscelesis;b.setSize(height,width);is.setSize(height,width);coutvv"theareaofboxis:"vvb.result()vvendl;coutvv"theareaofisoscelseis:"vvis.result()vvendl;}实验四VC++与MFC练习实验4-1VC++与MFC练习一本实验是VC++与MFC的练习,需要用到MFC的知识和多个控件题目一个公司人员工资信息系统的设计与开发(用VC++和MFC实现)界面设计类的成员设计(用类向导进行数据成员设计时的抓图)代码运行结果实验4-2VC++与MFC练习二(选作)本实验是VC++与MFC的练习,需要用到MFC的知识和多个控件题目用VC++编写程序,实现系统登录程序的界面设计和编程。界面设计类的成员设计(用类向导进行数据成员设计时的抓图)代码运行结果北京服装学院商学院上机实验报告课程名称: VC++程序设计 实验名称: 一个小型公司人员工资系统的设计与编程实验性质:综合性□/设计性■/—般性口学生姓名: Masoon班级学号: 指导教师: 实验日期: 2015-06-17 一、 实验名称一个公司人员工资信息系统的设计与开发二、 实验目的1.理解面向对象编程的思想;2•掌握类、对象、继承和多态的基本概念和编程方法;4.熟悉VisualC++6.0编程环境、语句和程序的调式。三、 实验内容1•练习面向对象程序设计的一般方法。.2•使用VisualC++的环境编写C++程序。3•练习程序的调试和完善。四、 实验环境软件环境:操作系统:WindowsXP开发工具:VisualC++6.0硬件环境:CPU:Pentium(R)DCPU3.0GHz内存:512M内存五、 实验过程和结果一•题目某小型IT公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。现在该公司需要一个小型的人员信息系统来存储这些人员的姓名、编号、级别、当月薪金、计算月薪总额并输出显示人员的全部信息。人员编号基数为1000,每输入一个人员的信息,其编号顺序加1。经理和销售经理都有级别,经理最高为4级,销售经理最高为3级,兼职技术人员和兼职推销员没有级别(或认为级别为1级,不能改变)。月薪计算方法是:1) 经理的起薪为5000.00(1级),以后每增加1级,工资增加2000元。2) 兼职技术人员按每小时100元领取月薪。3) 销售经理的起薪为3000.00(1级),以后每增加1级,工资增加1000元,除次外,销售经理还领取销售提成,销售提成为其所管辖部门当月销售总额的4%(销售总额为兼职推销员和销售经理的销售额之和)。4) 兼职推销员的月薪按其当月销售额的6%提成。要求:1)通过人机对话方式输入四类人员的基本情况(每类人员各输入一人),由程序算出该人员的月薪和公司当月月薪总额并输出。2)按照该公司人员的层次关系,设计一个基类(其中含纯虚函数),并由此产生若干个派生类,通过类的静态成员变量来记录人员个数(即人员编号)和公司当月工资总额。类结构设计程序的实现方法和程序源代码程序的实现方法程序源代码程序运行结果//employeeDIg.cpp:implementationfile//#include"stdafx.h"#include"employee・h"#include"employeeDlg.h"#ifdef.DEBUG#definenewDEBUG.NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=_FILE_;#endif///////////////////////////////////////////////////////////////////////////////CAboutDlgdialogusedforAppAboutclassCAboutDlg:publicCDialog{public:CAboutDlg();//DialogData〃{{AFX_DATA(CAboutDlg)enum{IDD=IDD_ABOUTBOX};〃}}AFX_DATA//Classwizardgeneratedvirtualfunctionoverrides〃{{AFX_VIRTUAL(CAboutDlg)protected:virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport〃}}AFX_VIRTUAL
//Implementationprotected:〃{{AFX_MSG(CAboutDlg)〃}}afx_msgDECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg():CDialog(CAboutDlg::IDD){〃{{AFX_DATA_INIT(CAboutDlg)〃}}AFX_DATA_INIT}voidCAboutDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);〃{{AFX_DATA_MAP(CAboutDlg)//}}afx_data_map}BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)〃{{AFX_MSG_MAP(CAboutDlg)//Nomessagehandlers〃}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////pParent//CEmployeeDlgdialogpParentCEmployeeDlg::CEmployeeDlg(CWnd*/*=NULL*/):CDialog(CEmployeeDlg::IDD,pParent){〃{{AFX_DATA_INIT(CEmployeeDlg)m_edit_name=_T("");m_edit_whsm=_T("");m_str_whsmtitle=_T("");〃}}afx_data_init//NotethatLoadicondoesnotrequireasubsequentDestroylconinWin32m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);m_index=2;m_number=1001;m_totalsalary=0Om_totalsales=0・0;}voidCEmployeeDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);〃{{AFX_DATA_MAP(CEmployeeDlg)DDX_Control(pDX,IDC_EDIT_NAME,m_ctr_name);DDX_Control(pDX,IDC_LIST,m_ctr_list);DDX_Control(pDX,IDC_EDIT_WHSM,m_ctr_whsm);DDX_Control(pDX, IDC_COMBO2_GRADE,m_combo_grade);DDX_Control(pDX,IDC_COMBO1_JOB,m_combo_job);DDX_Text(pDX,IDC_EDIT_NAME,m_edit_name);DDX_Text(pDX,IDC_EDIT_WHSM,m_edit_whsm);DDV_MaxChars(pDX,m_edit_whsm,10);DDX_Text(pDX, IDC_STATIC_WHSMTITLE,m_str_whsmtitle);7/}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CEmployeeDlg,CDialog)〃{{AFX_MSG_MAP(CEmployeeDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_CACULATE,OnCaculate)ON_BN_CLICKED(IDC_QUIT,OnQuit)ON_CBN_SELENDOK(IDC_COMBO1_JOB,OnSelendokComboUob)〃}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CEmployeeDlgmessagehandlersBOOLCEmployeeDlg::OnlnitDialog(){CDialog::OnlnitDialog();//Add"About・・・"menuitemtosystemmenu・//IDM_ABOUTBOXmustbeinthesystemcommandrange・ASSERT((IDM_ABOUTBOX&OxFFFO)==IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX<0xF000);CMenu*pSysMenu=GetSystemMenu(FALSE);if(pSysMenu!=NULL){CStringstrAboutMenu;strAboutMenu・LoadString(IDS_ABOUTBOX);if(!strAboutMenu・lsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);}//Settheiconforthisdialog・Theframeworkdoesthisautomatically//whentheapplication'smainwindowisnotadialogSetlcon(m_hlcon,TRUE);//SetbigiconSetlcon(m_hlcon,FALSE);//Setsmallicon//TODO:Addextrainitializationherem_combo_job・SetCurSel(0);m_combo_grade.SetCurSel(0);m_ctr_whsm・EnableWindow(FALSE);m_ctr_list.AddString("编号姓名职务 ■级别 工作小时销售额工 资");m_ctr_list・AddString("==========================");UpdateData(false);returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}voidCEmployeeDlg::OnSysCommand(UINTnID,LPARAMlParam){if((nID&0xFFF0)==IDM_ABOUTBOX){CAboutDlgdlgAbout;dlgAbout・DoModal();else{CDialog::OnSysCommand(nID,IParam);}}//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow//todrawtheicon・ForMFCapplicationsusingthedocument/viewmodel,//thisisautomaticallydoneforyoubytheframework.voidCEmployeeDlg::OnPaint(){if(IsIconic()){CPaintDCdc(this);//devicecontextforpaintingSendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);//CentericoninclientrectangleintcxIcon=GetSystemMetrics(SM_CXICON);intcylcon=GetSystemMetrics(SM_CYICON);CRectrect;GetClientRect(&rect);intx=(rect.Width()-cxIcon+1)/2;inty=(rect・Height()-cylcon+1)/2;//Drawtheicondc.DrawIcon(x,y,m_hIcon);}-else{CDialog::OnPaint();}//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags//theminimizedwindow・HCURSORCEmployeeDlg::OnQueryDraglcon(){return(HCURSOR)m_hIcon;}-voidCEmployeeDlg::OnSelendokCombo1Job(){//TODO:Addyourcontrolnotificationhandlercodehereintselect=m_combo_job・GetCurSel();meditname="";meditwhsm="";m_ctr_name・SetFocus();switch(select){case0:m_str_whsmtitle="m_ctr_whsm・EnableWindow(FALSE);m_combo_grade・ResetContent();m_combo_grade.AddString("1");m_combo_grade.AddString("2");m_combo_grade.AddString("3");m_combo_grade.AddString("4");m_combo_grade・SetCurSel(0);break;case1:m_combo_grade・ResetContent();m_combo_grade・AddString("1");m_combo_grade・SetCurSel(0);m_ctr_whsm・EnableWindow(TRUE);m_ctr_whsm.LimitText(3);m_str_whsmtitle="请输入工时(小时)";break;case2:m_combo_grade・ResetContent();m_combo_grade.AddString("1");m_combo_grade・SetCurSel(0);m_ctr_whsm.EnableWindow(TRUE);m_ctr_whsm・LimitText(8);m_str_whsmtitle="请输入销售额(元)";break;case3:m_combo_grade・ResetContent();m_combo_grade・AddString("1");m_combo_grade・AddString("2");m_combo_grade・AddString("3");m_combo_grade・SetCurSel(0);m_ctr_whsm・EnableWindow(TRUE);m_ctr_whsm・LimitText(8);m_str_whsmtitle="请输入销售额(元)";break;}UpdateData(false);}voidCEmployeeDlg::OnCaculate(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(true);if(m_edit_name==""){--AfxMessageBox("姓名不能为空,请重输!!!");m_ctr_name・SetFocus();return;}TOC\o"1-5"\h\zintjob=m_combo_job・GetCurSel();intgrade=m_combo_grade・GetCurSel();c_workhours=" ";csalesamount=" ":switch(job){case0:c_salesamount=" ";m_salary=3000.00+200O・00*(float)grade;break;case1:m_workhours=atoi(m_edit_whsm);if(m_workhours==0){-AfxMessageBox("工作时数不能为空,请重输!!!");m_ctr_whsm・SetFocus();return;c_workhours・Format(" %d",m_workhours);str=c_workhours;c_workhours=str・Right(11);m_salary=100・00*(float)m_workhours;break;default:m_salesamount=atof(m_edit_whsm);if(m_salesamount==0.0){-AfxMessageBox("销售额不能为空,请重输!!!");m_ctr_whsm・SetFocus();return;}c_salesamount・Format(" %f",m_salesamount);pos=c_salesamount・Find("・")+3;c_salesamount=c_salesamount・Left(pos);str=" "+c_salesamount;c_salesamount=str・Right(11);mtotalsales+=msalesamount;if(job==2){m_salary=0・04*m_salesamount;}-if(job==3)m_salary=3O0O・O0+1000・00*(float)grade+0・05*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030穿孔机项目可行性研究报告
- 2025-2030稀土发光材料行业市场发展分析及发展趋势与投资管理策略研究报告
- 2025-2030电炒锅行业投资机会及风险投资运作模式研究报告
- 2025-2030瓜尔胶产业市场深度调研及发展趋势与投资战略研究报告
- 2025-2030熟食市场投资前景分析及供需格局研究研究报告
- 2025-2030热缩管行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030激光防护眼镜(LPEs)行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030滑雪装备行业销售模式预测及未来竞争战略规划报告
- 2025-2030汾酒行业市场深度分析及前景趋势与投资研究报告
- 2025-2030水溶性肥料行业市场现状供需分析及投资评估规划分析研究报告
- 2025年山东省鲁信投资控股集团招聘笔试参考题库含答案解析
- 诚信与社会主义和谐社会
- 2025年安徽国控资本有限公司招聘笔试参考题库含答案解析
- 2025数据中心基础设施标识标志
- 厦门房地产经纪机构备案表-厦门房地产中介行业协会
- 如何利用+Agent+解决企业数据分析与洞察的经验探索-数势科技+李飞
- 2025年中石化招聘笔试参考题库含答案解析
- 2024年度微生物菌剂产品试用与反馈协议3篇
- 货物码放安全培训
- 甲亢课件教学课件
- 危险化学品理化性质培训
评论
0/150
提交评论