SPIES BERDAFTAR

Showing posts with label cpp programming. Show all posts
Showing posts with label cpp programming. Show all posts

03 November 2015

programming tips #1 : conditional expression (for c & c++)

ASSALAMMUALAIKUM W.B.T. peeps !

frankly, i'm inspired to share this on my blog bcoz on this evening, i got programming test and.... i'm stucked at this question. lol! never expect this one to be questioned on test... T.T k, my bad..


after finishing the test & went back to my room, i started to do some coding bout it to understand more. and now here i am, wanting to share to you all what i got.

so, first of all. what is conditional expression?  well, it is an expression that use conditional operators.

conditional operators are basically  ? and : symbols.

what are they used for? 
they are used to simplify or shorten if...else statement.

how?
here's the syntax >>
condition ? true case : false case

comparing it with an if..else statement;

if(condition)
   true case;
else
   false case;


got it? yes? congrats, fast-learner!

no? it's ok, let's move on with a simple example..

suppose there's a if...else statement;

if(marks>50)
   pass++; //increase number of student passed by 1
else
   fail++; //increase number of student failed by 1

converting this using conditional expression;
marks>50 ? pass++ : fail++ ;

condition before the ? will be tested. if true, execute pass++ (statement between ? and :). else, execute fail++ (statement after :) .


next example.. printing output.
from;

if(weight>65)
   cout<<"Fat!!"; 
else
   cout<<"Gorgeous!"; 

from what we had learnt before, converting this using conditional expression;
weight>65 ? cout<<"Fat!!" : cout<<"Gorgeous!" ;

but! there's a simpler way of doing this;
cout<<(weight>65 ? "Fat!!" : "Gorgeous!") ;

note that the second way we need to put brackets so the compiler will give priority to the conditional expression first.

same goes in c language;
from;

if(weight>65)
   printf("Fat!!"); 
else
   printf("Gorgeous!");

converting to conditional expression;
mark>50 ? printf("PASS") : printf("FAIL"); 

or putting the conditional expression inside printf;
printf(mark>50 ? "PASS" : "FAIL");

note that for the second way we did not need to put extra bracket (comparing to c++). bracket from the printf is enough.


all of examples above are the simple ones. of course, those that went out in my exam earlier is much more complicated. ~.~

such as (using c++):

if(cpa>3.0)
{
   if (cpa>3.5)
      cout<<"Dean's List";
   else
      cout<<"Second Class";
}
else
{
    if(cpa>2.0)
       cout<<"Passed";
    else
       cout<<"Failed!"; 
}

converting to conditional expression;
cout<<(cpa>3.0?cpa>3.5?"Dean's List":"Second Class":cpa>2.0?"Passed":"Failed");

if you compare both thoroughly, you can see that is just follow the flow as the if....else statement. line by line. and this is the example for nested if...else.


last example,
(using c language);

if(height>170)
{
   printf("So tall!") ; 
   tallpeople++ ; //increase number of tall people by 1
}
else
{
   printf("Hi shorty.") ;
   shortpeople++ ; //increase number of short people by 1
}

converting to conditional expression;
height>170 ? printf("So tall!") , tallpeople++ : printf("Hi shorty.") , shortpeople++ ;

or

printf(mark>50 ? "So tall!",tallpeople++ : "Hi shorty.",shortpeople++);

this example is actually for if...else with compound statements. we just need to put comma ',' between these statements.

final note, spaces between conditional operators are not necessary, but it'll make your coding easier to read.. as malay words, "sedap mata memandang" :3


that's all for tonight. hope this helps to enhance your knowledge. ^^


till we meet again!
regards,

28 October 2015

c++ programming source code sharing #1 : CALCULATE API VALUE (my midterm exam's answer)

ASSALAMMUALAIKUM W.B.T. peeps !


So today, I would like to share with you all, my midterm exam's question and sample answer. The answer for this question is not yet discussed in class, so the one I share here is the one I wrote during the exam, with some modification was done later. oh yeah, i'm using Dev-C++ ver 5.11 IDE.

even though haze prob is almost nil right now in Skudai, all thanks to Allah for these past 1-2 days heavy rain.. it's still not a crime to post some haze-related coding, rite? :v

INSTRUCTIONS:
Write a C++ program to calculate the accurate API value and determine the status of the air quality.
The program should perform the following steps:

a. Ask the user to enter the number of locations that will be read from an input file (maximum
number of location is 10). Example runs of the program are shown in Figures 1(a), 2(a) and
3(a). Note: The bold texts in Figures 1(a), 2(a) and 3(a) indicate input from the user.

b. Read input data, location and the pollutant value of PM2.5 from the input file named
input.txt”. The number of input data that will be read from the file is based on the number
of locations entered in (a). An example of the series of input data in the input file is shown in
Figure 4.

c. Calculate the API value using the formula given.

d. Based on the API value calculated; determine the air quality status.

e. Calculate the number of stars that represent API value. Each star (the character '*') represents
twenty (20) API value.

f. Calculate the average of API value.

g. Find the highest and lowest API value.

h. The output of this program should be displayed into the output file named “output.txt”. The
snapshots of the output file are as shown in Figures 1(b), 2(b) and 3(b). Display the output
telling the following information:
i. The location
ii. The calculated API value
iii. The corresponding air quality status
iv. Display a bar chart (using stars) for the API value. Each star (the character '*')
represents twenty (20) API value.
v. The highest API value
vi. The lowest API value
vii. The average API value


***I also add some extra coding in my source code that is to check the validity of number of location entered. if number entered is negative or more than 10, error message will appear and user need to enter another number. also, i add a prompt message at the end of the program where it tells the user to refer to output.txt file for the report. :3

below are figures from my question paper:
formula & status







and here's the screenshot of my code :

****I changed the output file name a bit coz this is my modified version of coding and I want to compare with the original one.

Some of the code is not seen clearly due to the loooong line. maybe you can figure out the 'hidden' code by yourself or if you need, you can download the source file. link is at the end of this post.

**depending on your IDE version, you may not see the prompt message I mentioned earlier. if that's the case, you need to add system("pause"); at the end of your main function.


Here's the output.txt screenshot for 10 inputs:





that's all for now. till we meet again. adios! ;)

regards,