Monday, 21 November 2011

CS201 Assignment Idea Solution

Assignment No. 02
Semester: Fall 2011
CS201: Introduction to Programming
Total Marks: 20

Due Date:21/11/2011

Instructions:

Please read the following instructions carefully before submitting assignment. It should be clear that your assignment will not get any credit if:
The assignment is submitted after due date.
The submitted assignment does not open or file is corrupt.
Assignment is copied(partial or full) from any source (websites, forums, students, etc)


Note: You have to upload only .cpp file. Assignment in any other format (extension) will not be accepted and will be awarded with zero marks. For example, if you submit code in .doc (Word document) or .txt files, no reward will be given in any case.



Objectives:

The objective of this assignment is to provide hands on experience of:


Functions
Arrays Manipulation
Pointers with Arrays


Guidelines:

Code should be properly indented and well commented.
Follow C/C++ rules while writing variable names, function names etc
Use only dev-C++ for this assignment.
Use appropriate C/C++ structure i.e. if-else; switch statement etc to get inputs from user where required (Marks will be deducted if inappropriate structure will be used).

Problem Statement:
Write a program which calculates the increase or decrease in the annual income of a company for each year.

Detailed Description:

The program should start by asking the user to enter the company’s annual income for each year starting from year 2000 till 2009. Income must be taken in million. Implementation of following user defined functions are mandatory for this program:


A function GetAnnualIncome(), which will take and store the income for each year in an input array. The input entered by user should be integer only. The input array should be passed as argument to the function. While taking the input, if annual income entered by the user is a negative value, the program should prompt the user to enter the income again for that year.


A function CalcIncChange(), which will take two arrays as its arguments. This function will calculate the increase or decrease in the annual income of the company for each year by subtracting the current year income from the income of previous year. For example, to calculate income increase or decrease for year 2001, the following formula can be used:


Income increase or decrease for year 2001 = Income of Year 2001 – Income of Year 2000


Income of year 1999 = 1000 million
The increase or decrease in the income for each year will be stored in another array. Calculated increase or decrease in the income for each year should also be displayed on the screen.


A function CalcChangePercent(), will calculate the percentage of income increase or decrease for each year and then will display this calculated percentage on the screen. The function will take array as its argument and calculates the percentage for each year using the formula given below:


Income increase or decrease in percentage for year 2001 = (Income increase or decrease for year 2001 / Income of Year 2000) * 100


After calculating the percentage for each year, it should be displayed on the screen as well.


A function IncDecYears(), will be used to display the years in which the company income increased and years in which company income decreased.
A function MaxIncDecYears(), will take a pointer to an array and by using pointer arithmetic, displays only those two years in which the company faced maximum increase and maximum decrease in its income.

Sample Output:

The sample output of program is given below:

3 comments:

  1. #include
    #include

    void GetAnnualIncome(int[],int);
    void CalcIncChange(int[], double[],int);
    void CalcChangePercent(int[], double[], float[], int);
    void IncDecYears(double[], int);
    void MaxIncDecYears(int,int);

    main()
    {
    int anlIncm[10];
    double chngInc[10];
    float chngIncPer[10];

    cout<<"\t\t .... ABC Company Income Sheet ....\n"<>var;
    if(var < 0)
    {
    i--;
    }
    else if(var >=0 )
    {
    inc[i] = var;
    }
    }
    }

    void CalcIncChange(int inc[], double chg[],int size)
    {
    cout<<"\n\n";

    chg[0] = inc[0] -1000;
    for(int i=1;i= 0)
    {
    cout<<"Income Increase in Year "<<2000+i<<" : "<= 0)
    {
    cout<<"Income Increase in Year "<<2000+i<<": "<= 0)
    {

    if(chg[max] < chg[i])
    {
    max = i;
    }
    cout<<2000+i<<", ";
    }
    }
    cout<<"\n\nIncome Decreased in the following years: "< chg[i])
    {
    min = i;
    }
    cout<<2000+i<<", ";
    }
    }
    MaxIncDecYears(max+2000,min+2000);

    }

    void MaxIncDecYears(int max,int min)
    {
    cout<<"\n\nYear with maximium income Increase: "<<max<<endl;
    cout<<"Year with maximium income Decrease: "<<min<<endl;
    }

    ReplyDelete
  2. #include
    #include

    void GetAnnualIncome(int[],int);
    void CalcIncChange(int[], double[],int);
    void CalcChangePercent(int[], double[], float[], int);
    void IncDecYears(double[], int);
    void MaxIncDecYears(int,int);

    main()
    {
    int anlIncm[10];
    double chngInc[10];
    float chngIncPer[10];

    cout"\n\n .... ABC Company Income Sheet ....\n"endl;
    cout"Enter Income for Past 10 Years (in Millions)\n"endl;
    GetAnnualIncome(anlIncm,10);
    CalcIncChange(anlIncm, chngInc, 10);
    CalcChangePercent(anlIncm, chngInc,chngIncPer, 10);
    IncDecYears(chngInc, 10);
    coutendlendl;
    system("pause");
    }

    void GetAnnualIncome(int inc[],int size)
    {
    int var;
    for(int i=0;i>var;
    if(var < 0)
    {
    i--;
    }
    else if(var >=0 )
    {
    inc[i] = var;
    }
    }
    }

    void CalcIncChange(int inc[], double chg[],int size)
    {
    cout"\n\n";

    chg[0] = inc[0] -1000;
    for(int i=1;i= 0)
    {
    cout"Income Increase in Year "2000+i" : "chg[i]"million"endl;
    }
    else if (chg[i] < 0)
    {
    cout"Income Decrease in Year "2000+i" : "chg[i]*-1"million"endl;
    }
    }
    }
    void CalcChangePercent(int inc[], double chg[], float per[], int size)
    {


    cout"\n\n";
    per[0] = (chg[0]*100 / 1000);
    for(int i=1;i= 0)
    {
    cout"Income Increase in Year "2000+i": "per[i]"%"endl;
    }
    else if (per[i] < 0)
    {
    cout"Income Decrease in Year "2000+i": "per[i]*-1"%"endl;
    }
    }
    }


    void IncDecYears(double chg[], int size)
    {
    int max, min;
    cout"\n\nIncome Increased in the following years: "endl;
    for(int i=0;i= 0)
    {

    if(chg[max] < chg[i])
    {
    max = i;
    }
    cout2000+i", ";
    }
    }
    cout"\n\nIncome Decreased in the following years: "endl;
    for(int i=0;i chg[i])
    {
    min = i;
    }
    cout2000+i", ";
    }
    }
    MaxIncDecYears(max+2000,min+2000);

    }

    void MaxIncDecYears(int max,int min)
    {
    cout"\n\nYear with maximium income Increase: "maxendl;
    cout"Year with maximium income Decrease: "minendl;

    system("pause");
    }

    ReplyDelete
  3. #include
    #include

    void GetAnnualIncome(int[],int);
    void CalcIncChange(int[], double[],int);
    void CalcChangePercent(int[], double[], float[], int);
    void IncDecYears(double[], int);
    void MaxIncDecYears(int,int);

    main()
    {
    int anlIncm[10];
    double chngInc[10];
    float chngIncPer[10];

    cout"\t\t .... ABC Company Income Sheet ....\n"endl;
    cout"Enter Income for Past 10 Years (in Millions)\n"endl;
    GetAnnualIncome(anlIncm,10);
    CalcIncChange(anlIncm, chngInc, 10);
    CalcChangePercent(anlIncm, chngInc,chngIncPer, 10);
    IncDecYears(chngInc, 10);
    coutendlendl;
    system("pause");
    }

    void GetAnnualIncome(int inc[],int size)
    {
    int var;
    for(int i=0;i>var;
    if(var < 0)
    {
    i--;
    }
    else if(var >=0 )
    {
    inc[i] = var;
    }
    }
    }

    void CalcIncChange(int inc[], double chg[],int size)
    {
    cout"\n\n";

    chg[0] = inc[0] -1000;
    for(int i=1;i= 0)
    {
    cout"Income Increase in Year "2000+i" : "chg[i]"million"endl;
    }
    else if (chg[i] < 0)
    {
    cout"Income Decrease in Year "2000+i" : "chg[i]*-1"million"endl;
    }
    }
    }
    void CalcChangePercent(int inc[], double chg[], float per[], int size)
    {


    cout"\n\n";
    per[0] = (chg[0]*100 / 1000);
    for(int i=1;i= 0)
    {
    cout"Income Increase in Year "2000+i": "per[i]"%"endl;
    }
    else if (per[i] < 0)
    {
    cout"Income Decrease in Year "2000+i": "per[i]*-1"%"endl;
    }
    }
    }


    void IncDecYears(double chg[], int size)
    {
    int max, min;
    cout"\n\nIncome Increased in the following years: "endl;
    for(int i=0;i= 0)
    {

    if(chg[max] < chg[i])
    {
    max = i;
    }
    cout2000+i", ";
    }
    }
    cout"\n\nIncome Decreased in the following years: "endl;
    for(int i=0;i chg[i])
    {
    min = i;
    }
    cout2000+i", ";
    }
    }
    MaxIncDecYears(max+2000,min+2000);

    }

    void MaxIncDecYears(int max,int min)
    {
    cout"\n\nYear with maximium income Increase: "maxendl;
    cout"Year with maximium income Decrease: "minendl;
    }

    ReplyDelete