सवाल सी और सी ++ प्रोग्राम कैसे संकलित करें?


मैंने कहीं पढ़ा है कि मुझे 'आवश्यक पैकेजर बनाने' की आवश्यकता है और इसलिए मैंने कोशिश की:

sudo apt-get install build-essential 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

लेकिन फ़ाइल अभी भी संकलित या चलाने नहीं होगा ...

gcc -Wall -W -Werror factorial.cpp -o factorial.

मुझे देता है:

gcc -Wall -W -Werror factorial.cpp -o factorial.
factorial.cpp:3:22: fatal error: iostream.h: No such file or directory
compilation terminated

यह कोड का मेरा टुकड़ा है: // वैप फैक्टोरियल की गणना के लिए स्थिर सदस्य का प्रदर्शन करने के लिए

    #include<iostream.h>    
    #include<conio.h>
class fact
{
int i;
    static int count;
    public : 
    void calculate()
    {
        long int fact1=1;
        count++;
        for(i=0;i<=count;i++)
        {
            fact1=fact1*i;
        }
        cout<<"\nFactorial of"<<count<<"="<<fact1<<"\n";
    }
};
int fact :: count;
void main()
{
    int i;
    clrscr();
    fact f;
    for(i=1;i<=15;i++)
    {
        f.calculate();
    }
    getch();
}

मैं क्या shoud .. ???


3
2017-07-16 17:23


मूल


यह एक प्रोग्रामिंग प्रश्न है (प्रोग्रामिंग त्रुटियों के साथ) और इसलिए पूछा जाना चाहिए स्टैक ओवरफ़्लो। एकमात्र मंच विशिष्ट बिट का उपयोग है conio जो उबंटू (या प्लेटफार्मों की तरह अन्य यूनिक्स) के लिए उपलब्ध नहीं है। - dv3500ea


जवाब:


आपके परीक्षण स्रोत पैकेज के साथ कई समस्याएं हैं।

मेरा अनुमान है कि आप थोड़ा पुराने सी ++ मानकों का उपयोग करके संकलन करने की कोशिश कर रहे हैं (gcc के बजाय g++) और शायद विंडोज रूटीन (उपयोग कर रहे हैं) के आधार पर conio)।

मैंने आपके लिए परीक्षा कार्यक्रम तैयार किया है:

#include <iostream> /* dont need .h */    
using namespace std; /* use a namespace */
/* #include <conio.h>   this is a windows header - dont need */

class fact
{
int i;
    static int count;
    public : 
    void calculate()
    {
        long int fact1=1;
        count++;
        for (i = 2; i <= count; i++)
        {
            fact1 *= i;
        }
        cout << "\nFactorial of " << count << '=' << fact1 << '\n';
    }
};
int fact :: count;

int main(void) /* you had an invalid main declaration */
{
    int i;
    /* clrscr();  not necessary */
    fact f;
    for (i = 1; i <= 15; i++)
    {
        f.calculate();
    }
    /* getch(); not necessary */

    return 0; /* need to return a standard value */
}

फिर उपयोग संकलन

g++ factorial.cpp -o factorial

5
2017-07-16 17:52



गणना लूप को i = 1 पर भी शुरू करने की आवश्यकता है या परिणाम हमेशा 0 होगा। - Maxime R.
अच्छी टिप्पणी - इस स्रोत के साथ कई मुद्दे हैं - बहुत अक्षम हैं। उत्तर के लिए मेरा मुख्य उद्देश्य सिर्फ इस बात को संकलित करने के लिए था! - fossfreedom♦


प्रयत्न: #include <iostream>

https://stackoverflow.com/questions/214230/iostream-vs-iostream-h-vs-iostream-h


0
2017-07-16 17:53





परीक्षण करने के लिए बस एक और कोशिश करें क्योंकि यह कहता है No such file or directory। या शायद स्रोत फ़ाइल दूषित हो गई है।


-1
2017-07-16 17:36