Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

hallo erstmal!

ich habe eine frage und zwar:

kann ich mit einer ganz einfachen funktion eine quelldatei in eine andere einfügen? programmiersprache c

ich habe eine quellcode und einen zweiten, will den einen in den anderen einfügen ohne ihn zu kopieren und irgendetwas komplieziert zu machen.

falls es wichtig ist ich benutze dev-c++ als compiler

lg

laubi

kann ich mit einer ganz einfachen funktion eine quelldatei in eine andere einfügen? programmiersprache c
Ja, das geht. Es gibt dafür aber eigentlich keinen guten Grund. Was willst du denn damit erreichen?

falls es wichtig ist ich benutze dev-c++ als compiler
Das ist insofern wichtig, als ich dir dazu rate, von dieser Entwicklungsumgebung die Finger zu lassen. Sie ist ziemlich fehlerbehaftet und wird seit einigen Jahren nicht mehr weiterentwickelt.

Nimm Code::Blocks oder Microsoft Visual C++ Express Edition.

1. ich schreibe in moment ein programm das länger ist und verliere regelmäsig den überblick, weil ich immer soweit hin und herscrollen muss, bis ich es finde.

so würde es mir helfen das programm in teile zu teilen, wodurch ich besser programmieren kann.

so habe ich immer einen programm in 5-10 teilen geschrieben und dann zusammenkopiert, aber mich zum schluss nicht mehr ausgekannt.

2. leider MUSS ich dev-c++ benutzen, weil ich noch zur schule gehe und derzeit nur das benutzen darf. (mein lehrer ist eigenartig)

lg

laubi

1. ich schreibe in moment ein programm das länger ist und verliere regelmäsig den überblick, weil ich immer soweit hin und herscrollen muss, bis ich es finde.

Dafür gibt es die Auftrennung in Header und Cpp (C++) bzw C Dateien.

2. leider MUSS ich dev-c++ benutzen, weil ich noch zur schule gehe und derzeit nur das benutzen darf. (mein lehrer ist eigenartig)

Das ist ein Trugschluss. Wie Klotzkopp schon sagt, Dev-Cpp ist fehlerhaft und wird seit Jahren nicht mehr weiter entwickelt (siehe Dev-C++ ? Wikipedia). Es spielt keine Rolle mit welchem Programm Du Deine C Codes schreibst, Notepad tut es auch.

so würde es mir helfen das programm in teile zu teilen, wodurch ich besser programmieren kann.
Der übliche Weg, Code auf mehrere Dateien zu verteilen, sind Headerdateien. Du kannst zu jeder deiner Quellcodedateien eine .h-Datei erstellen, die nur die Deklarationen beinhaltet. Diese Headerdatei kannst du dann in anderen Quellcodedateien, in denen du diese Funktionen brauchst, mittels Includedirektive einbinden:

#include "deineheaderdatei.h"
Bitte komm nicht auf die Idee, deine Quellcodedateien mit Includedirektiven zusammenzusetzen. Auf lange Sicht bereitest du dir damit nur Ärger. Beispiel:
// foo.cpp
void foo()
{
// Hier passiert etwas
}
[/code]
[code]// bar.cpp
int main()
{
// hier wird jetzt foo gebraucht
}
Du erstellst dann eine foo.h:
// foo.h
#ifndef FOO_H_INCLUDED
#define FOO_H_INCLUDED

// Hier die Deklaration der Funktion foo
void foo();

#endif
[/code] Das #ifndef/#define/#endif-Konstrukt sind die sogenannten Include-Guards. Merk dir einfach, dass eine Headerdatei so etwas haben sollte. Der Name des Symbols (FOO_H_INCLUDED) muss nicht so aussehen, aber er muss sich von dem aller anderen Headerdateien unterscheiden. Traditionell benutzt man Großbuchstaben. Wenn deine Headerdatei fertig ist, kannst du bar.cpp so ändern:
[code]// bar.cpp
# include "foo.h"

int main()
{
// hier kann jetzt foo benutzt werden
foo();
}

okok, ich weiß selbst das dev-c++ doof

thx

Das #ifndef/#define/#endif-Konstrukt sind die sogenannten Include-Guards. Merk dir einfach, dass eine Headerdatei so etwas haben sollte. Der Name des Symbols (FOO_H_INCLUDED) muss nicht so aussehen, aber er muss sich von dem aller anderen Headerdateien unterscheiden. Traditionell benutzt man Großbuchstaben.

Anmerkung:

Eine Alternative zu den Include-Guards ist #pragma once.

(Alter, schreibfauler Programmierer tippt nicht gern so viel. :floet:)

Ist zwar kein Standard, sollte aber von gängigen Compilern unterstützt werden.

  • 3 Wochen später...

Hallo!

ich habe nun versucht eine header datei zu erstellen, aber es funktioniert nicht so ganz wie es sollte

>>8`enter' undeclared <<

was der fehler bedeutet weiß ich, aber ich habe es deklariert!

Meine dateien mit denen ich es einfach mal versuchen wollte:

versuch.cpp:

#include  "laubis"

#include<stdio.h>

#include<stdlib.h>


int main()

{


     enter(4);

     system("Pause>2");

}

Meine header datei "laubis.h"
// laubis.h

#ifndef LAUBIS_H_INCLUDED

#define LAUBIS_H_INCLUDED



void enter(int);



#endif

meine datei "laubi.cpp"
#include<stdio.h>

#include<stdlib.h>



//long enter();// anzahl der enter




void enter(int a)//wie viele enter erzeugt werden

{

     int b=0;

     do

     {

          printf("\n");

          b++;

     }while(b!=a);

}

alle datein sind in einen ordner und müssten doch irgendwie funktionieren...

WAS HABE ICH FALSCH??

bitte den code zur lösung angeben

lg

laubi

er hat immer noch einen fehler:(

[Linker error] undefined reference to `enter(int)'

das habe ich doch getan, aber dann habe ich das ganze nochmals geschrieben und nun funktioniert es

eigenartig....

auf alle fälle danke für die hilfe!

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.