myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Zufallszahlengenerator

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 31.12.13, 10:33   #1
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard Zufallszahlengenerator

Hallo.

Ich lerne grad die Programmiersprache C und bräuchte eure Hilfe.
Ich habe einen Zufallszahlengenerator bekommen, den möchte ich nun in ein Programm bekommen. Nur leider hab ich keinerlei Erklärung zu diesem. Kann mir jemand den beschreiben? Hier ist er:

#include <stdlib.h>
#include <time.h>

void initialisiere_zufallszahlengenerator(void)
{
srand((unsigned) time(NULL));
}

int liefere_ganze_zufallszahl(int min, int max)
{
return (rand() % (max - min + 1)) + min;
}

Vielen Dank für die Hilfe
MfG Neo
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 31.12.13, 11:03   #2
mrburns
Newbie
 
Registriert seit: Dec 2009
Beiträge: 50
Bedankt: 28
mrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punkte
Standard

Hallo,
ich hab mal mit "-" Sachen markiert, die nötig zu wissen sind, mit "*" optionale Erklärungen

initialisiere_zufallszahlengenerator()
- wie der Bezeichner schon vermuten lässt wird hiermit der "Zufallsgenerator" initialisiert
* mit srand() beginnt eine Zeitmessung, die vergangene Zeit wird nachher deine "Zufallszahl"

int liefere_ganze_zufallszahl(int min, int max)
- gib ein Minimum / Maximum für deine gewünschte Zufallszahl an und bekomme eine zwischen den beiden wieder, z.B.:
initialisiere_zufallszahlengenerator();
int random = liefere_ganze_zufallszahl(17, 56); //liefert eine ganze Zahl zwischen 17 und 56
// größer gleich 17 und kleiner gleich 56, also beides inklusive
*mit rand() bekommt man die vergangene Zeit in ms, diese wird hier mit modulo (max - min +1) auf die Differenz von den gewählten Minimum/Maximum getrimmt (in dem Fall dann Zahlen von 0 - <Differenz> // inklusiv der Differenz ); wenn man zum Beispiel min 46 und max 70 wählt und mit srand()/rand() 1033ms vergangen sind: rand() % (70 - 46 + 1) = 1033 % 25 = 8
*am Ende wird noch mal das Minimum addiert um in den richtigen Intervall zu kommen;
in meinem Beispiel also noch: 8 + 46 = 54 ... das wäre dann das Ergebnis

Viel Spaß noch
mrburns ist offline   Mit Zitat antworten
Ungelesen 01.01.14, 12:24   #3
Berlin1992
¥
 
Registriert seit: Jul 2013
Beiträge: 6
Bedankt: 3
Berlin1992 ist noch neu hier! | 0 Respekt Punkte
Standard

Wichtig ist, dass die Initialisierung wirklich nur einmal erfolgt.
Berlin1992 ist offline   Mit Zitat antworten
Ungelesen 01.01.14, 12:31   #4
spartan-b292
Echter Freak
 
Benutzerbild von spartan-b292
 
Registriert seit: Mar 2010
Ort: /home/spartan-b292
Beiträge: 2.866
Bedankt: 1.700
spartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punkte
Standard

Ich weiß nicht was du mit deiner Funktion vor hast aber so generiert man keine sicheren Zufallszahlen!
__________________
"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety"
spartan-b292 ist offline   Mit Zitat antworten
Ungelesen 01.01.14, 21:10   #5
ZarrocZuckz
Anfänger
 
Registriert seit: Jun 2010
Beiträge: 17
Bedankt: 2
ZarrocZuckz ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von mrburns Beitrag anzeigen
Hallo,

* mit srand() beginnt eine Zeitmessung, die vergangene Zeit wird nachher deine "Zufallszahl"

*mit rand() bekommt man die vergangene Zeit in ms, diese wird hier mit modulo (max - min +1) auf die Differenz von den gewählten Minimum/Maximum getrimmt (in dem Fall dann Zahlen von 0 - <Differenz> // inklusiv der Differenz ); wenn man zum Beispiel min 46 und max 70 wählt und mit srand()/rand() 1033ms vergangen sind: rand() % (70 - 46 + 1) = 1033 % 25 = 8

Das ist völliger Unsinn, weder srand noch rand hat etwas mit der Zeit zutun, time() liefert die zeit, das wars aber auch. srand legt den seed, also den initialwert der rand Funktion fest. Die rand Funktion liefert eine Zufallszahl die durch eine Polynomfunktion mit dem vorigen Wert oder dem Initialwert als Variablen bestimmt wird.
ZarrocZuckz ist offline   Mit Zitat antworten
Ungelesen 02.01.14, 08:44   #6
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard

Vielen Dank für die Hilfe.

Ich muss eine Simulation eines Sicherheitssystems von Geldautomaten schreiben. Dazu soll halt ne PIN generiert werden, die dann mit Zufall-PINs "geknackt" werden soll. Ausgegeben werden z.b. Es wurden 720 Chipkarten eingezogen (bis eine richtige PIN erraten wurde). Die PINs werden jedesmal neu generiert.

Ist für ne Hausaufgabe, deshalb hab ich nur nach dem Zufallszahlengenerator gefragt.
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 02.01.14, 09:19   #7
NetWebs
Banned
 
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
NetWebs ist noch neu hier! | 0 Respekt Punkte
Standard

Welchen Sinn soll das bitte machen, wenn die Ergebnisse "zufällig" sind?
NetWebs ist offline   Mit Zitat antworten
Ungelesen 02.01.14, 21:23   #8
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard

Einfach nur, weil man´s kann Hausaufgabe...

Danke trotzdem für jeglichen Kommentar.
Ich werd sicherlich hin und wieder nen Tip brauchen und bin dankbar, solch einForum nutzen zu können.
Sollte mal gesagt werden. Frohes Neues und auf Wiedersehen.

Ich weiß nicht, wie man nen Thread schließt...
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 04.01.14, 18:00   #9
Mr_Braun
abcdefgh
 
Benutzerbild von Mr_Braun
 
Registriert seit: Oct 2008
Ort: Ziegengehege
Beiträge: 2.649
Bedankt: 2.519
Mr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3207740 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3207740 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3207740 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3207740 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3207740 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3207740 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3207740 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3207740 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3207740 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3207740 Respekt PunkteMr_Braun leckt gerne myGully Deckel in der Kanalisation! | 3207740 Respekt Punkte
Standard

Zitat:
Zitat von Neo Larson Beitrag anzeigen
Ich weiß nicht, wie man nen Thread schließt...
Am Besten den eigenen Beitrag melden mit der Bitte um Schließung!




-Closed-
Mr_Braun ist offline   Mit Zitat antworten
Ungelesen 06.01.14, 18:30   #10
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard In C mit switch-case Funktion aufrufen?

Hi.

Ich wollte mal fragen, ob man in meinem Fall mit switch-case arbeiten kann?

Ich möchte mit C ein Menü, bestehend aus drei Auswahlmöglichkeiten, programmieren.
Bei der ersten und zweiten Auswahl soll jeweils eine Funktion aufgerufen werden.
Bei drittens soll das Programm beendet werden.

So ungefähr:

Code:
int main(void)
{
	int auswahl;
	printf("Test der Sicherheit eines Geldautomaten");
	printf("\n(1) Einfacher Test");
	printf("\n(2) Mehrfacher Test");
	printf("\n(3) Programm beenden");
	scanf("%d", &auswahl);
	
	switch (auswahl)
	{
    	case 1:    	// Hier soll die Funktion "Einfacher Test" ausgeführt werden
        	break;
    	case 2:    	// Hier soll die Funktion "Mehrfacher Test" ausgeführt werden.
        	break;
    	case 3:    	// Hier soll das Programm beendet werden
        }
}
Einfacher Test und Mehrfacher Test sind in verschiedene Dateien mit einer Header-Datei geschrieben.

Vielen Dank
MfG Neo
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 06.01.14, 19:42   #11
spartan-b292
Echter Freak
 
Benutzerbild von spartan-b292
 
Registriert seit: Mar 2010
Ort: /home/spartan-b292
Beiträge: 2.866
Bedankt: 1.700
spartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punkte
Standard

Das kannst du so machen. Du solltest aber wenigstens noch einen default case hinzufügen. Außerdem würde ich statt scanf() fgets() nehmen.
__________________
"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety"
spartan-b292 ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 05:10   #12
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard

Wie funktioniert das dort mit dem Funktionsaufruf?
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 06:56   #13
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard

Leider nicht, oder ich übersehe es.
Bei Google find ich nur printf-Funktionen in case.
Ich hab das mal probiert, funktioniert aber nicht:

Code:
switch (auswahl)
    {
    	case 1:
    		int einfacher_test();
    		break;
    	case 2:
    		int mehrfacher_test();
    		break;
    	case 2:
    		exit;
    		break;
    	
    }
Hier ist die Funktion, sie selbst funktioniert auch:

Code:
int einfacher_test(void) 
{
}
EDIT: Ok, hab´s nun. Mein Fehler war den Datentyp mit hinzuschreiben. So ist´s richtig.

Code:
switch (auswahl)
{
    case 1:
	einfacher_test();
	break;
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 11:00   #14
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard For-Schleife

Hi.

Nach langer und harter Recherche und Programmierung, hab ich nun ein Programm geschrieben, dass zwei Zufallszahlen generiert und diese vergleicht. Das macht das Programm nun solange, bis die generierten Ziffern übereinstimmen. Funzt.

So.

Nun soll das ganze mit einem anderen Programm ausgeführt werden, wo zusätzlich eine Laufvariable hinzukommt, die den Test so oft wiederholt, wie die Laufvariable sagt (meinet wegen fünf mal). Das sollte ja mit einer for-Schleife gehen.
Beim ersten Durchlauf stimmt es auch, nur bei allen danach kommen falsche Werte raus.

Hier der Code:

Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int mehrfacher_test(void)
{
	int anzahl_tests;
	printf("Wie viel Tests sollen durchgefuehrt werden? ");
	scanf("%d", &anzahl_tests);
	int zaehler, versuche;
	for(zaehler=1; zaehler<=anzahl_tests; zaehler++)
	{
	einfacher_test();
        }
	printf("\nBei %d Tests wurden im Durchschnitt %d Chipkarten eingezogen.", anzahl_tests, versuche);
    
}
Und der einfache_test:

Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int einfacher_test(void) 
{
    int versuche, zufall1, zufall2;
    srand((unsigned) time(NULL));
	
    for(versuche = 1; zufall1 != zufall2; versuche++)
    {	
    zufall1 = rand() % (9999 - 1111 + 1) + 1111;
    zufall2 = rand() % (9999 - 1111 + 1) + 1111;
    }
    
    printf("\n\nEs wurden %d Chipkarten eingezogen.", versuche);
    
    return 0;
	
}
Das ganze läuft über eine main-Funktion, die ein Auswahlmenü hat. Funzt ebenfalls.

Warum funktioniert der erste Durchlauf, danach allerdings keiner mehr?

Das Programm ist noch nicht fertig, also nicht wundern, dass es unvollständig aussieht.
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 14:39   #15
Matze500
Student der Informatik
 
Registriert seit: Jul 2010
Ort: NRW nähe Münster ;)
Beiträge: 356
Bedankt: 261
Matze500 ist noch neu hier! | 0 Respekt Punkte
Standard

So hab das mal eben durchlaufen lassen.

1.Fehler mehrere_test gibt keinen Wert zurück

2.Das versuche in mehrere_test ist nicht initialisiert steht irgend ein Müll immer drin.

Wenn ich 5 versuche mache läuft es bei mir sauber durch. Wie meinst du das, dass keiner der folgenden Durchläufe mehr funktioniert?

Jeder Test hat halt das selbe Ergebnis da du srand mit time(null) in jedem test vorinitialisierts.
Da der Zufall am PC in echt gar kein Zufall ist !!

Anbei dein Code etwas verändert damit auch das versuche mehr sin macht etc ...

Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int einfacher_test(void) 
{
    int versuche = 0;
    int zufall1 = 0;
    int zufall2 = 1;
	
    for(versuche = 1; zufall1 != zufall2; versuche++)
    {	
    zufall1 = rand() % (9999 - 1111 + 1) + 1111;
    zufall2 = rand() % (9999 - 1111 + 1) + 1111;
    }
    
    printf("\n\nEs wurden %d Chipkarten eingezogen.", versuche);
    
    return versuche;
	
}

int mehrfacher_test(void)
{
        srand((unsigned) time(NULL));
	int anzahl_tests;
	printf("Wie viel Tests sollen durchgefuehrt werden? ");
	scanf("%d", &anzahl_tests);
	int zaehler = 0;
        int versuche = 0;

	for(zaehler=1; zaehler<=anzahl_tests; zaehler++)
	{
	versuche += einfacher_test();
        }

	versuche = versuche / anzahl_tests;

	printf("\n\nBei %d Tests wurden im Durchschnitt %d Chipkarten eingezogen.", anzahl_tests, versuche);
    
	return 0;
}

int main(void)
{
	mehrfacher_test();
	fflush(stdin);
	getchar();
}
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Powered by Windows 7
Matze500 ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 14:41   #16
ChrizDoe
Anfänger
 
Registriert seit: Mar 2012
Beiträge: 12
Bedankt: 7
ChrizDoe ist noch neu hier! | 0 Respekt Punkte
Standard

in der einfacher_test funktion rufst du jedesmal srand auf, srand sollte aber nur einmal während der laufzeit aufgerufen werden da es den seed für die rand funktion bereitstellt und diese muss zur laufzeit nur einmal initialisiert werden.

In deiner mehrfacher_test funktion initialisierst du 'versuche' nie und weist der variablen auch nie etwas zu also kann da nichts vernünftiges rauskommen.
ChrizDoe ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 15:59   #17
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard

Danke für die Antworten.

Ich hab die Funktionen nun in eigene Dateien gepackt:

main.c
einfacher_test.c
mehrfacher_test.c

main.h

Jetzt zeigt er mir bei mehrfacher_test.c einen Fehler:

Zeile 6 Spalte 1 [Error] expected '=', ',', ';', 'asm' or '__attribute__' before 'int'

Das ist da, wo die "int mehrfacher_test(void)"-Funktion anfängt.
Mit dem Verweis: In function 'einfacher_test'

Allerdings funktioniert der Code, wenn er innerhalb einer Datei geschrieben ist. Nur nicht, wenn ich die Funktionen ausgliedere.
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 15:59   #18
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard

Danke für die Antworten.

Ich hab die Funktionen nun in eigene Dateien gepackt:

main.c
einfacher_test.c
mehrfacher_test.c

main.h

Jetzt zeigt er mir bei mehrfacher_test.c einen Fehler:

Zeile 6 Spalte 1 [Error] expected '=', ',', ';', 'asm' or '__attribute__' before 'int'

Das ist da, wo die "int mehrfacher_test(void)"-Funktion anfängt.
Mit dem Verweis: In function 'einfacher_test'

Allerdings funktioniert der Code, wenn er innerhalb einer Datei geschrieben ist. Nur nicht, wenn ich die Funktionen ausgliedere.

EDIT: Ich hab den Code, bis auf die main-Funktion von Matze500 genommen.

Liegt das an der main?

Hier ist der Code:

Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "geldautomaten_check_main.h"

int main(void)
{
	srand((unsigned) time(NULL));
	int auswahl;
	printf("Test der Sicherheit eines Geldautomaten");
	printf("\n(1) Einfacher Test");
	printf("\n(2) Mehrfacher Test");
	printf("\n(3) Programm beenden\n");
	scanf("\n\n%d", &auswahl);
	
	switch (auswahl)
    {
    	case 1:
    		einfacher_test();
    		break;
    	case 2:
    		mehrfacher_test();
    		break;
    	case 3:
    		exit;
    		break;
    	default:
    		printf("Bitte ausschliesslich zwischen 1, 2 oder 3 waehlen!");
    }
}
Sollte doch eigentlich stimmen.
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 16:07   #19
Odatas
Erfahrenes Mitglied
 
Registriert seit: Nov 2011
Beiträge: 651
Bedankt: 326
Odatas ist unten durch! | -158 Respekt PunkteOdatas ist unten durch! | -158 Respekt Punkte
Standard

Ich habs mir jezt nicht angeschaut aber bitte bitte bitte. Variablen immer Initialisieren. Da kann so ein Mist bei entstehen und ein =0 macht auch kaum Arbeit. Also

int auswahl=0;
Odatas ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 16:15   #20
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard

Danke, für den Hinweis, war mir nicht klar. Hab´s überall geändert.
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 16:15   #21
Odatas
Erfahrenes Mitglied
 
Registriert seit: Nov 2011
Beiträge: 651
Bedankt: 326
Odatas ist unten durch! | -158 Respekt PunkteOdatas ist unten durch! | -158 Respekt Punkte
Standard

Du hast außerdem 2 mal case 2 genommen. Weiß nicht ob das so beabsichtig ist.
Odatas ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 16:18   #22
Odatas
Erfahrenes Mitglied
 
Registriert seit: Nov 2011
Beiträge: 651
Bedankt: 326
Odatas ist unten durch! | -158 Respekt PunkteOdatas ist unten durch! | -158 Respekt Punkte
Standard

Zitat:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "geldautomaten_check_main.h"
Fällt dir in der letzten Zeile im Gegesatz zu den anderen Zeilen nichts auf?
Odatas ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 16:22   #23
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard

Das ist meine Header-Datei. Da ich die Funktionen in eigene Dateien gepackt habe, brauch ich doch eine, um sie zu verlinken. Ich hab´s so gelernt, Header-Dateien in Anführungszeichen zu setzen, wenn sie im gleichen Verzeichnis sind, wie die anderen Dateien. Sonst sucht er ja im Compiler-Verzeichnis danach. Oder liege ich da falsch.
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 16:27   #24
Odatas
Erfahrenes Mitglied
 
Registriert seit: Nov 2011
Beiträge: 651
Bedankt: 326
Odatas ist unten durch! | -158 Respekt PunkteOdatas ist unten durch! | -158 Respekt Punkte
Standard

Ups hab übersehen dass das deine Header Datei ist. Ne ist total richtig. Kannst du den Inhalt der Header Datei noch posten?
Odatas ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 16:29   #25
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard

Inhalt der Header-Datei:

Code:
int einfacher_test(void)
int mehrfacher_test(void)
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 16:33   #26
Odatas
Erfahrenes Mitglied
 
Registriert seit: Nov 2011
Beiträge: 651
Bedankt: 326
Odatas ist unten durch! | -158 Respekt PunkteOdatas ist unten durch! | -158 Respekt Punkte
Standard

Da liegt der Fehler. Was willst du denn machen in der Header?
Odatas ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 16:37   #27
Neo Larson
Anfänger
 
Registriert seit: May 2010
Beiträge: 37
Bedankt: 0
Neo Larson ist noch neu hier! | 0 Respekt Punkte
Standard

Hab´s grad gesehen. Ich hab die Semikolons vergessen. Nun läuft es.

Vielen Vielen Dank an alle beteiligten.

Ich werd sicherlich häufiger Fragen haben.

EDIT: Um deine Frage trotzdem zu beantworten. Ich will damit die Funktionen mit den anderen Dateien verlinken.
Neo Larson ist offline   Mit Zitat antworten
Ungelesen 07.01.14, 17:34   #28
spartan-b292
Echter Freak
 
Benutzerbild von spartan-b292
 
Registriert seit: Mar 2010
Ort: /home/spartan-b292
Beiträge: 2.866
Bedankt: 1.700
spartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punkte
Standard

Da es ja bei deinen Fragen immer um das selbe Programm geht habe ich die Themen jetzt mal zusammengeschoben.

Generell würde ich dir empfehlen deine Probleme selbst zu lösen und den Umgang mit Werkzeugen wie Valgrind (o.ä) zu lernen.
__________________
"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety"
spartan-b292 ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:16 Uhr.


Sitemap

().