=/== in IF statements

I am not able to figure why i need to use == to make my statement work, isnt == the same as not equal?
if i use = it works the other way, making my statement false.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <locale>
#include <math.h>

using namespace std;

int main(){
	setlocale(LC_ALL,"portuguese");
	char resp;
	cout<<"Are you fat? y for yes, n for no:  ";
	cin>>resp;
	if(resp=='y'){
		cout<<"Buy a bycicle";
	}else{
	    cout<<"Get married to gain a few pounds :D";
	}
}
= is the assignment operator.

This code if (resp = 'y') first assigns the value 'y' to the variable resp, and then it uses resp as the condition. Because resp has a non-zero value it will be interpreted as true so it will go on and print "Buy a bycicle".

Use == to compare if two values are equal.
Use != to compare if two values are not equal.



if (x = y) //this may be true or false depending on y being zero or not. it could actually be intentional and do what you want (there is something you don't want to do if y is zero). But this is not good style as it is hard to read and saves little over the clear, explicit code:
x = y;
if(x)
...
Do not do the assignment in the if statement. If you never do that, you can trust your warnings (compilers warn on assignments in conditions) and avoid bugs.

its <cmath>. the difference is minor, but math.h is a C header and is missing some namespace info that c++ expects to be there. It will work to use the C one, until it doesn't, and then its a bit of a pain to figure out the issue. it should have been <math> but someone dropped the ball when they renamed it.
Last edited on
Why would it be <math>? All of the c standard libraries are prefixed with c.
Sorry for the late answer.
After reading your answers i understood that "=" is to assign and "==" is to compare :D
Thank you!
math is not specific to C. c++ should support doing math.
cstdlib is a bunch of C code, that makes sense.
cstdio is a bunch of C code, and it makes sense.
math is stuff like sin, cos, abs, sqrt.. not C specific.
math is stuff like sin, cos, abs, sqrt.. not C specific.


Note there can be differences between the C and C++ standard math headers, C++ provides overloads for some of the functions that are not available in C. Also C++ has additional functions and macros that are also not available in C.

Does <math> even exist? This is the first time I've heard of it.
Không gian xanh đẳng cấp tại Chung cư N01 T6 Ngoại giao Đoàn Là một khu căn hộ cao cấp có lối kiến trúc đẹp nhất tại khu đô thị Ngoại giao Đoàn, chung cư N01 T6 đang là điểm nóng của thị trường bất động sản Hà Nội thời điểm hiện tại. Nơi đây thỏa mãn được các điều kiện sống lý tưởng cho một cuộc sống hiện đại như kiến trúc Singapore, không gian rộng – xanh và đẳng cấp nhất tại khu đô thị.

Tham gia ngay Fanpage của chúng tôi https://www.facebook.com/datxanh25/ để cập nhật những thông tin mới nhất về các dự án

Không gian sống xanh theo phong cách Singapore tại Chung cư N01 T6 Ngoại giao Đoàn
Trong số các tòa chung cư tại khu đô thị Ngoại Giao Đoàn thì tòa N01 T6 được xem là nơi có không gian lý tưởng bậc nhất khi có vị trí nằm ngay cạnh hồ điều hòa của khu đại sứ quán. Bao bọc xung quanh tòa nhà là một không gian sống xanh, thoáng đãng, hiếm có cho nhu cầu sống và giúp các cư dân có thể tận hưởng cảm giác thiên nhiên.

Toàn bộ khu chung cư được bao bọc bởi một màu xanh của cây cối

Lối kiến trúc trong tòa nhà mang tính hiện đại với không gian xanh tràn ngập, ánh sáng tự nhiên ở khắp mọi ngõ ngách theo đúng tiêu chuẩn thiết kế của Singapore nhưng vẫn có được nét đẹp Việt trong không gian, cảnh quan sống.

Bể bơi vô cực trên tầng cao nhất tòa chung cư

Đặc biệt, điểm nhấn của chung cư N01 T6 Ngoại giao Đoàn đó chính là bể bơi vô cực có diện tích 1000m2 nằm ở tầng cao nhất của tòa nhà. Và có thêm một bể bơi ngoài trời cho trẻ em có thể thỏa sức vùng vẫy. Cư dân ở đây có thể thỏa sức hòa mình vào hòa mình trong làn nước mát và ngắm nhìn không gian tươi xanh trong khu đô thị.

Xem thêm dự án HOT nhất Ngoại Giao Đoàn thời điểm hiện tại ở https://datxanh25.com/du-an/n03-t7-ngoai-giao-doan/

Chung cư N01 T6 sở hữu tầm nhìn đẹp nhất tại khu đô thị

Toàn bộ thiết kế không gian tại đây

Đây là điều được mọi khách hàng quan tâm khẳng định. Tầm nhìn tại đây có thể nhìn được tới 5 hồ: Hồ Tây, hồ điều hòa dự án, hồ dự án Tây hồ Tây, hồ công viên Hòa Bình, hồ công viên Hữu Nghị. Chính vì thế mà không gian nơi đây lúc nào cũng mát mẻ, trong lành khác xa với không gian khói bụi, ồn ào của thành phố.

Ngoài ra, dự án chung cư này còn nằm ở vị trí xen kẽ với 2 khu đô thị hiện đại bậc nhất Hà Nội đó là Ciputra và Tây Hồ Tây. Chính vì thế mà các cư dân hoàn toàn có thể được tận hưởng thêm không gian xanh từ các dự án kế cận.

Lối thiết kế đưa không gian xanh vào từng căn hộ tại chung cư N01 T6
Chung cư N01 T6 Ngoại giao đoàn được tư vấn thiết kế bởi các đơn vị nổi tiếng của Singapore. Mang trong mình tiêu chuẩn sống quốc tế nên từng căn hộ tại đây đều có đầy đủ yếu tố xanh giúp không gian trở lên hoàn hảo hơn. Diện tích mặt sàn xây dựng có diện tích khoảng 43000m2 với 33 tầng căn hộ để ở, mỗi sàn chỉ được bố trí khoảng 8 căn hộ nên các bạn sẽ có được một không gian vô cùng thoáng, rộng để sinh sống.

Mỗi căn hộ đều ngập tràn ánh sáng

Đặc biệt trong từng căn hộ đều có bố trí cửa sổ lớn để đón nắng, đón gió tự nhiên giúp căn phòng của bạn lúc nào cũng tràn ngập ánh sáng. Hơn thế, chủ đầu tư cũng bố trí các căn phòng chức năng hợp phong thủy, có bày trí cả cây xanh trong nhà để gia chủ có được một cuộc sống trong lành nhất.

Với lối kiến trúc xanh, thân thiện, hiện đại và một không gian sống tươi xanh đẳng cấp ôm trọn lấy toàn bộ tòa chung cư N01 T6 Ngoại Giao Đoàn đã mang đến sức hút mạnh mẽ cho dự án này. Hơn nữa, được sinh sống trong một không gian tươi mát, thoáng đãng, rộng rãi chắc chắn nơi đây sẽ là chốn an cư lý tưởng dành cho mọi gia đình.

Quý khách có nhu cầu tìm hiểu thêm thông tin về dự án có thể truy cập vào website https://datxanh25.com/du-an/chung-cu-n01-t6-t7-ngoai-giao-doan/ nhé!
Last edited on
Topic archived. No new replies allowed.