Thread: Questions about this program in c++

  1. #1
    Registered User
    Join Date
    Jan 2013
    Posts
    23

    Questions about this program in c++

    Created a simple program that at the expense of the spaces and draw some shapes When press any program to run it performs the desired and then come out of the program and I want him to return to the main menu without exiting help about it


    Code:
    #include<iostream.h>
    void main()
    {
    
    
    float x,y,r;
    const double p=3.14;
    double area;                  
    float a,b;
    float d;
    int choes;
    cout<<"[simple porogram]"<<endl;
    cout<<" ==============="<<endl;
    cout<<"main menu"<<endl;
    cout<<"========="<<endl;
    cout<<" Enter the number (1) to calculate area and vicinity of rectangle . "<<endl;
    cout<<" Enter the number (2) to calculate area and vicinity of circle . "<<endl;
    cout<<" Enter the number (3) to calculate area of triangle . "<<endl;
    cout<<" Enter the number (4) to calculate  vicinity of triangle . "<<endl;
    cout<<" Enter the number (5) to calculate area and vicinity of square . "<<endl;
    cout<<" Enter the number (6) to drow a rectangle ."<<endl;
    cout<<" Enter the number (7) to drow a triangle ."<<endl;
    cout<<" Enter the number (8) to drow diamond."<<endl;
    cout<<" ===================================="<<endl;
    
    
    
    cout<<" Enter the number :"<<endl;
    
    cin>>choes;
    
    switch (choes)
    
    {
    case 1:    
    cout<<"enter the length  : ";
    cin>>x;
    cout<<"enter the width :";
    cin>>y;
    cout<<"the area of rectangle is :"<<x*y<<endl;
    cout<<"the vicinity of rectangle is :"<<(x+y)*2<<endl;
    
    break ;
    
    
    
    case 2:
    cout<<"enter the radius :"<<endl;
    cin>>r;
    area=(r*r)*p;
    cout<<"the area of circle is :"<<area<<endl;
    cout<<"the vicinity of circle is :"<<(r*p)*2<<endl;
    
    break;
    
    case 3:
    cout<<"Enter the hight and base :"<<endl;
    cin>>a>>b;
    cout<<"the area of triangle is :"<<0.5*a*b<<endl;
    break;
    
    case 4:
    
    cout<< "Enter lengths ribs :"<<endl;
    cin>>a>>b>>d;
    cout<< "the vicinity of triangle is :"<<a+b+d<<endl;
    
    break;
     
    case 5:
    cout<<"Enter the length of the rib :   "<<endl;
    cin>>d,
    cout<<"the area of square is :"<<d*d<<endl;
    cout<<"the vicinity of square is :"<<d*4<<endl;
    
    break;
    
    case 6:
    {
    for(int z=1; z<=79; z++)
        {
            cout << "*";
        }
        cout << endl;
    
        for(int i=1; i<=10; i++)
        {
            cout << "*";
            for(int j=1; j<=77; j++)
            {
                cout << " ";
            }
            cout << "*" << endl;
            
        }
    
        for(int y=1; y<=79; y++)
        {
            cout << "*";
        }
    
        cout << endl;
    }
    
    break;
    
    case 7:
    
    {
        for (int a = 1; a <= 20; a++)
        {
            for (int i = 1; i <= a; i++)
                cout << "*";
            cout << endl;     
        }
         
        cout << endl;
    
    
     
    }
    
    break ;
    
    case 8:
    
    
    cout << "      * \n    * * *\n   * * * *\n  * * * * *\n * * * * *   *\n* * * * * * *\n * * * * * *\n  * * * * *\n   * * * *\n    * * *\n        * \n";
    
    break;
    default :
    
        cout<<" error "<<endl;
        cout<<" (wrong  choice) "<<endl;
    }
    }

  2. #2
    Registered User
    Join Date
    Jun 2011
    Posts
    4,513
    do-while loop

    And try not to cross-post.

  3. #3
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    1. Read this, and improve your indentation.
    SourceForge.net: Indentation - cpwiki

    2. Read this, and start thinking about adding some functions.
    A development process

    Example functions would be
    - print the menu
    - a separate function for each menu item

    Then your main might start to look like this
    Code:
    do {
        showMenu();
        cin>>choes;
        switch (choes) {
            case 1: doRectangle(); break;
            case 2: ....
        }
    } while ( choes != 0 );
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  4. #4
    Registered User
    Join Date
    Jan 2013
    Posts
    23
    Did not work, or maybe did not do the way wel

  5. #5
    Registered User
    Join Date
    Jan 2013
    Posts
    23
    i dont know

  6. #6
    Registered User
    Join Date
    Jun 2011
    Posts
    4,513
    Post your updated code, and tell us how it did not work.

  7. #7
    Registered User
    Join Date
    Jan 2013
    Posts
    23
    Code:
    #include<iostream.h>
    void main()
    {
    
    
    float x,y,r;
    const double p=3.14;
    double area;                  
    float a,b;
    float d;
    int choes;
    
     do {cout<<"[simple porogram]"<<endl;
    cout<<" ==============="<<endl;
    cout<<"main menu"<<endl;
    cout<<"========="<<endl;
    cout<<" Enter the number (1) to calculate area and vicinity of rectangle . "<<endl;
    cout<<" Enter the number (2) to calculate area and vicinity of circle . "<<endl;
    cout<<" Enter the number (3) to calculate area of triangle . "<<endl;
    cout<<" Enter the number (4) to calculate  vicinity of triangle . "<<endl;
    cout<<" Enter the number (5) to calculate area and vicinity of square . "<<endl;
    cout<<" Enter the number (6) to drow a rectangle ."<<endl;
    cout<<" Enter the number (7) to drow a triangle ."<<endl;
    cout<<" Enter the number (8) to drow diamond."<<endl;
    cout<<" ===================================="<<endl;
    
    
    
    cout<<" Enter the number :"<<endl;
    
    cin>>choes;
    
    switch (choes)
    
    {
    case 1:    
    cout<<"enter the length  : ";
    cin>>x;
    cout<<"enter the width :";
    cin>>y;
    cout<<"the area of rectangle is :"<<x*y<<endl;
    cout<<"the vicinity of rectangle is :"<<(x+y)*2<<endl;
    
    break ;
    
    
    
    case 2:
    cout<<"enter the radius :"<<endl;
    cin>>r;
    area=(r*r)*p;
    cout<<"the area of circle is :"<<area<<endl;
    cout<<"the vicinity of circle is :"<<(r*p)*2<<endl;
    
    break;
    
    case 3:
    cout<<"Enter the hight and base :"<<endl;
    cin>>a>>b;
    cout<<"the area of triangle is :"<<0.5*a*b<<endl;
    break;
    
    case 4:
    
    cout<< "Enter lengths ribs :"<<endl;
    cin>>a>>b>>d;
    cout<< "the vicinity of triangle is :"<<a+b+d<<endl;
    
    break;
     
    case 5:
    cout<<"Enter the length of the rib :   "<<endl;
    cin>>d,
    cout<<"the area of square is :"<<d*d<<endl;
    cout<<"the vicinity of square is :"<<d*4<<endl;
    
    break;
    
    case 6:
    {
    for(int z=1; z<=79; z++)
        {
            cout << "*";
        }
        cout << endl;
    
        for(int i=1; i<=10; i++)
        {
            cout << "*";
            for(int j=1; j<=77; j++)
            {
                cout << " ";
            }
            cout << "*" << endl;
            
        }
    
        for(int y=1; y<=79; y++)
        {
            cout << "*";
        }
    
        cout << endl;
    }
    
    break;
    
    case 7:
    
    {
        for (int a = 1; a <= 20; a++)
        {
            for (int i = 1; i <= a; i++)
                cout << "*";
            cout << endl;     
        }
         
        cout << endl;
    
    
     
    }
    
    break ;
    
    case 8:
    
    
    cout << "      * \n    * * *\n   * * * *\n  * * * * *\n * * * * * *\n* * * * * * *\n * * * * * *\n  * * * * *\n   * * * *\n    * * *\n      * \n";
    break;
    default :
    
        cout<<" error "<<endl;
        cout<<" (wrong  choice) "<<endl;
    while ( choes != 0 );
    
    
    }
    
    }
    cpp(141) : fatal error C1004: unexpected end of file found

  8. #8
    SAMARAS std10093's Avatar
    Join Date
    Jan 2011
    Location
    Nice, France
    Posts
    2,694
    Take a look at Salem's picture. main should return int, not void.

    You don't have to use braces in the switch for the cases. But if you, try to have the same style in all cases.

    EDIT : Also shouldn't you use namespace std? Place
    Code:
    using namespace std;
    before main.

    As for the error, I guess that you miss a bracket somewhere. If you indent your code, then you will find out which
    Last edited by std10093; 01-04-2013 at 02:03 PM.
    Code - functions and small libraries I use


    It’s 2014 and I still use printf() for debugging.


    "Programs must be written for people to read, and only incidentally for machines to execute. " —Harold Abelson

  9. #9
    Registered User
    Join Date
    Jun 2011
    Posts
    4,513
    Proper indentation is essential to writing good programs. Since you're new here, I'll give you a freebie this time. Here is your code with proper indentation.

    Code:
    #include<iostream.h>
    
    void main()
    {
        float x,y,r;
        const double p=3.14;
        double area;                  
        float a,b;
        float d;
        int choes;
     
        do {
            cout<<"[simple porogram]"<<endl;
            cout<<" ==============="<<endl;
            cout<<"main menu"<<endl;
            cout<<"========="<<endl;
            cout<<" Enter the number (1) to calculate area and vicinity of rectangle . "<<endl;
            cout<<" Enter the number (2) to calculate area and vicinity of circle . "<<endl;
            cout<<" Enter the number (3) to calculate area of triangle . "<<endl;
            cout<<" Enter the number (4) to calculate  vicinity of triangle . "<<endl;
            cout<<" Enter the number (5) to calculate area and vicinity of square . "<<endl;
            cout<<" Enter the number (6) to drow a rectangle ."<<endl;
            cout<<" Enter the number (7) to drow a triangle ."<<endl;
            cout<<" Enter the number (8) to drow diamond."<<endl;
            cout<<" ===================================="<<endl;
            cout<<" Enter the number :"<<endl;
     
            cin>>choes;
     
            switch (choes)
            {
                case 1:    
                    cout<<"enter the length  : ";
                    cin>>x;
                    cout<<"enter the width :";
                    cin>>y;
                    cout<<"the area of rectangle is :"<<x*y<<endl;
                    cout<<"the vicinity of rectangle is :"<<(x+y)*2<<endl;
                    break ;
                case 2:
                    cout<<"enter the radius :"<<endl;
                    cin>>r;
                    area=(r*r)*p;
                    cout<<"the area of circle is :"<<area<<endl;
                    cout<<"the vicinity of circle is :"<<(r*p)*2<<endl;
                    break;
                case 3:
                    cout<<"Enter the hight and base :"<<endl;
                    cin>>a>>b;
                    cout<<"the area of triangle is :"<<0.5*a*b<<endl;
                    break;
                case 4:
                    cout<< "Enter lengths ribs :"<<endl;
                    cin>>a>>b>>d;
                    cout<< "the vicinity of triangle is :"<<a+b+d<<endl;
                    break;
                case 5:
                    cout<<"Enter the length of the rib :   "<<endl;
                    cin>>d,
                    cout<<"the area of square is :"<<d*d<<endl;
                    cout<<"the vicinity of square is :"<<d*4<<endl;
                    break;
                case 6:
                    {
                        for(int z=1; z<=79; z++)
                        {
                            cout << "*";
                        }
                        cout << endl;
    
                        for(int i=1; i<=10; i++)
                        {
                            cout << "*";
                            for(int j=1; j<=77; j++)
                            {
                                cout << " ";
                            }
                            cout << "*" << endl;
                        }
    
                        for(int y=1; y<=79; y++)
                        {
                            cout << "*";
                        }
                        cout << endl;
                    }
                    break;
                case 7:
                    {
                        for (int a = 1; a <= 20; a++)
                        {
                            for (int i = 1; i <= a; i++)
                                cout << "*";
                            cout << endl;     
                        }
                    cout << endl;
                    }
                    break ;
                case 8:
                    cout << "      * \n    * * *\n   * * * *\n  * * * * *\n * * * * * *\n* * * * * * *\n * * * * * *\n  * * * * *\n   * * * *\n    * * *\n      * \n";
                    break;
                default :
                    cout<<" error "<<endl;
                    cout<<" (wrong  choice) "<<endl;
    
            while ( choes != 0 );
        }
    }
    Your braces do not line up. On line 105, you should have a closing brace for your "do" statement.

  10. #10
    Registered User
    Join Date
    Dec 2012
    Posts
    307
    i like "to drow" and "choes"

  11. #11
    Registered User
    Join Date
    Jan 2013
    Posts
    23
    I tried it but gave me the same error what to do

  12. #12
    SAMARAS std10093's Avatar
    Join Date
    Jan 2011
    Location
    Nice, France
    Posts
    2,694
    You read posts #8 and #9??? Are you sure you did everything mentioned there?
    Code - functions and small libraries I use


    It’s 2014 and I still use printf() for debugging.


    "Programs must be written for people to read, and only incidentally for machines to execute. " —Harold Abelson

  13. #13
    Registered User
    Join Date
    Jun 2011
    Posts
    4,513
    Go through your code carefully and make sure there is a closing brace for every opening brace.
    If you are completely sure they are all there, try rebuilding the project and running it again.
    If it still does not work, post your updated code again.

  14. #14
    Registered User
    Join Date
    Jan 2013
    Posts
    23
    Worked the steps 8 and 9 also gave me this error
    I tried again the same mistake



    error C2871: 'std' : does not exist or is not a namespace
    fatal error C1004: unexpected end of file found



    Code:
    #include<iostream.h>
     using namespace std;
    void main()
    {
        float x,y,r;
        const double p=3.14;
        double area;                 
        float a,b;
        float d;
        int choes;
      
        do {
            cout<<"[simple porogram]"<<endl;
            cout<<" ==============="<<endl;
            cout<<"main menu"<<endl;
            cout<<"========="<<endl;
            cout<<" Enter the number (1) to calculate area and vicinity of rectangle . "<<endl;
            cout<<" Enter the number (2) to calculate area and vicinity of circle . "<<endl;
            cout<<" Enter the number (3) to calculate area of triangle . "<<endl;
            cout<<" Enter the number (4) to calculate  vicinity of triangle . "<<endl;
            cout<<" Enter the number (5) to calculate area and vicinity of square . "<<endl;
            cout<<" Enter the number (6) to drow a rectangle ."<<endl;
            cout<<" Enter the number (7) to drow a triangle ."<<endl;
            cout<<" Enter the number (8) to drow diamond."<<endl;
            cout<<" ===================================="<<endl;
            cout<<" Enter the number :"<<endl;
      
            cin>>choes;
      
            switch (choes)
            {
                case 1:   
                    cout<<"enter the length  : ";
                    cin>>x;
                    cout<<"enter the width :";
                    cin>>y;
                    cout<<"the area of rectangle is :"<<x*y<<endl;
                    cout<<"the vicinity of rectangle is :"<<(x+y)*2<<endl;
                    break ;
                case 2:
                    cout<<"enter the radius :"<<endl;
                    cin>>r;
                    area=(r*r)*p;
                    cout<<"the area of circle is :"<<area<<endl;
                    cout<<"the vicinity of circle is :"<<(r*p)*2<<endl;
                    break;
                case 3:
                    cout<<"Enter the hight and base :"<<endl;
                    cin>>a>>b;
                    cout<<"the area of triangle is :"<<0.5*a*b<<endl;
                    break;
                case 4:
                    cout<< "Enter lengths ribs :"<<endl;
                    cin>>a>>b>>d;
                    cout<< "the vicinity of triangle is :"<<a+b+d<<endl;
                    break;
                case 5:
                    cout<<"Enter the length of the rib :   "<<endl;
                    cin>>d,
                    cout<<"the area of square is :"<<d*d<<endl;
                    cout<<"the vicinity of square is :"<<d*4<<endl;
                    break;
                case 6:
                    {
                        for(int z=1; z<=79; z++)
                        {
                            cout << "*";
                        }
                        cout << endl;
     
                        for(int i=1; i<=10; i++)
                        {
                            cout << "*";
                            for(int j=1; j<=77; j++)
                            {
                                cout << " ";
                            }
                            cout << "*" << endl;
                        }
     
                        for(int y=1; y<=79; y++)
                        {
                            cout << "*";
                        }
                        cout << endl;
                    }
                    break;
                case 7:
                    {
                        for (int a = 1; a <= 20; a++)
                        {
                            for (int i = 1; i <= a; i++)
                                cout << "*";
                            cout << endl;    
                        }
                    cout << endl;
                    }
                    break ;
                case 8:
                    cout << "      * \n    * * *\n   * * * *\n  * * * * *\n * * * * * *\n* * * * * * *\n * * * * * *\n  * * * * *\n   * * * *\n    * * *\n      * \n";
                    break;
                default :
                    cout<<" error "<<endl;
                    cout<<" (wrong  choice) "<<endl;
     
            while ( choes != 0 );
        }
    }

  15. #15
    SAMARAS std10093's Avatar
    Join Date
    Jan 2011
    Location
    Nice, France
    Posts
    2,694
    See again post#8, the first sentence of it.

    Also leave a space before <iostream>, like this
    Code:
    include <iostream>
    Check again for brackets
    Code - functions and small libraries I use


    It’s 2014 and I still use printf() for debugging.


    "Programs must be written for people to read, and only incidentally for machines to execute. " —Harold Abelson

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Help!!!questions about a circuit program..
    By vivian_4658 in forum C++ Programming
    Replies: 2
    Last Post: 12-10-2011, 12:06 PM
  2. 2 simple C program questions.
    By justiliang in forum C Programming
    Replies: 5
    Last Post: 10-27-2011, 12:59 AM
  3. First program questions
    By spottedzebra in forum C Programming
    Replies: 7
    Last Post: 06-18-2010, 09:34 AM
  4. A program that kills itself...and questions
    By Shadow in forum C Programming
    Replies: 5
    Last Post: 07-25-2002, 07:08 PM
  5. My first program (and a few questions)
    By elfjuice in forum C++ Programming
    Replies: 15
    Last Post: 05-28-2002, 04:30 PM