Como compilar programas c & c ++?

3

Eu li em algum lugar que eu preciso instalar 'build essential packager' & amp; então eu tentei:

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.

Mas o arquivo ainda não será compilado ou executado ...

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

me dá:

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

Este é o meu trecho de código: // WAP para demonstrar membro estático para calcular fatorial

    #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();
}

O que devo fazer .. ???

    
por Roshan 16.07.2011 / 19:23

3 respostas

5

Existem vários problemas com o seu pacote de fontes de teste.

Meu palpite é que você está tentando compilar usando padrões C ++ um pouco mais antigos ( gcc em vez de g++ ) e provavelmente baseado em uma rotina do Windows (usando conio ).

Eu arrumei o programa de teste para você:

#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 */
}

depois compile usando

g++ factorial.cpp -o factorial
    
por fossfreedom 16.07.2011 / 19:52
0

Experimente: #include <iostream>

link

    
por Maxime R. 16.07.2011 / 19:53
-1

Tente outro apenas para testar porque diz No such file or directory . Ou talvez o arquivo de origem esteja corrompido.

    
por Jwtiyar 16.07.2011 / 19:36

Tags