Weshalb kann ich mit keiner IDE unter ubuntuMATE C++ programmieren?

1 Antwort

Dein Programm ist so ok bis auf die Tatsache, dass main normalerweise Parameter erwartet.

also

int main( int argc, char* argv[] )

Probier doch mal den C - Compiler direkt aufzurufen im Terminalfenster, also

c++ -o hello hello.cpp

Kommt dabei keine Fehlermeldung starte das Programm mit

./hello


sicher , dass c++ und nicht g++ gemeint ist ?

0
@Anonym54023

Über argc wird die Anzahl der Parameter übergeben, argv sind die Parameter selbst. argv[ 0 ] ist das Programm selbst.

1
@softie1962

und was macht das char* ? (tut mir leid , dass ich so dumm frage , habe vorher nur mit php und python gearbeitet ...)

0
@Anonym54023

char* argv[] ist ein Array von Zeichenketten.

Würdest du das Programm starten mit

./hello 1 xyz "1 xyz" dann würde argv folgendes enthalten:

argv[ 0 ] "./hello"

argv[ 1 ] "1"

argv[ 2 ] "xyz"

argv[ 3 ] "1 xyz"

1

Wierd , wenn ich die executable per terminal ausführe , dann ist der output "Test" und funktionier somit, weshalb will das denn in keiner ide laufen?

0
@Anonym54023

Da wirst du dich noch mal ein wenig mit deiner IDE auseinander setzen müssen.Möglicherweise stimmen ja die Pfade zu den Includeverzeichnissen nicht, oder du musst noch irgendwas bei dem Projekt angeben

1
@softie1962

Hat mit Netbeans, eclipse und CodeBlocks bei windows immer ohne (große) Probleme einfach so funktioniert , aber hier nicht(bei allen 3).Kann das wirklich an jeder IDE liegen , oder könnte ich eventuell einen falschen compiler oder ähnliches installiert ?(je mehr ich schreibe , desto noobiger wirke ich , oder ? xD)

0
@softie1962

Hätte noch eine zweite Frage , wenn du erlaubst (kannst du auch gerne als normale Antwort schreiben , um Punkte zu farmen ;))
Wenn ich (ohne IDE , nur mit Terminal und g++ /c++) zum Beispiel etwas wie SDL nutzen möchte , wie genau stelle ich das nur mit den gedownloadeten Dateien von SDL , gedit , g++ und dem Terminal an ?

0
@Anonym54023

du wirst einen Pfad zu den Headerdateien angeben müssen und beim Linken die Librarydateien (*.so) sowie den Pfad dahin.

g++ -? hilft dir wegen der Optionen

1

Hey , tut mir leid, dass ich erneut störe , aber ich bekomme das mit den Bibliotheken nicht hin.
Habe jetzt für mich entschieden, dass ich keine IDE benutzen möchte , da die sehr oft extrem unnötig kompliziert sind und möchte daher ausschließlich einen Editor und einen Compiler verwenden.
Könntest du mir eventuell eine Step-by-Step-Anleitung schrieben wie man eine Library (zum Beispiel Qt oder GTK(am besten wäre Qt))verwenden kann , damit ich diese Anleitung für spätere Vorhaben als Leitfaden benutzen kann?

0

*Gelöst* C ++ Ausgabe einer Variable?

Ich würde gerne wissen was ich falsch mache. Wenn ich drei Zahlen eingebe, denn vergleicht das Programm sie aber gibt nur die Buchstaben a,b,c aus und nicht die eingegebenen Zahlen. Wenn ihr eine Idee habt sagt mir Bitte bescheid. Danke im vorraus.

Programm Text ist aufgeführt. Programm ist soweit richtig und funktioniert.

#include <iostream>

using namespace std;

int main()

{

   int a,b,c;

   cout << "Bitte erste Zahl eingeben." << endl;

   cin >> a;

   cout << "Bitte zweite Zahl eingeben." << endl;

   cin >> b;

   cout << "Bitte dritte Zahl eingeben." << endl;

   cin >> c;

   if (a < b) {

      if ( b < c) {

         cout << "a,b,c" << endl;

      } else {

         if (a < c) {

            cout << "a,c,b" << endl;

         } else {

            if ( c > a);

               cout << "c,a,b" << endl;

         }

      }

   } else {

       if ( a < c) {

         cout << "b,a,c" << endl;

      } else {

           if (c > a) {

            cout << "b,c,a" << endl;

      } else {

      if (c < b){

         if (b < a) {

            cout << "c,b,a" << endl;

         } else {

                   cout << "a,b,c" << endl;

         }

      }

   }

   system ("pause");

   return 0;

       }

   }

}      

...zur Frage

C++ ShellExecute öffnet programm im falschen Verzeichnis

Hallo Leute

Ich habe zwei kleine Programme mit c++ geschrieben. Startet man das erste, so öffnet sich (durch ShellExecute) das zweite Programm. Nun ist das Problem, dass Programm2 in einem Unterordner liegt, und eine .txt datei öffnen soll, die im Selben Ordner wie Programm2 liegt (siehe Bild). Wenn aber Programm2 durch Programm1 ausgeführt wird, so findet er die txt-Datei nicht. Es ist also, als ob Programm2 im selben Verzeichnis wie Programm1 liegt, denn wenn ich bei Programm2 statt fopen("Text.txt"), fopen("Files\\Text.txt") schreibe, funktioniert es. Meine Frage ist nun: was muss ich ändern (ich nehme mal an beim Aufruf der Funktion ShellExecution()), damit es so funktioniert, wie ich es haben möchte (ohne Verwendung eines absoluten Pfads!).

hier einmal der Quellcode: Programm 1:

#include <iostream>
#include <Windows.h>

using namespace std;

int main()
{
    cout<<"Starte Programm2..."<<endl;
    ShellExecute(NULL, "open", "Files\\Programm2.exe", NULL, NULL, SW_NORMAL);
    
    system("pause");
    
    return 0;


}

Programm 2:

#include <iostream>
#include <Windows.h>

using namespace std;

int main()
{
    FILE * f;
    char buffer[100];
    
    f = fopen("Files\\Text.txt", "r");
    if(f == NULL)
    {
        cout<<"Couldn't find Text.txt"<<endl;

    }
    else
    {
        while(!feof(f))
        {
            if(fgets(buffer, 100, f) == NULL)
                break;

        }
        cout<<buffer<<endl;
        fclose(f);
    }

    cout<<endl;
    system("pause");
    
    return 0;


}

Ich möchte auf jeden Fall einen relativen Pfad verwenden ("Files\Programm2.exe" ). Ich bedanke mich jetzt schon mal für all eure (hoffentlich) hilfreichen Antworten!

...zur Frage

C++ IF bedingung(Anfängerproblem)

Guten Tag, wollte eben ein Übungsprogramm schreiben mit dem man einen Preisnachlass berechnen lassen kann:

Wenn man mehr als 10 Laptops kauft gibts 18% rabatt und keine versandkosten. Mein Problem ist, dass ich nicht weiss wie ich die Anzahl der Laptops in eine rechnung mit einbeziehen kann->

#include <iostream>
#include<string>

using namespace std;
int main() 

{
    double nettobetrag, nettobetragS;
    string laptops;
    cout<<"Anzahl der Laptops:  ";
    cin>>laptops;
    cout<<"Nettobetrag pro Stueck:";
    cin>>nettobetragS;



    if (laptops>"10")
    {       nettobetrag=laptops*nettobetragS;
              cout<<"Nettobetrag:"<<nettobetrag;
              .................





    }




    cout<<endl;

    return 0;

}
...zur Frage

Code::Blocks führt mein Programm nicht aus?

Hey Leute,

lerne grade für meine Informatik-Klausur mit Code::Blocks. ich soll eine Schleife konstruieren, die mir die Zahlen 1,4,7,100 ausgibt:

include

using namespace std;
int main() 
{ 
  int i; 
  for(int i=0; i<101; i++)
  {
     if(i==1 && i==4 && i==7 && i==100)
     { 
       cout << i << endl; 
     } 
  } 
  return 0; 
}

So sieht mein Programm bis jetzt aus. Einen Syntaxfehler zeigt mir das Programm nicht an. Ich habe auch eins mit cout << Hello World! << endl; geschrieben. Der Compiler hat das auch nicht ausgegeben?! 

Hat jemand einen Tipp? Tut mir leid wegen den Absätzen, aber Gutefrage löscht die schönen Leerzeilen einfach :(

Compiler: Mingw32

Grüße,

Andreas

...zur Frage

Kann in diesem Programm die Rede von undefiniertem Verhalten sein C++?

Hier ist mein Code:

#include <iostream>
using namespace std;
int* pReturn() 
{   
int zahl = 10;   
int* pzahl = &zahl;   
return pzahl; 
}
int main() 
{   
cout << "Hello world!" << endl;   
int* pointer = pReturn();   
*pointer = 15;   
cout << *pointer;   
return 0; 
}

Also ich rufe ganz simpel eine Funktion auf und lasse sie einen Pointer auf eine Variable zurückgeben, die in der Funktion deklariert und initialisiert wird. Sollte die Variable aber nach dem reurn Befehl nicht gelöscht, bzw. freigegeben werden, sodass der Pointer auf eine Variable zeigt, die sich jederzeit durch andere Programme verändern könnte oder merkt das der Compiler schon von vorne rein und löscht diese Variable nicht? Aufjedenfall kann ich auch nach dem return Befehl in der Funktion die Variable per Pointer modifizieren und ausgeben. Ich versteh das irgendwie nicht..

...zur Frage

Das kleine 1x1 als Array?

#include <iostream>

using namespace std;

int main() {

   

  cout << endl;

  for (int zeile = 1; zeile <= 10; zeile++) {

     

    for (int spalte = 1; spalte<= 10; spalte++) {

       

      cout << zeile * spalte<< "\t";

    }

    cout << endl;

  }

   

  return 0;

}

könnt ich das auch mit Arrays machen? mit mehrdimensionalen Arrays?

vielen Dank schon mal

...zur Frage

Was möchtest Du wissen?