实验目的
1. 掌握c++中类c部分的编程知识: 数据类型,常量,变量,运算符,表达式,分支结构,循环结构
2. 掌握C++中数据输入和输出的基本方法
3. 熟练使用c++程序开发环境,掌握c++程序编写、编译、运行、调试的方法
实验准备
实验前,请围绕以下内容结合教材、网络检索学习指定内容。
1. 开发环境使用 devc++中编写、运行c++程序的步骤 code::blocks中编写、运行、调试c++程序的步骤 参考链接 vs2017中编写、运行、调试c++程序的步骤 参考链接
2. 简单的c++程序结构 学习/复习教材「2.1.3 C++程序实例」
3. c++中数据输入输出的基本方法
学习/复习教材2.3节,学习C++中I/O流、预定义的插入符<<和提取符>>的基本用法。
4. if语句、switch语句、while语句、do…while语句的用法 学习/复习教材2.4节,通过示例理解背后简单算法及c++分支语句、循环语句的用法。
5. 自定义数据类型: typedef,枚举类型用法 学习/复习教材2.5节,结合示例理解枚举类型和int型在类型转换时的注意事项。
实验内容
Part1: 验证性内容
   在c++开发环境中编写、编译、运行、调试一个简单的c++程序

   运行2.4节所有编程示例,理解c++编程基础及I/O流对象cin,cout的基本用法
Part2: 编程练习
教材第2章习题2-28     教材第2章习题2-29      教材第2章习题2-32     教材第2章习题2-34

2-28 实现一个简单的菜单程序,运行时显示"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:",提示用户输入。A表示增加,D表示删除,S表示排序,Q表示退出。输入为A、D、S时分别提示“数据已经增加、删除、排序”,输入为Q时程序结束。

(1)使用 if...else 语句

#include<iostream>
using namespace std;
int main(){
char m;
while()
{
cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:";
cin>>m;
if(m=='A')
cout<<"Data has added"<<endl;
else if(m=='D')
cout<<"Data has deleted"<<endl;
else if(m=='S')
cout<<"Data has sorted"<<endl;
else if(m=='Q')
break;
else
cout<<"Data error"<<endl;
}
}

运行结果

(2)使用switch语句

#include<iostream>
using namespace std;
int main(){
char m;
while(){
cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:";
cin>>m;
if(m=='Q')
break;
switch(m){
case 'A':cout<<"Data has added"<<endl;break;
case 'D':cout<<"Data has deleted"<<endl;break;
case 'S':cout<<"Data has sorted"<<endl;break;
default:cout<<"Data error"<<endl;break;
}
}
return ;
}

运行结果

2-29 用穷举法找出1~100间的质数并显示出来。分别使用while,do···while,for循环语句实现。

(1)使用while语句

#include<iostream>
#include<math.h>
using namespace std;
int main(){
int number=,i;
while(number<){
i=;
while(i<=sqrt(number)&&number%i!=){
i++;
}
if(i>sqrt(number))
cout<<number<<" ";
number++;
}
return ;
}

运行结果

(2)使用do···while语句

#include<iostream>
#include<math.h>
using namespace std;
int main(){
int number=,i;
do{
i=;
do{
i++;
}while((i<=sqrt(number)&&number%i!=));
if(i>sqrt(number))
cout<<number<<" ";
number++;
}
while(number<);
return ;
}

运行结果

(3)使用for语句

#include<iostream>
#include<math.h>
using namespace std;
int main(){
int number,i;
for(number=;number<;number++){
for(i=;i<sqrt(number);i++)
if(number%i==)
break;
if(i>sqrt(number))
cout<<number<<" ";
}
return ;
}

运行结果

2-32 在程序中定义一个整型变量,赋予1~100的值。要求用户猜这个数,比较两个数的大小,把结果提示给用户,直到猜对为止。分别使用while,do···while语句实现循环。

(1)使用while语句

#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
srand(time(NULL));
int random_number=rand()%+;
cout<<"Enter the number you guess between 1 and 100:";
int guess_number;
cin>>guess_number;
int wrong=;
while(wrong)
{
if(random_number>guess_number){
cout<<"bigger than your guess,guess again:";
cin>>guess_number;
}
else if(random_number<guess_number){
cout<<"smaller than your guess,guess again:";
cin>>guess_number;
}
else{
cout<<"congratulations!Guessed it!"<<endl;
wrong=;
}
}
return ;
}

运行结果

(2)使用do···while语句

#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
srand(time(NULL));
int random_number=rand()%+;
cout<<"Enter the number you guess between 1 and 100:";
int guess_number;
cin>>guess_number;
int wrong=;
do
{
if(random_number>guess_number){
cout<<"bigger than your guess,guess again:";
cin>>guess_number;
}
else if(random_number<guess_number){
cout<<"smaller than your guess,guess again:";
cin>>guess_number;
}
else{
cout<<"congratulations!Guessed it!"<<endl;
wrong=;
}
} while(wrong);
return ;
}

运行结果

2-34口袋中有红、黄、蓝、白、黑5种颜色的球若干。每次从口袋中取出3个不同颜色的球,问有多少种取法?

(1)有序的取法

#include<iostream>
using namespace std;
enum Ball{Red,Yellow,Blue,White,Black};
void transform(int number);
int main(){
int count=;
for(int catch1=Red;catch1<=Black;catch1++)
for(int catch2=Yellow;catch2<=Black;catch2++)
for(int catch3=Blue;catch3<=Black;catch3++)
{
transform(catch1);
transform(catch2);
transform(catch3);
cout<<endl;
count++;
}
cout<<"There are "<<count<<" ways"<<endl;
return ;
}
void transform(int number){
switch(number){
case Red:cout<<"Red ";break;
case Yellow:cout<<"Yellow ";break;
case Blue:cout<<"Blue ";break;
case White:cout<<"White "; break;
case Black:cout<<"Black";break;
}
}

运行结果

(2)无序的取法

#include<iostream>
using namespace std;
enum Ball{Red,Yellow,Blue,White,Black};
void transform(int number);
int main(){
int count=;
for(int catch1=Red;catch1<=Black;catch1++)
for(int catch2=catch1+;catch2<=Black&&catch2>catch1;catch2++)
for(int catch3=catch2+;catch3<=Black&&catch3>catch2;catch3++)
{
transform(catch1);
transform(catch2);
transform(catch3);
cout<<endl;
count++;
}
cout<<"There are "<<count<<" ways"<<endl;
return ;
}
void transform(int number){
switch(number){
case Red:cout<<"Red ";break;
case Yellow:cout<<"Yellow ";break;
case Blue:cout<<"Blue ";break;
case White:cout<<"White "; break;
case Black:cout<<"Black";break;
}
}

运行结果

评论:

https://www.cnblogs.com/zcq1224/p/10544256.html

https://www.cnblogs.com/wmy0621/p/10543834.html

https://www.cnblogs.com/pink-fairy/p/10546289.html

实验1:C++简单程序设计(1)的更多相关文章

  1. 实验一 c++简单程序设计

    一.实验内容 1.ex 2_28 (1) 用if...else判断 #include<iostream> using namespace std; int main() { char i; ...

  2. 实验1:c++简单程序设计(1)

    //文中有格式错误请无视 //这个编辑器一言难尽 实验目的 1. 掌握c++中类c部分的编程知识: 数据类型,常量,变量,运算符,表达式,分支结构,循环结构 2. 掌握C++中数据输入和输出的基本方法 ...

  3. 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...

  4. 160809209_李梦鑫_C语言程序设计实验3 循环结构程序设计

    <C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吉吉老师 实验地点 C05 ...

  5. 20145206《Java程序设计》实验二Java面向对象程序设计实验报告

    20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  6. 20145208 实验三 Java面向对象程序设计

    20145208 实验三 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...

  7. 20162330 实验四 《Android程序设计》 实验报告

    2016-2017-2 实验报告目录: 1 2 3 4 5 20162330 实验四 <Android程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1623 ...

  8. 20162302 实验四《Android程序设计》实验报告

    实 验 报 告 课程:程序设计与数据结构 姓名:杨京典 班级:1623 学号:20162302 实验名称:Android程序设计 实验器材:装有Android Studio的联想拯救者80RQ 实验目 ...

  9. java实验四《Android程序设计》实验报告

    一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:张士洋 学号:20165308 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 15:25 实验序号:08 ...

  10. 2017-2018-2 20165312 实验四《Android程序设计》实验报告

    2017-2018-2 20165312 实验四<Android程序设计>实验报告 一.安装Android Studio并进行Hello world测试和调试程序 安装Android St ...

随机推荐

  1. 【zabbix教程系列】六、自动注册(Linux)

    一.agent安装脚本 #!/bin/bash #ltt #安装zabbix源 rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zab ...

  2. 通过后缀名和MIME-TYPE检查实现文件类型校验

    前言 文件上传是一个在开发中很常见的需求场景,通常出于安全考虑,我们会对上传的文件进行类型校验,其中常见的有后缀名校验,mime-type校验 话不多说,直接上代码 1.首先定义允许上传的文件类型白名 ...

  3. java &与&& |与||的区别

    一.与操作和或操作的区别 (1)在Java程序中,使用与操作,要求所有表达式的判断结果都是TRUE,才为真,若有一个为FALSE,那么最终判断结果则为FALSE (2)使用或操作,只要其中有一个表达式 ...

  4. Spring MVC 使用介绍(十四)文件上传下载

    一.概述 文件上传时,http请求头Content-Type须为multipart/form-data,有两种实现方式: 1.基于FormData对象,该方式简单灵活 2.基于<form> ...

  5. ubuntu14.04按照mysql5.7

    1.安装mysql5.5 https://www.cnblogs.com/zhuyp1015/p/3561470.html https://www.cnblogs.com/ruofengzhishan ...

  6. windows下提权基础

    拿到webshell很多时候代表渗透的开始,下面带来windows提权基础 环境:虚拟机 win7系统 首先:查看权限whoami 我们知道windows的高权限应该是administrator和sy ...

  7. Python爬虫之三

    1)使用Scrapy,什么叫做Scrapy Scrapy,Python开发的一个快速.高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据 ...

  8. 浅谈JS中逗号运算符的用法

    阅读本文的前提是,你能区分什么是表达式,什么是语句.还有明确运算符和运算数都是些啥东西.所谓的表达式就是一个JavaScript的"短语",JavaScript的解释器可以计算它, ...

  9. <div>标签仿<textarea>。contentEditable=‘true’,赋予非表单标签内容可以编辑

    需求:web页面需要一个文本输入框.1.该文本输入框默认状态下有个仿‘placeholder’的默认文本提示信息,2.文本框输入状态下其高度会随文本内容自动撑开. 方案选择:1.使用<texta ...

  10. Java基础 -- Collection和Iterator接口的实现

    Collection是描述所有序列容器(集合)共性的根接口,它可能被认为是一个“附属接口”,即因为要表示其他若干个接口的共性而出现的接口.另外,java.util.AbstractCollection ...