Skip to main content
Home Wireless Communication Modulation MATLAB Beamforming Project Ideas MIMO Computer Networks Lab 🚀

C++ Programming


How to run C++ program on your computer

To run any programming language on your local machine or computer you need a compiler first. The compiler reads each and every line of your program. It interprets line by line actually. If there is no error in the program, they only go ahead to run your particular program. In our case, we are using the "DEV C++" compiler to run our programs. You can easily download and install the "DEV C++ application file" or .exe file from the internet.


How to save C++ files on your computer

You simply go to your "DEV C++" and then click on "new" in the file section in the upper tabs. Then save the file adding the ".cpp" extension. For example, if your program name is "myfirstprogram" then save it as "myfirstprogram. cpp". 


Hello World program in C++

#include <iostream> 
using namespace std;           // it calls the library
int main() {                         // it defines the method main()
cout << "Hello World!";  // 'cout' is used for printing
return 0;                             // it returns only one value
}


Result

Hello World!


In the above program, "using namespace std;" calls a library that has a set of signs that are used to identify and refer to objects of various kinds. Here in the 3rd line main() is a method. 



How To Add Comments in C++ Programming

To add comments in C++ Programming you need to write "//", then write your comment. 

For Example

#include <iostream>

using namespace std;

int main() {

int x = 22; //declaring of variable x

if (x >= 10) {

cout << "It is true";

}

else {

cout << "It is false";

}

/* 

It is a comment on multiple lines

If...else is used for adding conditions in C programming

*/

return 0;

}


Here, in the above code single line comment is written after "//". But if comments contain multiple lines then we use "/* Your Comment of multiple lines */" as shown in the above code.



Declaring of Variable in C++

In all programming languages, we declare some variable for specific purposes.


#include <iostream>

using namespace std;

int main() {

  int x = 5;

  int y = 10;

  int sum = x + y;

  cout << "Value of x + y = " << sum;

}


Result

Value of x + y = 15


Here in the above code, we've declared two variables x = 5, and y=10.



'Else If' Condition in C++ Programming

#include <iostream>

using namespace std;

int main() {

  int product;

  cout << "Enter the number of product: ";

  cin >> product; 

  if (product < 500) {

    cout << "Total price = " << product*20;

  } else if (product >= 500 && product < 1000) {

    cout << "Total price = " << product*18;

  } else {

    cout << "Total price = " << product*15;

  }

  return 0;

}


Result

Enter the number of products: 400

Total price = 8000


We implemented three different conditions for an e-commerce application for the wholesale market in the code above. If you buy less than 500 items, you'll have to pay $20 for each one. If you buy more than 500 but fewer than 1000 units, you pay 18 dollars for each unit. The third condition is that if you purchase more than 1000 items, you will be charged $15 for each item.

 

While For - Loop in C++ Programming


We often need to run a loop inside a program to run several iterations and impose many logics, conditions, etc. 


Example

In a school sport, a group of three pupils will compete in a three-round running race. After each round, you must record the time taken by each student. Calculate the average time taken by each student over the three rounds once they have completed all of the rounds, and choose the student with the lowest average timing as the best runner. If more than one student meets the minimum average timing criteria, they must all be chosen. Show the fastest runner's name and average timing.


Solution in C++

Inputs:

The time taken by three students over three rounds to complete a 100-meter run is as follows

Student A: 8, 9, 9 (in second)

Student B: 9, 8, 12 (in second)

Student C: 7, 11, 9 (in second)

Condition:

All students will be judged unfit if they fail to maintain an average timing of 12 seconds over the three rounds, or if the time average taken by all students is greater than 12 seconds.

The input of the code is below:

8

9

7

9

8

11

9

12

9

Code:

#include <iostream>

#include <cmath>

using namespace std;

int main() {

int x, T1=0, T2=0, T3=0, count=1;

double A1, A2, A3;

while (count <=9)

{

cin >> x;

if(count%3==1)

T1=T1+x;

else if(count%3==2)

T2=T2+x;

else

T3=T3+x;

count++;

}

A1= (T1/3);

A2= (T2/3);

A3= (T3/3); 

if(A1>=12 && A2>=12 && A3>=12) {

cout<<"All trainees are unfit";

return 0;

}

if(A1<=A2 && A1<=A3){

cout<<"Student A"<<endl;

}

if(A2<=A1 && A2<=A3){

cout<<"Student B"<<endl;

}

if(A3<=A1 && A3<=A2){

cout<<"Student C"<<endl;

}

return 0;

}

Result:

Student A


We can say Student A takes less average time to cover 3 rounds of 100 meters runs.


 

Solve the following C Programs

#include<stdio.h>
int main() {
int a=2,b=2;
a=b<<a;
printf("%d", a);
return 0;
}


Output: 8


Explanation:

Operator "<<" denotes the left shifting of bits and operator ">>" denotes the right shifting of bits.

So, here operation occurs in bit level

b = 2 = binary 10; If we shift bits in the left direction by 2 places then it will be 1000 which is equal to decimal 8

So, the output will be 8 in the above code.

People are good at skipping over material they already know!

View Related Topics to







Admin & Author: Salim

profile

  Website: www.salimwireless.com
  Interests: Signal Processing, Telecommunication, 5G Technology, Present & Future Wireless Technologies, Digital Signal Processing, Computer Networks, Millimeter Wave Band Channel, Web Development
  Seeking an opportunity in the Teaching or Electronics & Telecommunication domains.
  Possess M.Tech in Electronic Communication Systems.


Contact Us

Name

Email *

Message *

Popular Posts

BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...

Modulation Constellation Diagrams BER vs. SNR BER vs SNR for M-QAM, M-PSK, QPSk, BPSK, ... 1. What is Bit Error Rate (BER)? The abbreviation BER stands for bit error rate, which indicates how many corrupted bits are received (after the demodulation process) compared to the total number of bits sent in a communication process. It is defined as,  In mathematics, BER = (number of bits received in error / total number of transmitted bits)  On the other hand, SNR refers to the signal-to-noise power ratio. For ease of calculation, we commonly convert it to dB or decibels.   2. What is Signal the signal-to-noise ratio (SNR)? SNR = signal power/noise power (SNR is a ratio of signal power to noise power) SNR (in dB) = 10*log(signal power / noise power) [base 10] For instance, the SNR for a given communication system is 3dB. So, SNR (in ratio) = 10^{SNR (in dB) / 10} = 2 Therefore, in this instance,...

Constellation Diagrams of ASK, PSK, and FSK

Modulation ASK, FSK & PSK Constellation BASK (Binary ASK) Modulation: Transmits one of two signals: 0 or -√Eb, where Eb​ is the energy per bit. These signals represent binary 0 and 1.  BFSK (Binary FSK) Modulation: Transmits one of two signals: +√Eb​ ( On the y-axis, the phase shift of 90 degrees with respect to the x-axis, which is also termed phase offset ) or √Eb (on x-axis), where Eb​ is the energy per bit. These signals represent binary 0 and 1.  BPSK (Binary PSK) Modulation: Transmits one of two signals: +√Eb​ or -√Eb (they differ by 180 degree phase shift), where Eb​ is the energy per bit. These signals represent binary 0 and 1.  This article will primarily discuss constellation diagrams, as well as what constellation diagrams tell us and the significance of constellation diagrams. Constellation diagrams can often demonstrate how the amplitude and phase of signals or symbols differ. These two characteristics lessen the interference between t...

Comparisons among ASK, PSK, and FSK | And the definitions of each

Modulation ASK, FSK & PSK Constellation MATLAB Simulink MATLAB Code Comparisons among ASK, PSK, and FSK    Comparisons among ASK, PSK, and FSK Comparison among ASK,  FSK, and PSK Performance Comparison: 1. Noise Sensitivity:    - ASK is the most sensitive to noise due to its reliance on amplitude variations.    - PSK is less sensitive to noise compared to ASK.    - FSK is relatively more robust against noise, making it suitable for noisy environments. 2. Bandwidth Efficiency:    - PSK is the most bandwidth-efficient, requiring less bandwidth than FSK for the same data rate.    - FSK requires wider bandwidth compared to PSK.    - ASK's bandwidth efficiency lies between FSK and PSK. Bandwidth Calculator for ASK, FSK, and PSK The baud rate represents the number of symbols transmitted per second Select Modulation Type: ASK...

Raised Cosine Filter in MATLAB

  MATLAB Code clc; clear all; close all; Data_sym = [0 1 1 0 1 0 0 1]; M = 4; Phase = 0; Sampling_rate = 48e3; Data_Rate = 100; Bandwidth = 400; Upsampling_factor = Sampling_rate/Data_Rate; Rolloff = 0.4; Upsampled_Data = upsample(pskmod(Data_sym,M,Phase),Upsampling_factor); Pulse_shape = firrcos(2*Upsampling_factor,Bandwidth/2,Rolloff,Sampling_rate,'rolloff','sqrt'); Output What if we change the roll-off roll-off = 0.01 roll-off = 0.99 What if we change the bandwidth Bandwidth = 100 Hz     Bandwidth = 1000 Hz    What if we change the sampling rate  Sampling rate = 10 KHz  Sampling rate = 100 KHz Another MATLAB Code % The code is developed by SalimWireless.Com clc; clear; close all; % Parameters fs = 1000; % Sampling frequency in Hz symbolRate = 100; % Symbol rate (baud) span = 6; % Filter span in symbols alpha = 0.25; % Roll-off factor for raised cosine filter % Generate random data symbols numSymbols = 100; % Number of symbols data = randi([0 1], num...

Constellation Diagram of FSK in Detail

  Binary bits '0' and '1' can be mapped to 'j' and '1' to '1', respectively, for Baseband Binary Frequency Shift Keying (BFSK) . Signals are in phase here. These bits can be mapped into baseband representation for a number of uses, including power spectral density (PSD) calculations. For passband BFSK transmission, we can modulate signal 'j' with a lower carrier frequency and signal '1' with a higher carrier frequency while transmitting over a wireless channel. Let's assume we are transmitting carrier signal fc1 for the transmission of binary bit '1' and carrier signal fc2 for the transmission of binary bit '0'. Energy per bit (Eb): (For transmission of binary ‘1’) (For transmission of binary ‘0’) Constellation Diagram of FSK Fig 1: Constellation Diagram of FSK  In the above figure values are in terms of the normalized functions. √(2/Tb).cos2Пf1t and √(2/Tb).cos2Пf2t are orthogonal functions in the inter...

MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSk, BPSK, ...

Modulation Constellation Diagrams BER vs. SNR MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSk, BPSK, ...   MATLAB Script for  BER vs. SNR for M-QAM, M-PSK, QPSk, BPSK %Written by Salim Wireless %Visit www.salimwireless.com for study materials on wireless communication %or, if you want to learn how to code in MATLAB clc; clear; close all; % Parameters num_symbols = 1e5; % Number of symbols snr_db = -20:2:20; % Range of SNR values in dB % PSK orders to be tested psk_orders = [2, 4, 8, 16, 32]; % QAM orders to be tested qam_orders = [4, 16, 64, 256]; % Initialize BER arrays ber_psk_results = zeros(length(psk_orders), length(snr_db)); ber_qam_results = zeros(length(qam_orders), length(snr_db)); % BER calculation for each PSK order and SNR value for i = 1:length(psk_orders) psk_order = psk_orders(i); for j = 1:length(snr_db) % Generate random symbols data_symbols = randi([0, psk...

Frequency Bands : EHF, SHF, UHF, VHF, HF, MF, LF, VLF and Their Uses

Frequency Bands EHF, SHF, UHF, VHF, HF, MF, LF... 1. Extremely High Frequency (EHF)30 - 300 GHz Uses 5G Networks 5G millimeter wave band , 6G and beyond (Experimental) RADAR, 2. Super High Frequency (SHF)3 - 30 GHz Uses Ultra-wideband (UWB , Airborne RADAR, Satellite Communication, Microwave Link Communication or SATCOM 3. Ultra High Frequency (UHF)300 - 3000 MHz Uses Satellite Communication, Television, surveillance, navigation aids Also, read important wireless communication terms 4. Very High Frequency (VHF)30 - 300 MHz Uses Television, FM broadcast, navigation aids, air traffic control, 5. High Frequency (HF)3 - 30 MHz Uses Telephone, Telegram and Facsimile, ship to coast, ship to aircraft communication, amateur radio, 6. Medium Frequency (MF)300 - 3000 KHz Uses coast guard communication, direction finding, AM broadcasting , maritime radio, 7. Low Frequency (LF)30 - 300 KHz Uses Radio beacons, Navigational Aids 8. Very Low Frequency (VLF)3 - 30 KHz...

MATLAB Code for QAM (Quadrature Amplitude Modulation)

  One of the best-performing modulation techniques is QAM [↗] . Here, we modulate the symbols by varying the carrier signal's amplitude and phase in response to the variation in the message signal (or voltage variation). So, we may say that QAM is a combination of phase and amplitude modulation. Additionally, it performs better than ASK or PSK [↗] . In fact, any constellation for any type of modulation, signal set (or, symbols) is structured in a way that prevents them from interacting further by being distinct by phase, amplitude, or frequency. MATLAB Script (for 4-QAM) % This code is written by SalimWirelss.Com % This is an example of 4-QAM. Here constellation size is 4 % or total number of symbols/signals is 4 % We need 2 bits once to represent four constellation points % QAM modulation is the combination of Amplitude modulation plus % Phase Modulation. We map the decimal value of the input symbols, i.e., % 00, 01, 10, 11 to 1 + 1i, -1 + 1i, 1 - 1i, and -1 - 1i, respectively. cl...