Registrierung Gästebuch Kalender Mitgliederliste Teammitglieder Häufig gestellte Fragen Suche Zur Startseite
HackBox Forum
Forum Linkliste Online Spiele Datenbank Forum Foto Galerie Chat Portalansicht des Forum

HackBox Forum » Programmieren & Entwicklung » Programmieren » code debuggen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen code debuggen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Schatten Schatten ist männlich
Routinier


images/avatars/avatar-45.jpg
[meine Galerie]


Dabei seit: 24.07.2007
Beiträge: 356
Herkunft: Hessen

code debuggen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

tag, ich hab n bissy an einem code rumgeschrieben. ich wollte mal fragen ob ihr mir an 5-6 stellen helfen könnt, diesen zu debuggen, da ich mit den compileransagen nicht ganz zurecht komme.
Das Programm simuliert quasi eine Art Artikelverwaltung. Mit Artikel in Listen aufnehmen mit Name/Preis/Kommentar/Verfügbarkeit etc, das abändern dieser Listen sowie das aufnehmen von Bestellungen und das Generieren von Rechnungen. Ich weiß nicht, was ihr vom Stil haltet, ich hab versucht, oft wiederkehrende Schritte so gut es geht in Funktionen abzulegen, und auch die Variablenbenennung so eindeutig wie möglich zu wählen. Die Fehler um die es mir geht, werden euch beim Compilieren schon auffallen, aber ich poste sie nochmal

Zitat:
root@Sebastian-Unix:/home/sebastian/Desktop# gcc preise.c
preise.c 7: Warnung: mehrere Token am Ende der Direktive #else
preise.c: In Funktion »laden«:
preise.c:78: Warnung: return erzeugt Zeiger von Ganzzahl ohne Typkonvertierung
preise.c: In Funktion »list«:
preise.c:206: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »calloc« preise.c:254: Warnung: »return« mit Wert in void zurückgebender Funktion
preise.c: In Funktion »change«:
preise.c:294: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »calloc« preise.c:359: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »calloc«
preise.c: In Funktion »verf«:
preise.c:460: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »calloc«
preise.c: In Funktion »best«:
preise.c:558: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »calloc« preise.c:580: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »calloc«
preise.c: In Funktion »rechnung«: preise.c:697: Warnung: »return« mit Wert in void zurückgebender Funktion /tmp/ccby3K1h.o: In function `laden':
preise.cunglücklich .text+0x5f): warning: the `gets' function is dangerous and should not be used.


außerdem noch die Frage, welche Befehle benutze ich um unter Linux in Dateien zu schreiben? Denn mit fprintf() mag er net...

Also hier is der Code: http://rafb.net/p/T3u2aP53.html

Ach und nochwas, wie muss ich die Präprozessorweisungen ändern, damit er unter Linux die richtige Definition für CLEAR lädt, denn momentan definiert er CLEAR als system("cls"); trotz betriebes unter Linux

__________________
Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Schatten: 21.07.2008 17:56.

21.07.2008 17:54 Schatten ist offline E-Mail an Schatten senden Beiträge von Schatten suchen Nehmen Sie Schatten in Ihre Freundesliste auf
DarkSquirrel DarkSquirrel ist männlich
Kaiser


images/avatars/avatar-54.jpg
[meine Galerie]


Dabei seit: 02.07.2007
Beiträge: 1.102
Herkunft: ausm Ruhrpott

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

zunächstmal, du möchtest stdlib.h bei deinen includes haben ... (alle calloc fehler)

return mit klammern und argument ... gnahahahaa ... das ist keine funktion, auch wenn die schreibweise erlaubt ist...

was dir in zeile 78 angekreidet wird:

code:
1:
2:
3:
4:
5:
6:
FILE* laden()
{
...
return (int)1;
}

die funktion gibt laut definition einen FILE-pointer zurück ... du gibst einen int zurück ... was wird hier wohl nicht stimmen?!

wenn du nun sagst "aber pointer sind 4 byte groß, ints sind 4 byte groß, wo ist der unterschied?" ... das ist reiner zufall, wenn das auf einem system so ist ... 64bit ints sind auch nicht ungewöhnlich... integer sind per definition keine pointer ... es gibt auch architekturen auf denen int standardmäßig nur 16 bit groß ist ...

zeile 254 ein ähnliches spiel ...
die funktion hat den typ void und du schreibst ein return 0;

void heißt dass die funktion NICHTS zurück gibt ... 0 ist ein int

697 ... gleiches spiel ...

die letzte warning geht in zeile 71 auf dein konto ... gets() ist eine potentiell gefährliche funktion, da ein bufferoverflow zu befürchten ist ... eine alternative stellt z.b. fgets() dar ...

__________________
Gräten auf dem Sofakissen wird man wohl entfernen müssen.
21.07.2008 19:53 DarkSquirrel ist offline Beiträge von DarkSquirrel suchen Nehmen Sie DarkSquirrel in Ihre Freundesliste auf
Schatten Schatten ist männlich
Routinier


images/avatars/avatar-45.jpg
[meine Galerie]


Dabei seit: 24.07.2007
Beiträge: 356
Herkunft: Hessen

Themenstarter Thema begonnen von Schatten
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

also das mit gets is gefixed, die stdlib ist eingebunden...

ein problem habe ich aber noch mit den preprozessoranweisungen. es wird nicht erkannt, dass das programm auf einem UNIX artiken system läuft. ich habe folgende anweisungen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
#ifdef __UNIX__

 #define CLEAR printf("\x1B[2J");
#elif defined __WIN32__
 #define CLEAR system("cls");
#else
 #define CLEAR 

#endif


und trotzdem lande ich, wenn ich den code unter ubuntu compiliere, immer in der #else anweisung d.h eine leerdefinition von clear..

__________________
Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...
22.07.2008 16:03 Schatten ist offline E-Mail an Schatten senden Beiträge von Schatten suchen Nehmen Sie Schatten in Ihre Freundesliste auf
green
Haudegen



[meine Galerie]


Dabei seit: 19.09.2006
Beiträge: 595

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

__unix__ oder __unix
22.07.2008 16:13 green ist offline Beiträge von green suchen Nehmen Sie green in Ihre Freundesliste auf
Schatten Schatten ist männlich
Routinier


images/avatars/avatar-45.jpg
[meine Galerie]


Dabei seit: 24.07.2007
Beiträge: 356
Herkunft: Hessen

Themenstarter Thema begonnen von Schatten
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ok geht, man musses klein schreiben

__________________
Alle sagten, es geht nicht, da kam einer, der wusste das nicht und tat es einfach...

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Schatten: 22.07.2008 16:25.

22.07.2008 16:25 Schatten ist offline E-Mail an Schatten senden Beiträge von Schatten suchen Nehmen Sie Schatten in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen

Ähnliche Themen
Thread Gestartet Hits Antworten Letzte Antwort
Wie schreibt man einen HTML-Code zum einbetten (Forum: Web-Design)   28.08.2011 14:11 von Congo   14.447 4   13.09.2012 16:33 von green1  
Hakenkreuz und SS Symbole als Sonderzeichen / ASCI Code ? (Forum: Software)   23.02.2012 00:00 von Retaliate   9.892 1   21.06.2012 14:09 von Will_Enlos  
Willkommen Codex (Forum: Begrüssung der neuen Mitglieder)   10.02.2012 17:44 von HackBox-BOT   2.330 0   10.02.2012 17:44 von HackBox-BOT  
Willkommen FineCoder (Forum: Begrüssung der neuen Mitglieder)   05.05.2010 01:48 von HackBox-BOT   3.011 0   05.05.2010 01:48 von HackBox-BOT  
probleme mit code (Forum: Web-Design)   30.05.2008 15:59 von pimpong   54.762 71   06.08.2008 19:12 von DarkSquirrel  

HackBox Forum » Programmieren & Entwicklung » Programmieren » code debuggen

Views heute: 589 | Views gestern: 14.054 | Views gesamt: 86.392.973


© • www.hackbox.de forum.hackbox.de
Forensoftware: Burning Board 2.3.6 pl2, entwickelt von WoltLab GmbH
DB: 233.632s | DB-Abfragen: 63 | Gesamt: 0.133s | PHP: -175563.16% | SQL: 175663.16%