中南大学C++实验报告
- 格式:doc
- 大小:281.50 KB
- 文档页数:18
中南大学本科生课程设计(实践)任务书、设计报告(C++语言程序设计)题目多功能集成程序系统学生姓名闵杰指导教师罗芳学院材料科学与工程专业班级材料类1003学生学号**********计算机基础教学实验中心2011 年 6 月 30 日《集合简单计算、信息管理、绘图及多媒体系统设计》C++实践报告关键词:C++程序设计MFC[.exe] 面向对象计算信息管理绘图播放器一、引言1.1实践任务:1、计算程序设计。
如:计算器、一元二次方程的求解、华氏温度和摄氏温度之间的转换、求阶乘等。
2、文本编辑程序设计。
3、绘图程序设计。
如:吹泡泡程序、曲线等图形绘制。
4、信息管理程序设计。
能完成信息的添加、删除和修改等功能。
5、多媒体程序设计。
如:音频播放器、flash动画播放器等。
1.2实践目的:当今社会是信息时代,科技的高速发展要求我们能过熟练掌握并运用新的科学技术。
而信息的获取需要我们能够掌握应用程序的深层代码,运用所掌握的计算机程序知识对数据进行管理。
C++是由C发展而来的,与C兼容。
所以它可以用于面向过程的结构化程序设计,但是它又有自己的特点,它也可以用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。
通过本次实践,1、可以加深我们对面向对象的认识,巩固C++的基础知识,了解基于对话框的应用程序、文档/视图应用程序的框架结构和运行机制,初步掌握创建MFC应用程序的方法、过程。
2、掌握常用的控件的重要属性、主要消息、常用成员函数,并熟练地应用这些控件设计应用程序。
3、掌握绘制图形的方法、定时器的使用,鼠标消息处理函数和键盘消息处理函数的编写、对话框使用和菜单设计的技术。
4、培养我们的独立思考、设计综合程序的能力;同时培养自学能力;训练小论文撰写能力。
因此,计算机程序设计是大多数专业的必修课。
随着软件工程技术的不断发展,面向对象的程序设计方法已成为当今软件开发的主流技术,我们肩负着博采众长的使命,运用好该程序将使我们受益匪浅。
C++程序设计报告一、前言我认为安排此次课程设计的目的,是让同学们在独立完成设计、编写、调试应用程序及编写文档的任务的过程中,及时巩固已学的知识,补充未学但是非常重要的知识,提高程序设计的能力。
针对C++语言中的重点和难点内容,如数组和函数等,进行训练,并且能充分发挥独立自主学习的能力,对于在程序设计和调试中遇到的问题,应积极和同学交流,相互学习,共同进步二、正文1.(1)题目:任意输入一个正整数,要求:(1)求它是几位数;(2)按逆序输出各位数字;(3)求奇数位数字之和。
(2)算法分析分离出每一末位数字,然后输出;判断是否为奇数位,将奇数位数字相加求和;利用循环结构进行编程,每位数字逐一进行分离、判断。
(3)程序:程序要有详尽注释,如:各参数的含义、函数的功能等#include<iostream>using namespace std;void main(){int n,m,s=0,i=0; //定义变量cout<<"请输入一个正整数n"<<endl;cin>>n;do{m=n%10;// n对10取模,得到该数的最后一位数字cout<<m;//逆序输出每位数字n/=10;i++;if(i%2==1)//判断是否为奇数位{s+=m;}//各奇数位数字之和}while(n>0); //循环一次,计算一次,共循环i次cout<<"共有"<<i<<"位数字"<<endl;cout<<"奇数位之和是:"<<s<<endl;}(4)运行结果(5)调试过程中出现过的问题和解决的方法2.(1)题目:输入阶数n(1≤n≤10),输出对应的n阶旋转矩阵。
所谓旋转矩阵,就是在n阶矩阵中,起始数1置于方阵的左上角,然后从起始数开始依次递增,按顺时针方向从外向里旋转填数而成。
中南大学化学化工学院《C++语言程序设计》实践报告专业班级:姓名:学号:同组人员:指导教师:完成日期:目录第一题(必做) (3)1.题目 (3)2.系统功能模块结构图 (4)3.数据结构设计及说明(程序) (5)4.程序结构(流程图) (10)5.各模块的功能 (15)6.运行结果 (16)第二题(必做) (21)1.题目 (21)2.数据结构设计及说明(程序) (21)3.程序结构(流程图) (24)4.运行结果 (25)第三题(选做) (26)第四题(选做) (26)1.题目 (26)2.系统功能模块结构图 (27)3.数据结构设计及说明(程序) (27)4.程序结构(流程图) (30)5.各模块的功能 (31)6.运行结果 (31)总结及参考文献 (35)第一题一、题目:使用菜单选择趣味程序△ 菜单是应用程序的界面,控制语句用来改变程序执行的顺序,是实现结构化设计的基础。
△ 本题的任务是设计一个比较实用的菜单,通过菜单选择不同的功能。
△ 本题的设计分两步:(1)先设计一个含有多个菜单项的菜单演示程序;A 、菜单内容:程序运行后,给出六个菜单项的内容和输出提示 1、FindNum 2、FindRoot 3、Detective 4、Bear 5、Curve 6、YearDay 7、Goodbye!B 、设计要求:使用数字1-7来选择菜单项,其他输入则不起作用。
(2)再为上述菜单项配上相应的功能,即以上述菜单的设计为基础,增加菜单项的处理功能。
菜单设计要求(这是6道编程题,要求在运行菜单时,能给出每个程序的运行结果): 1、FindNum有0、1、2、3、4、5、6、7、8、9十个数,按要求填入下列算式中,要求每 个数只使用一次,首位数不能为零,输出时显示所有可能的组合并统计个数。
□ □ □ + □ □ □ = □ □ □ □ 2、FindRoot求方程0133=--x x 在区间[-8,8]内的全部实根。
2017中南大学C++实践报告MFC编程中南大学本科生课程设计(实践)任务书、设计报告(大学计算机基础)题目MFC程序设计实践报告学生姓名张雪宁指导教师童键学院土木工程学院专业班级土木国际1602班学生学号1209160225计算机基础教学实验中心2017年 6 月 26日一、任务描述这次实践主要采用的是自主学习的方式,在我们已有的C++知识基础上,自学MFC编程,并完成《C++语言课程设计任务书》中指定任务与要求,在这次实践中,要求学会使用visual C++ MFC编程来完成《C++语言课程设计任务书》中的任务,任务涵盖以基本对话框为应用程序的框架,完成单文档界面(SDI)应用程序。
要求学会运用常用的基本控件,如静态文本框、命令按钮、编辑框、复选框、列表框、组合框、滚动条等。
本次实践可分为两个主要内容:1、基于对话框的Windows应用程序:这部分以知识要点掌握与编程实例主辅结合的方式求我们基本掌握基于对话框的应用程序的创建过程,建立基于对话框的MFC 应用程序框架,放置控件并设置控件属性,以及为控件连接变量(即为控件命名),添加并且编写消息处理函数。
在这部分实践中,按照任务书中要求按照任务书所给的实例,要求基本掌握基于对话框的MFC 应用程序中各常用的基本控件的使用。
2、文档/视图结构应用程序:文档/视图结构的思想是将数据的管理与显示分离,其中文档用于管理应用程序的数据,而视图是用户界面,用于显示、打印文档中的数据,并管理与用户的交互。
在这部分实践过程中,要求对任务书中介绍的几种SDI结构的典型应用程序来了解其结构及设计方法,学习和实践了典型应用包括:利用画笔、画刷等工具及位图处理的方法实现文字和图形的输出。
利用定时器控件制作动画程序。
对鼠标和键盘进行编程的基本方法。
文件、字体、颜色等几种通用对话框的使用方法及自定义对话框的设计、调用方法以及菜单的设计方法。
3、多文档界面(MDI )应用程序:这类程序可以同时打开多个文档并进行处理,处理的过程中很容易地进行切换。
中南大学c语言课程实践报告Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】中南大学??C语言程序设计实践报告??????题目学生信息管理系统学生姓名张眼指导教师刘伟荣学院信息科学与工程学院专业班级电气信息1113班完成时间 2012年6月28日星期四?printf("\t\t\t|学生信息管理系统欢迎您|\n");printf("\t\t\t+---------------------------+\n");printf("\t\t\t+设计者:张眼\n");printf("\t\t\t+指导老师:刘伟荣\n");printf("重要提示:为保证您的操作得到保存,请按正常顺序退出系统!谢谢合作\n");do{printf("\n\t\t\t+++++++++++++++++++++++++++++\n");printf("\t\t\t|**菜单**|\n");printf("\t\t\t+++++++++++++++++++++++++++++++++\n");printf("\t\t\t*[1]----录入/插入学生信息*\n");printf("\t\t\t*[2]----浏览学生信息*\n");printf("\t\t\t*[3]----查询学生信息*\n");printf("\t\t\t*[4]----删除学生信息*\n");printf("\t\t\t*[5]----修改学生信息*\n");printf("\t\t\t*[6]----不及格学生列表*\n");printf("\t\t\t*[7]----成绩信息查询*\n");printf("\t\t\t*[8]----平均成绩*\n");printf("\t\t\t*[0]----退出系统*\n");printf("\t\t\t********************************\n");printf("请输入您的选择:");scanf("%d",&z);switch(z){case0:tc();break;case1:lr();break;case2:ll();break;case3:cx();break;case4:sc();break;case5:xg();break;case6:bj();break;case7:kc();break;case8:pj();break;default:printf("\n无效选项!");}}while(z!=0);}②输入模块:输入部分包括学生的姓名,学号等基本信息以及学生的大学物理,英语,微积和信号的成绩,可以通过函数void lr() 实现此功能。
中南大学《高级程序设计实践(C++)》课程设计报告设计题目教学设备管理系统指导老师设计者专业班级设计日期目录一课题的基本内容和要求二程序功能简介三主体内容:1 设计分析2 程序整体结构3 部分模块的结构4 相关模块源程序5 操作方法6试验结果7设计体会8 参考文献一基本内容和要求(一)基本要求本设计采用教师指导、学生自学和独立编程操作方式,先由学生查阅与本设计有关的书籍和资料,利用Visual C++ 6.0设计环境与开发工具,在两周时间内,完成课程设计内容中的一个管理系统,具体要求如下:1、独立思考:独立完成课程设计中各任务的设计和调试。
2、上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。
3、数据管理:管理系统中的数据可用数据库(如Access数据库)的形式保存,也可用普通文件(文本文件或二进制文件)的形式保存。
4、程序要求:界面美观、可操作性强、稳定性好。
(二)基本内容:教学设备管理系统为方便管理学校教学设备,编写一个教学设备管理系统软件。
系统记录必须包括设备编号、设备名称、生产厂家、购置日期、台数、单价、及备注等。
二程序功能简介(1)添加:增加一台设备的记录到管理系统中。
(2)查询:可以根据设备编号查找某台设备的相关信息,若找到则显示其信息。
(3)修改:在管理系统中修改一台设备的记录。
(4)保存:将所有教学设备信息保存在一个文件中(数据库文件或普通的文本文件)。
(5)读取:从文件中读取已保存了数据。
(6)删除:从管理系统中删除一条记录。
(7)恢复:能恢复被删除的记录。
(8)统计:(A)统计每页合计台数及金额;(B)累计设备的总台数及总金额;(C)统计单价在:200元以下、200~800元之间和800元以上的设备总台数及总金额。
(D)以表格形式打印教学设备明细表。
(9)其他:可以根据自己的思路设计其他功能。
三主体内容1 设计分析根据问题描述和要求,系统要求能够添加设备,按设备编号查询,修改,保存,读取,删除,恢复设备的信息。
中南大学《C++课程设计》设计报告题目C++课程设计学生姓名学号专业班级数学类0901指导老师袁修贵数学科学与计算技术学院2010年6月一、实验目的、内容1.用户任意输入一个年份以及该年的1月1日是星期几,而后再输入该年的任意一个月份,由程序负责在屏幕上按照你所设计的格式显示出这一个月的月历。
思考:利用元年元月元日(即1年1月1日)是星期一的已知事实,可对程序进行改造,让用户仅输入任意一个年份和一个月份,则程序就应按格式显示出该年那一个月的月历。
2.编写程序,从键盘读入一个文本文件名字(可带路径),为该文件中的所有单词建立一个词汇索引。
按字母顺序显示所有单词(仅一次),后面紧跟着它们所在的行号。
大写与小写字母被认为是相同的。
例如,对于下列的输入文件:To be ornot to be,that is the question.产生的词汇索引如下:be 1 2is 3not 2or 1question 3that 3the 3to 1 23.模拟计算器程序问题描述设计一个程序来模拟一个简单的手持计算器。
程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。
基本要求程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’ 符号后,窗口显示出结果。
测试数据程序输入不少于5种不同的表达式进行测试。
实现提示可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。
二、实验程序设计及结构1、需求分析○1对需求的信息进行模糊查询○2模拟电子辞典○3模拟计算器2、设计结构(1)#include <stdio.h>#include <stdlib.h>int a[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};int main(){int i,n,s = 0,r = 0,year,month,days = 0,day,date = 1;int b[42] ={1,2,3,4,5,6,7}; //日历中的星期puts("Please input the weekday of date month 1/day 1:");scanf("%d",&n);puts("Please input the date you want:");scanf("%d%d%d",&year,&month,&day);if((year % 4 == 0 && year % 100 != 0)||year % 400 == 0)a[2] = 29;for(i=1;i<month;i++)days += a[i];s = day + days;if((s + n - 1) >= 7)s = (s + n - 1) % 7;elses = s + n - 1;printf("weekday:");switch(s){case 0: puts("7\n");break;case 1: puts("1\n");break;case 2: puts("2\n");break;case 3: puts("3\n");break;case 4: puts("4\n");break;case 5: puts("5\n");break;case 6: puts("6\n");break;}if((days +n)>= 7)r = (days + n)%7;elser = days +n;for(i = 0;i < 42;i++){if(i == r + 6&&date < a[month]) {b[i] = date;date++;r++;}printf("%d\t",b[i]);if(i > 5&&(i+1) % 7 == 0)printf("\n");}return 0;}(2)#include <iostream>#include <fstream>#include <vector>#include <string>using namespace std;typedef struct _unit{string word;int line;}unit;int main(){vector<unit> list;ifstream in;string fileName;cout<<"输入文件路径: ";cin>>fileName;in.open(fileName.c_str());if (in.fail()){cout<<"文件打开错误,退出"<<endl;exit(0);}unit temp;int lineNumber = 1;while(!in.eof()){in>>temp.word;temp.line = lineNumber;list.push_back(temp);if (in.peek()=='\n'){lineNumber++;}}in.close();bool isIn = false;vector<string> copy;for (unsigned int i=0; i<list.size(); i++) {isIn = false;for (unsigned int j=0; j<copy.size(); j++) {if (list[i].word == copy[j]){isIn = true;break;}}if (!isIn)copy.push_back(list[i].word);}vector<int> lineNo;for (unsigned int m=0; m<copy.size(); m++){for (unsigned int n=0; n<list.size(); n++){if (list[n].word == copy[m]){lineNo.push_back(list[n].line);}}lineNo.push_back(0);}int current=0;for (unsigned int o=0; o<copy.size(); o++){cout<<copy[o]<<" ";for (unsigned int p=current; p<lineNo.size(); p++){if (lineNo[p] == 0){current=p+1;break;}elsecout<<lineNo[p]<<" ";}cout<<endl;}return 0;}(3)#include <stdio.h>#include <string>#include <cctype>#include <iostream>#include <map>#include <sstream>#include <strstream>using namespace std;istream* input; // pointer to input streamint no_of_errors; // note: default initialized to 0double error(const char* s){no_of_errors++;cerr << "error: " << s << '\n';return 1;}enum Token_value {NAME, NUMBER, END,PLUS='+', MINUS='-', MUL='*', DIV='/',PRINT=';', ASSIGN='=', LP='(', RP=')'};Token_value curr_tok = PRINT;double number_value;string string_value;Token_value get_token(){char ch;do { // skip whitespace except '\en'if(!input->get(ch)) return curr_tok = END;} while (ch!='\n' && isspace(ch));switch (ch) {case ';':case '\n':return curr_tok=PRINT;case '*':case '/':case '+':case '-':case '(':case ')':case '=':return curr_tok=Token_value(ch);case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case '.':input->putback(ch);*input >> number_value;return curr_tok=NUMBER;default: // NAME, NAME=, or errorif (isalpha(ch)) {string_value = ch;while (input->get(ch) && isalnum(ch))string_value += ch; // string_value.push_back(ch); // to work around library buginput->putback(ch);return curr_tok=NAME;}error("bad token");return curr_tok=PRINT;}}map<string,double> table;double expr(bool); // cannot do withoutdouble prim(bool get) // handle primaries{if (get) get_token();switch (curr_tok) {case NUMBER: // floating-point constant{ double v = number_value;get_token();return v;}case NAME:{ double& v = table[string_value];if (get_token() == ASSIGN) v = expr(true); return v;}case MINUS: // unary minusreturn -prim(true);case LP:{ double e = expr(true);if (curr_tok != RP) return error(") expected"); get_token(); // eat ')'return e;}default:return error("primary expected");}}double term(bool get) // multiply and divide {double left = prim(get);for (;;)switch (curr_tok) {case MUL:left *= prim(true);break;case DIV:if (double d = prim(true)) {left /= d;break;}return error("divide by 0");default:return left;}}double expr(bool get) // add and subtract {double left = term(get);for (;;) // ``forever''switch (curr_tok) {case PLUS:left += term(true);break;case MINUS:left -= term(true);break;default:return left;}}int main(int argc, char* argv[]){switch (argc) {case 1: // read from standard inputinput = &cin;break;case 2: // read argument string// input = new istringstream(argv[1]);input = new istrstream(argv[1]);break;default:error("too many arguments");return 1;}table["pi"] = 3.1415926535897932385; // insert predefined names table["e"] = 2.7182818284590452354;while (*input) {get_token();if (curr_tok == END) break;if (curr_tok == PRINT) continue;cout << expr(false) << '\n';}if (input != &cin) delete input;return no_of_errors;d}三、设计过程写出设计过程,实验源代码可不写出,但实验中出错信息及处理方法及解决错误的方法要写。
《C++程序设计》上机实验报告上机内容:C++程序的运行环境和运行一个C++程序的方法数据类型和表达式专业班级:电气信息类1203班学号:0909120320姓名:李湖日期:2013年3月16日目录1.实验目的2.实验内容3.程序源码4.调试结果5.实验心得程序设计实验(一)1、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个C程序(3)通过运行简单的C++程序,初步了解C++源程序的结构和特点。
应学会在一种以上的编译环境下运行C++的程序,建议学习并掌握Visual C++ 6.0和GCC(RHIDE和DJGPP)的使用方法。
2、实验内容和步骤(1)检查所用所用的计算机系统是否已安装了C++编译系统,并确定他所在的子目录。
如果使用的是Windows操作系统,可以按以下步骤进行:如果想查找Visual C++ 6.0,可以单击Windows桌面上“开始”按钮,在菜单中选择“查找”窗口,在“名称”栏中输入文件名“Microsoft Visual C++ 6.0”,请注意搜索范围,应当使“搜索”栏中的内容为“C:\”,表示从C盘根目录开始寻找,即搜索整个C盘。
单击“开始查找”按钮,系统会自动在指定的范围内找寻所需的文件,如果找到,就会显示出文件路径,如“C:\Windows 000\StartMean\Program\Microsoft Visual Studio 6.0,表示在C:\Windows 000\Start Mean\Program\Microsoft Visual Studio 6.0文件中有Visual C++ 6.0。
也可以选择Windows桌面上的“开始”—>“程序”命令,在其弹出的菜单中选择“Microsoft Visual Studio 6.0”命令,再在其子菜单中查有无“Microsoft Visual C++ 6.0”命令。
如果在安装时采用系统提供的默认方式安装,应该在这个位置找到Microsoft Visual C++ 6.0。
如果想查找RHIDE和DJGPP,只须选择“开始”—>“查找(F)”—>“文件或文件夹(F)”命令,并指定RHIDE和DJGPP即可。
(2)在Visual C++环境下编译和运行C++程序。
在第一次上机时,按以下步骤建立和运行C++程序:①先进入Visual C++ 6.0环境。
②按照第15章15.2节介绍的方法,在自己指定的子目录中建立一个名为test.cpp的新文件(此事尚未向文件输入内容)。
③从键盘输入以下程序(第1章第8题):int main();{int a,b;c=a+b;cout>>”a+b=”>>a+b;}④选择Build—>Compile test.cpp命令,对此源程序进行编译。
观察和分析编译信息。
⑤根据编译信息指出的错误,修改程序。
再进行编译,如果还有错,再重复此过程,直到编译不出错为止。
⑥选择Build—>Compile test.exe命令,对程序进行连接,如果不出错,就会生成可执行程序test.exe。
⑦选择Build—>Compile test.exe命令,之行可执行程序test.exe。
观察屏幕的变化。
在输入窗口应显示程序运行结果。
⑧分析结果是否正确,如果不正确或认为输入格式不理想,可以修改程序,然后重新执行以上步骤④~⑧。
此外,还可利用已有的一个源程序建立一个新程序。
由于刚才已建立了一个名为test.cpp的源程序,可以用它为基础建立一个新程序。
这样更方便些。
按以下步骤:①通过“资源管理器”或“我的电脑”,按文件路径找到已有源程序test.cpp。
②双击“test.cpp”图标,进入Visual C++集成环境,打开test.cpp.③在test.cpp基础上将源程序修改为以下内容(第1章第9题):#include<iostream>using namespace std;int main(){int a,b;c=add(a, b);cout<<”a+b=”<<c<<endl;return 0;}int add(int x, int y);{z=x+y;return(z);}④选择File—>Save as命令,用新的文件名other.cpp保存。
此时,other.cpp与test.cpp在同一子目录下。
⑤对新文件other.cpp进行编译、连接、运行。
步骤与前相同。
(3)在RHIDE环境下用GCC来编译和运行C++程序。
如果有条件,最好能够用GCC来编译C++程序,以掌控两种(或更多)的编译系统的使用方法,并且可以对不同的编译系统的特点做些比较。
关于GCC的初步认识和使用方法已在第16章中介绍。
DJGPP是GCC在DOS\W indows平台上的实现,其配套的集成环境为RHIDE。
①找到RHIDE所在的子目录,双击RHIDE图标,进入RHIDE集成环境,②输入第1章第8题中的程序,然后按第16章中介绍的方法对它进行编译、连接和运行。
如果编译有错,应修改程序,直到正确运行为止。
③输入第1章第9题中的程序,然后对它进行编译、连接和运行。
如果编译有错,应修改程序,直到正确运行为止。
(4)请读者思考以下问题,并上机进行试验。
假如已建立了两个C++源程序c1.cpp和c2.cpp。
先用open打开c1.cpp,并完成了编译、连接和运行,再打开c2.cpp,对它进行编译和连接。
此时会出现什么问题?原因何在?怎样解决?3、程序源代码第1章第8题:int main();{int a,b;c=a+b;cout>>”a+b=”>>a+b;第1章第9题:#include<iostream>using namespace std;int main(){int a,b;c=add(a, b);cout<<”a+b=”<<c<<endl;return 0;}int add(int x, int y);{z=x+y;return(z);}4、调试结果5、实验心得编写程序代码时应当认真细心,严格按照程序编写规则进行编写,并尝试了解使用多种编译工具,提高编程能力。
程序设计实验(二)·1.实验目的(1)掌握C++语言数据类型,熟悉如何定义变量,以及对它们赋值的方法。
(2)学会使用C++有关运算符,以及包含这些运算符的表达式。
(3)进一步熟悉C++程序的结构。
(4)进一步熟悉C++程序的编程、编译、连接和运行的过程。
2.实验内容(1)用同一个程序,改变其输入值,让计算机输出不同的结果,分析所得到的结果,进一步掌握不同类型的程序间赋值的规律。
例如:输入以下程序#include<iostream>using namespace std;int main (){int a,b;char c1,c2;cin>>a>>b;c1=++a;c2=b++;cout<<“c1=”<<c1<<”,c2=”<<c2<<endl;return 0;}在运行时先后输入1,97 972,97 3533,40 644,-212 -216(2)输入并运行一些程序,写出应得结果,上机后将两者作比较分析。
(3)输入下面的源程序#include<iostream>Using namespace std;{int i,j,m,n;i=8;j=10;m=++i+j++;cout<<i<<’\t’<<j<<’\t’<<m<<’\t’<<n<<endl;return 0;}1,运行程序,注意i,j,m,n各变量的值。
2,将第7,8行改为m=i+++j++;n=(i++)+(j++)+m;再编译、运行,分析结果。
m=i+++j++;的含义是:m=(i++)+(j++);为清晰可见,最好在容易令人费解的地方加括号。
在分别将第九行的语句和cout语句改一下,在编译,运行,分析结果。
(4)编译一个翻译密码的程序。
4,#include<iostream>using namespace std;int main(){char c1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’;C1+=4;C2+=4;C3+=4;C4+=4;C5+=4;cout<<”password is :”<<c1<<c2<<c3<<c4<<c5<<endl;return 0;}3.程序源码1,#include<iostream>using namespace std;int main (){int a,b;char c1,c2;cin>>a>>b;c1=++a;c2=b++;cout<<“c1=”<<c1<<”,c2=”<<c2<<endl;return 0;}2,#include<iostream>using namespace std;int main(){char c1=’C’,c2=’+’,c3=’+’;cout <<”I say :\””<<c1<<c2<<c3<<’\””;cout<<”\t\t”<<”he says:\C++ is very interesting!\””<<’\n’; return 0;}3,#include<iostream>using namespace std;{int i,j,m,n;i=8;j=10;m=++i+j++;cout<<i<<’\t’<<j<<’\t’<<m<<’\t’<<n<<endl; return 0;}4,#include<iostream>Using namespace std;Int main(){Char c1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’;C1+=4;C2+=4;C3+=4;C4+=4;C5+=4;Cout<<”password is :”<<c1<<c2<<c3<<c4<<c5<<endl; Return 0;}4.调试结果1,1,2,3,4,实验心得1,通过尝试编译不同的C++程序,我感受到了,C++程序中任意改变一个数据,其输出的结果就会有很大的区别,所以在编译的过程中一定要保证细致和严谨的态度,不能因为粗心大意使得结果与正确答案相距胜远。