- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
几天来,我一直在为这些练习苦苦思索,但我无法掌握它们。我必须在我的数字中添加一个单位(即米、英尺、英寸、厘米)并拒绝无效单位,然后将数字和单位转换为米。
我的代码显示了如何选择和保持最高和最低数字等,但我完全不知道如何添加单位部分,我已经尝试过 if 语句,它们看起来像是工作,但后来他们不这样做,我很沮丧,老实说,我错过了一些基本要点,这让我很烦恼。到目前为止,这是我的代码
int main(){
double val1=0;
string unit;
double large=0;
double small=0;
cout<<"please Enter 1 number and a unit (cm, M, Ft, In):\n";
while (cin>>val1>>unit){
if(val1<small) {small=val1; cout<<"smallest so far\n";}//find smallest number
else if(val1>large) {large=val1; cout<<"largest so far\n";}//Find largest number
else cout<<"Neither largest nor smallest\n";
}
cout<<"The smaller value so far is (in metres): "<<small<<"\n";
cout<<"The larger value so far is (in metres): "<<large<<"\n";
keep_window_open("~");
return 0;
}
这不是家庭作业,我这样做只是为了我自己的兴趣。任何帮助将不胜感激。
最佳答案
1 .通过第 4 章,您已经了解常量和“魔法常量或数字”
( What is a magic number, and why is it bad? )。
2。 cout << "请输入 1 个数字和一个单位 (cm, M, Ft, In):"<< endl;这是错误的,因为您使用大写字母并测试小写字母。
3 .if (small == 0 && val1 > large)
如果我输入 0 m,它会说它“既不是最大也不是最小”,就像那些已经设置的那样,更好使用
if(small=0 && large==0)
4 .Personaly 我不喜欢这种转换成米我宁愿使用
if(unit=="m")
{
if( (val1*=m_in_cm) <= small)
{
std::cout<<"\nThe smallest value so far "<<val1<<" "<<unit<<" \n";
small=val1;
}
if( (val1*=m_in_cm) >= large)
{
std::cout<<"\nThe largest value so far "<<val1<<" "<<unit<<" \n";
large=val1;
}
}
else if(unit=="in"){....}
其中“m_in_cm”是const double m_in_cm=100;
它保留原始值和使用的单位。
关于c++ - 从编程 : Principles and Practice using C++. Bjarne Stroustrup 的第 4 章开始练习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9278672/
练习 13,来自 Stroustrup 的编程原则和使用 c++ 的实践的第 12 章。 A superellipse is a two-dimensional shape defined by th
在《编程:使用 C++ 的原理与实践》的第 5.10.1 章中,有一个“试试这个”练习,用于调试某个区域的错误输入。前置条件是长度和宽度的输入是否为 0 或负数,而后置条件是检查面积是否为 0 或负数
这些是 Stroustrup 在他最新的 C++ 书中给出的指导方针在函数中传递参数: [1] Use pass-by-value for small objects. [2] Use pass-by
在 Stroustrup 的 C++ 编程语言书(第 3 版)中,在数值章节中,他展示了以下代码片段: void f(valarray& d) { slice_array& v_even =
Stroustrup C++ 第 4 版第 197 页有以下示例,这些示例导致打印的字符流递增,直到 null 而不是 "abc"。问题:如何评估 ++*p? ++ 和 * 是相同的优先级和从右到左的
以下示例来自 Stroustrup C++ 4th Ed。第 519 页。这是我从 K&R C 和更早的 Stroustrup 书中的理解,即原始类型的局部自动变量 未定义或未知被初始化 .原始类型的
我正在使用 Stroustrup C++ 第 4 版第 1182 页的这个随机数示例。编译器在 auto 行报告错误。 ,说明 auto 不能与类的非静态成员一起使用。我对这种绑定(bind)的结果类
“没有匹配的成员函数push_back” 在 Bjarne 的原始版本中,C 的 vector 是这样写的 vector*> res; 但是这个 Value_type 模板不能正常工作所以我只是用 C
请引用B.Stroustrup的《TCPL》第4版41.2.2 Instruction Reordering部分,我抄录如下: To gain performance, compilers, opti
我在 YouTube 上看到了这个视频:https://www.youtube.com/watch?v=YQs6IC-vgmo其中 Bjarne 说最好使用 vector ,而不是链表。我无法掌握全部
在 C++ 之旅的第 83 页,Stroustrup 提供了以下正则表达式: R"((\ew+))" 书中没有任何地方定义\e,我在互联网上也找不到任何相关信息。\e 在正则表达式中代表什么? 最佳答
目前我正在阅读 Stroustrup Programming: Principles and Practice C++。我遇到了这个例子: typedef void (*Pfct0)(struct S
以下幻灯片来自 Bjarne Stroustrups 的演讲“C++ 的本质”: 我是否通过以下简单示例(值、原始指针、资源成员/子对象的智能指针)理解了他的技术?: 1. class foo{
我正在阅读 Bjarne Stroustrup “The C++ programming language” 一书,其中提到在变量定义中使用 auto 的原因之一是: The definition i
我决定自己学习 C++,我已经有了一些 Java 经验。 在 Bjarne Stroustrup 的书中他说: Prompt the user to enter the age of the reci
我正在查看 Straustrup 的 hash_map 实现。这将给出他如何实现的直觉 template, class EQ = equal_to, class A = allocator > cla
我正在使用 Stroustrup 的天鹅书。我在从 a 获取输出时遇到了问题 vector 。我遵循了 sec 的文本示例。 4.6.3 第 121 页。设法编译了源代码并能够执行它。后输入由空格分隔
在 Stroustrup 的书 Programming with C++ page 102 中,他使用 cin 读入 double 后跟 char,用于将厘米转换为英寸. 他使用的代码: cin >>
我正在阅读 Bjarne S 的 C++ 编程语言。 在第 77 页,第 4.8 节中,我发现了这一点: "枚举器可以用常量表达式初始化(§C.5) 的整数类型 (§4.1.1)。这枚举的范围包含向上
Stroustrup 提供了一个 Can_copy template .它是如何工作的? template struct Can_copy { static void constraints(
我是一名优秀的程序员,十分优秀!