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

//文中有格式错误请无视

//这个编辑器一言难尽

实验目的



1. 掌握c++中类c部分的编程知识: 数据类型,常量,变量,运算符,表达式,分支结构,循环结构

2. 掌握C++中数据输入和输出的基本方法

3. 熟练使用c++程序开发环境,掌握c++程序编写、编译、运行、调试的方法

实验准备



1. 简单的c++程序结构 学习/复习教材「2.1.3 C++程序实例」

2. c++中数据输入输出的基本方法 学习/复习教材2.3节,学习C++中I/O流、预定义的插入符<<和提取符>>的基本用法。

3. if语句、switch语句、while语句、do…while语句的用法 学习/复习教材2.4节,通过示例理解背后简单算法及c++分支语句、循环语句的用法

4. 自定义数据类型: typedef,枚举类型用法 学习/复习教材2.5节,结合示例理解枚举类型和int型在类型转换时的注意事项

实验内容



Part2: 编程练习

教材第2章习题2-28 简单的菜单程序

教材第2章习题2-29 穷举法求质数

教材第2章习题2-32 猜数

教材第2章习题2-34排列组合

实验结论



2-28简单的菜单程序(if-else

Code:

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     cout<<"Menu:A(dd) D(elete) S(ort) Q(uit)";
 6     cout<<"Select one:";
 7     char k;
 8     while(cin>>k)
 9     {
10         if(k==‘A‘)
11             cout<<"Data has added.\n"<<"Menu:A(dd) D(elete) S(ort) Q(uit)"<<"Select one:";
12         else if(k==‘D‘)
13             cout<<"Data has deleted.\n"<<"Menu:A(dd) D(elete) S(ort) Q(uit)"<<"Select one:";
14         else if(k==‘S‘)
15             cout<<"Data has sorted.\n"<<"Menu:A(dd) D(elete) S(ort) Q(uit)"<<"Select one:";
16         else if(k==‘Q‘)
17             break;
18         else
19             cout<<"No such choice,please select again.\n"<<"Menu:A(dd) D(elete) S(ort) Q(uit)"<<"Select one:";
20     }
21     return 0;
22 }

Screenshot:

(switch

Code:

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     cout<<"Menu:A(dd) D(elete) S(ort) Q(uit)";
 6     cout<<"Select one:";
 7     char k;
 8     while(cin>>k&&k!=‘Q‘)
 9     {
10         switch(k)
11         {
12             case ‘A‘:
13                 cout<<"Data has added.\n"<<"Menu:A(dd) D(elete) S(ort) Q(uit)"<<"Select one:";
14                 continue;
15             case ‘D‘:
16                 cout<<"Data has deleted.\n"<<"Menu:A(dd) D(elete) S(ort) Q(uit)"<<"Select one:";
17                 continue;
18             case ‘S‘:
19                 cout<<"Data has sorted.\n"<<"Menu:A(dd) D(elete) S(ort) Q(uit)"<<"Select one:";
20                 continue;
21             default:cout<<"No such choice,please select again.\n"<<"Menu:A(dd) D(elete) S(ort) Q(uit)"<<"Select one:";
22         }
23     }
24     return 0;
25 }

Screenshop:

2-29 穷举法求质数(while

Code:

 1 #include<iostream>
 2 #include<cmath>
 3 #include<iomanip>
 4 using namespace std;
 5 int main()
 6 {
 7     cout<<"1~100间的质数为:"<<endl;
 8     int x=1;
 9     int a,b,c=0;
10     while(x<=100)
11     {
12         a=sqrt(x);
13         if(x!=1)
14         {
15             b=2;
16             while(x%b!=0&&b<=a)
17                  b++;
18             if(b>a)
19             {
20                 c++;
21                 cout<<setw(5)<<x;
22                 if(c%5==0)
23                     cout<<"\n";
24             }
25         }
26         x++;
27     }
28     return 0;
29  } 

Screenshop:

(for

Code:

 1 #include<iostream>
 2 #include<cmath>
 3 #include<iomanip>
 4 using namespace std;
 5 int main()
 6 {
 7     cout<<"1~100间的质数为:"<<endl;
 8     int x;
 9     int a,b,c=0;
10     for(x=1;x<=100;x++)
11     {
12         a=sqrt(x);
13         if(x==1)
14             continue;
15         else
16         {
17             for(b=2;b<=a;b++)
18                 if(x%b==0)
19                     break;
20             if(b>a)
21             {
22                 c++;
23                 cout<<setw(5)<<x;
24                 if(c%5==0)
25                     cout<<"\n";
26             }
27         }
28     }
29     return 0;
30  } 

Screenshop:

(do-while

Code:

 1 #include<iostream>
 2 #include<cmath>
 3 #include<iomanip>
 4 using namespace std;
 5 int main()
 6 {
 7     cout<<"1~100间的质数为:"<<endl;
 8     int x=0;
 9     int a,b,c=0;
10     do
11     {
12         x++;
13         a=sqrt(x);
14         if(x!=1)
15         {
16             b=1;
17             do
18             {
19                 b++;
20             }while(x%b!=0&&b<=a);
21             if(b>a)
22             {
23                 c++;
24                 cout<<setw(5)<<x;
25                 if(c%5==0)
26                     cout<<"\n";
27             }
28         }
29     }while(x<100);
30     return 0;
31  } 

Screenshop:

2-32 猜数(while

Code:

 1 #include<iostream>
 2 #include<ctime>
 3 #include<cstdlib>
 4 using namespace std;
 5 int main()
 6 {
 7     int x;
 8     int a;
 9     srand(time(NULL));
10     x=1+rand()%(100-1+1);
11     cout<<"Your guess number is(1~100): ";
12     cin>>a;
13     while(a!=x)
14     {
15         if(a<x)
16         {
17             cout<<"Bigger than the number."<<endl;
18             cout<<"Your guess number is(1~100): ";
19             cin>>a;
20         }
21         else
22         {
23             cout<<"Lower than the number. "<<endl;
24             cout<<"Your guess number is(1~100): ";
25             cin>>a;
26         }
27     }
28     cout<<"Congretulations.You guessed it.~";
29     return 0;
30  }

Screenshop:

(do-while

Code:

 1 #include<iostream>
 2 #include<ctime>
 3 #include<cstdlib>
 4 using namespace std;
 5 int main()
 6 {
 7     int x;
 8     int a;
 9     srand(time(NULL));
10     x=1+rand()%(100-1+1);
11     cout<<"Your guess number is(1~100): ";
12     do
13     {
14         cin>>a;
15         if(a<x)
16         {
17             cout<<"Bigger than the number."<<endl;
18             cout<<"Your guess number is(1~100): ";
19         }
20         else if(a>x)
21         {
22             cout<<"Lower than the number. "<<endl;
23             cout<<"Your guess number is(1~100): ";
24         }
25     }while(a!=x);
26     cout<<"Congretulations.You guessed it.~";
27     return 0;
28  }

Screenshop:

//暴力循环

2-34排列组合(排列

Code:

 1 #include<iostream>
 2 #include<iomanip>
 3 using namespace std;
 4 int main()
 5 {
 6     int x[3],k=0,i;
 7     for(x[0]=1;x[0]<=5;x[0]++)
 8     {
 9         for(x[1]=1;x[1]<=5;x[1]++)
10         {
11             if(x[1]==x[0])
12                 continue;
13             else
14             {
15                 for(x[2]=1;x[2]<=5;x[2]++)
16                 {
17                     if(x[2]==x[0]||x[2]==x[1])
18                         continue;
19                     else
20                     {
21                         k++;
22                         for(i=0;i<=2;i++)
23                         {
24                             if(i!=2)
25                            {
26                                 switch(x[i])
27                                 {
28                                     case 1:
29                                         cout<<"red ";
30                                         continue;
31                                     case 2:
32                                         cout<<"yellow ";
33                                         continue;
34                                     case 3:
35                                         cout<<"blue ";
36                                         continue;
37                                     case 4:
38                                         cout<<"white ";
39                                         continue;
40                                     case 5:
41                                         cout<<"black ";
42                                 }
43                             }
44                             else
45                             {
46                                 switch(x[i])
47                                 {
48                                     case 1:
49                                         cout<<"red\n";
50                                         continue;
51                                     case 2:
52                                         cout<<"yellow\n";
53                                         continue;
54                                     case 3:
55                                         cout<<"blue\n";
56                                         continue;
57                                     case 4:
58                                         cout<<"white\n";
59                                         continue;
60                                     case 5:
61                                     cout<<"black\n";
62                                 }
63                             }
64                         }
65                     }
66                 }
67             }
68         }
69     }
70     cout<<"Total: "<<k;
71     return 0;
72  }

Screenshop:

(组合

Code:

 1 #include<iostream>
 2 #include<iomanip>
 3 using namespace std;
 4 int main()
 5 {
 6     int x[3],k=0,i;
 7     for(x[0]=1;x[0]<=5;x[0]++)
 8         for(x[1]=x[0]+1;x[1]<=5;x[1]++)
 9             for(x[2]=x[1]+1;x[2]<=5;x[2]++)
10             {
11                 k++;
12                 for(i=0;i<=2;i++)
13                 {
14                     if(i!=2)
15                     {
16                         switch(x[i])
17                         {
18                             case 1:
19                                 cout<<"red ";
20                                 continue;
21                             case 2:
22                                 cout<<"yellow ";
23                                 continue;
24                             case 3:
25                                 cout<<"blue ";
26                                 continue;
27                             case 4:
28                                 cout<<"white ";
29                                 continue;
30                             case 5:
31                                 cout<<"black ";
32                         }
33                     }
34                     else
35                     {
36                         switch(x[i])
37                         {
38                             case 1:
39                                 cout<<"red\n";
40                                 continue;
41                             case 2:
42                                 cout<<"yellow\n";
43                                 continue;
44                             case 3:
45                                 cout<<"blue\n";
46                                 continue;
47                             case 4:
48                                 cout<<"white\n";
49                                 continue;
50                             case 5:
51                             cout<<"black\n";
52                         }
53                     }
54                 }
55             }
56     cout<<"Total: "<<k;
57     return 0;
58  }

Screenshop:

实验总结



这次试验主要是类C的部分,CPP的特性我还没有完全体会到(从I/O流已经可以看出些特点的程度)。

在进行多次判断时还是用switch更方便。

多数时候for循环较为好用。

写程序时尽量避免嵌套过多层循环,严重拖慢编译和运行速度。

srand(time(NULL));

x=1+rand()%(100-1+1);

以此来取一定范围内的随机数。

枚举数据类型不同于整型或字符型。

原文地址:https://www.cnblogs.com/wyf-blogs/p/10527198.html

时间: 2024-10-24 16:52:34

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

[0318]C++简单程序设计-2

南京信息工程大学实验报告 实验名称 C++简单程序设计-2 实验日期 2018-3-20 得分 指导教师 耿学华 系 计软院 专业 计嵌+软嵌 年级 2017 级 班次 (1) 姓名 施昊阳 学号 20161334026 [toc] 一.实验目的 理解和掌握 C++中函数的定义与使用方法 理解 C++中函数调用过程中值传递与引用传递的区别 灵活.综合运用 C++中分支结构.循环结构及 continue.break 等应用编程求解问题. 二.实验准备 实验前,请围绕以下内容预习/复习指定内容 C+

实验报告 实验4 外设驱动程序设计

北京电子科技学院(BESTI) 实     验    报     告 课程: 密码系统设计基础                                                               班级: 1352班.1353班 姓名:王玥.刘浩晨                                                                    学号:20135318.20135232 成绩:                      

20135234马启扬 实验二 Java面向对象程序设计

北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计  班级:1352  姓名:马启扬  学号:20135234 成绩:             指导教师:娄嘉鹏    实验日期:2015.5.7 实验密级:         预习程度:         实验时间:15:50--22:50 仪器组次:34         必修/选修: 选修            实验序号:02 实验名称:实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和T

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

<C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吉吉老师 实验地点 C05 机 器 号 时    间 2016年 10 月   13 日    6   周 周四  1.2 节 截至日期 2016.10.13 11:50 实验任务清单 实验3-1 分别使用while循环.do while循环.for循环求                                         

2017-2018-1 20155222 201552228 实验四 外设驱动程序设计

2017-2018-1 20155222 201552228 实验四 外设驱动程序设计 实验内容和要求 外设驱动程序设计-1 学习资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十一章 提交康奈尔笔记的照片(可以多张) 外设驱动程序设计-2 在Ubuntu完成资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十一章的test试验 提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现学号信息) 外设

2017-2018-1 20155310 20155337《信息安全系统设计基础》实验四外设驱动程序设计

2017-2018-1 20155310 20155337<信息安全系统设计基础>实验四外设驱动程序设计 外设驱动程序设计-1 学习资源中全课中的"hqyj.嵌入式Linux应用程序开 发标准教程.pdf"中的第十一章 提交康奈尔笔记的照片(可以多张) 外设驱动程序设计-2 在Ubuntu完成资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十一章的test试验 提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现

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

2017-2018-2 20165312 实验四<Android程序设计>实验报告 一.安装Android Studio并进行Hello world测试和调试程序 安装Android Studio 可以参考娄老师的博客Android开发简易教程或者参考<Java和Android开发学习指南>第二十四章,里面都有详细步骤,一步一步来就很简单~ 新建一个project项目后,project窗口主要有两个主要的节点:app和Gradle Scripts.app节点中包含了应用程序中所有的

2018-2019-1 20165227 20165228 20165237 实验四 外设驱动程序设计

2018-2019-1 20165227 20165228 20165237 实验四 外设驱动程序设计 实验目的 编写最简单的字符驱动程序 实现简单的读写功能,并列出常用格式的Makefile以及驱动的加载和卸载脚本 熟悉字符设备驱动的整个编写流程 实验内容及步骤 任务一 实验要求: 学习资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十一章 提交康奈尔笔记的照片(可以多张) 实验截图: 任务二 实验要求: 在Ubuntu完成资源中全课中的"hq

实验四《Android程序设计》实验报告封面

实验四<Android程序设计>实验报告封面 课程:Java程序设计 班级:1753班 姓名:许钰玮 学号:20175329 指导教师:娄嘉鹏 实验日期:2019年5月13日 实验时间:13:45 - 15:25 实验序号:21 实验名称:Android程序设计 一.实验内容 1. Android Stuidio的安装测试 2. Activity测试 3. UI测试 4.布局测试 5.事件处理测试 二.实验步骤 第一部分:?Android Stuidio的安装测试 要求: 参考<Java