Gemeinschaftsforum.com

Gemeinschaftsforum => Heimkino- und Technikforum => Thema gestartet von: PzychoOlli am 6 Januar 2004, 15:38:09

Titel: C-Problem. Haben wir hier auch C-Programmierer?
Beitrag von: PzychoOlli am 6 Januar 2004, 15:38:09
Folgendes Problem:

Ich soll ein Programm schreiben, welches in einem dynamischen Feld eingegebene Namen korrigiert (Groß/Kleinschreibung) und sie dann sortiert. Die Korrekturfunktion funktioniert, dass Sortieren macht jedoch Ärger. Ich vermute den Fehler in der strcpy()-Routine. Hier das böse Unterprogramm:

void SortNamen ( char * NamPtrArr[], int NamAnz ) {

 int  SortCount;
 char SwapName[30];
 int  Complete;


 do {
   Complete = TRUE;
   for ( SortCount=0; SortCount < NamAnz-1; SortCount++)
     if ( strcmp ( NamPtrArr[SortCount]   , NamPtrArr[SortCount+1] ) > 0) {
   strcpy    ( SwapName               , NamPtrArr[SortCount]   ); // Namen tauschen
   strcpy    ( NamPtrArr[SortCount]   , NamPtrArr[SortCount+1] );
   strcpy    ( NamPtrArr[SortCount+1] , SwapName               );
   Complete = FALSE;

     } // if Ende und SortCount Ende
 } while( ! Complete);
} // SortNamen Ende

Die Namen gehen folgendermassen rein:

1. Hans
2. Franz
3. Otto
4. Lisa-Marie
5. Lisa Marie

und kommen so wieder raus:

1. HansFranz
2. Hans
3. Lisa Lisa-Lisa Marie
4. Lisa-Lisa Marie
5. arie

Der Algorithmus müsste eigentlich funktionieren. Nur aus irgendeinem Grund scheint strcpy das \0 nicht zu checken und auch sonst verrücktzuspielen...

Achja, Compiler ist ein uraltes Win311 Teil von Borland, Version 3.1 Turbo C++

Jemand eine Idee?
Titel: Re: C-Problem. Haben wir hier auch C-Programmierer?
Beitrag von: wolfseye am 6 Januar 2004, 15:53:58
Zitat von: PzychoOlliFolgendes Problem:

Ich soll ein Programm schreiben, welches in einem dynamischen Feld eingegebene Namen korrigiert (Groß/Kleinschreibung) und sie dann sortiert. Die Korrekturfunktion funktioniert, dass Sortieren macht jedoch Ärger. Ich vermute den Fehler in der strcpy()-Routine. Hier das böse Unterprogramm:

void SortNamen ( char * NamPtrArr[], int NamAnz ) {

 int  SortCount;
 char SwapName[30];
 int  Complete;


 do {
   Complete = TRUE;
   for ( SortCount=0; SortCount < NamAnz-1; SortCount++){
     if ( strcmp ( NamPtrArr[SortCount]   , NamPtrArr[SortCount+1] ) > 0) {
   strcpy    ( SwapName               , NamPtrArr[SortCount]   ); // Namen tauschen
   strcpy    ( NamPtrArr[SortCount]   , NamPtrArr[SortCount+1] );
   strcpy    ( NamPtrArr[SortCount+1] , SwapName               );
   Complete = FALSE;

     } // if Ende und SortCount Ende
} //Ende der for Schleife versuchs mal so  
} while( ! Complete);
} // SortNamen Ende

Die Namen gehen folgendermassen rein:

1. Hans
2. Franz
3. Otto
4. Lisa-Marie
5. Lisa Marie

und kommen so wieder raus:

1. HansFranz
2. Hans
3. Lisa Lisa-Lisa Marie
4. Lisa-Lisa Marie
5. arie

Der Algorithmus müsste eigentlich funktionieren. Nur aus irgendeinem Grund scheint strcpy das \0 nicht zu checken und auch sonst verrücktzuspielen...

Achja, Compiler ist ein uraltes Win311 Teil von Borland, Version 3.1 Turbo C++

Jemand eine Idee?


Kleiner Tip: Du solltest dir einen neuen Compiler besorgen.

MfG Wolfseye
Titel: C-Problem. Haben wir hier auch C-Programmierer?
Beitrag von: PzychoOlli am 6 Januar 2004, 15:56:59
Nee, nee, da fehlt keine Klammer....und das mit dem Compiler plane ich auch schon seit längerem. Ausserdem hat sich das Problem gerade erledigt...wir dürfen nämlich nur die Pointer switchen, jedoch keine Zeichen kopieren...also noch mal von vorne...

Trotzdem danke für den Tip!
Titel: C-Problem. Haben wir hier auch C-Programmierer?
Beitrag von: thsich am 6 Januar 2004, 16:01:37
Auch wenns jetzt zu spät kommt...

Ich hab mir dein Code nicht richtig durchgelesen, nächstes mal solltest du ihn aber vernünftig einrücken...

Und dieses Forum kann ich dir empfehlen...

http://www.c-plusplus.de/forum

ist ziemlich gut. Ich hoffe das ich jetzt nicht gegen irgendwelche regeln verstoßen habe falls doch einfach löschen... :D
Titel: C-Problem. Haben wir hier auch C-Programmierer?
Beitrag von: PzychoOlli am 6 Januar 2004, 16:12:18
Der ist vernünftig eingerückt...das Forum hat ihn zurückgesetzt...
Klappt jetzt aber.  :wall:  Wenn ich Vollidiot mir die Aufgabenstellung gleich richtig durchgelesen hätte, hätte ich mir gute zwei Stunden gespart.
Die vermeintlich komplizierte Lösung lief nämlich sofort...  :wall:
Titel: C-Problem. Haben wir hier auch C-Programmierer?
Beitrag von: thsich am 6 Januar 2004, 16:33:04
Zitat von: PzychoOlliDer ist vernünftig eingerückt...das Forum hat ihn

gut, dann nehme ich das zurück.... :mrgreen:

Ich glaube das Programm oder so ähnlich muss jeder mal in c++ schreiben... :mrgreen:
Titel: Re: C-Problem. Haben wir hier auch C-Programmierer?
Beitrag von: Hallenbeck am 22 Mai 2006, 22:19:48
+++schieb+++

Hallo!
Ich brauche einen freeware C-Compiler der unter Win2000 läuft!
Hat jemand einen Link?


Hallenbeck
Titel: Re: C-Problem. Haben wir hier auch C-Programmierer?
Beitrag von: psYchO dAd am 22 Mai 2006, 22:35:22
Ich hab immer mit DefCpp programmiert, das gabs bei uns auf der Uni, dürfte Freeware sein.
Titel: Re: C-Problem. Haben wir hier auch C-Programmierer?
Beitrag von: KT am 22 Mai 2006, 22:37:05
Zitat von: Hallenbeck am 22 Mai 2006, 22:19:48
+++schieb+++

Hallo!
Ich brauche einen freeware C-Compiler der unter Win2000 läuft!
Hat jemand einen Link?


Hallenbeck

GCC schon probiert, nehme ich an?
Oder meinst du gleich eine Entwicklungsumgebung? http://www.bloodshed.net soll gar nicht so schlecht sein. Nutzt aber auch GCC, falls du mit dem Probleme hattest, kannst die von Bloodshed dann wahrscheinlich vergessen.

UPD:
Dürfte das Selbe sein, was Psycho DaD meint.
Titel: Re: C-Problem. Haben wir hier auch C-Programmierer?
Beitrag von: dÜnni am 24 Mai 2006, 20:37:11
Microsoft hat jetzt auch C++ und C#-Compiler als Express Edition gratis rausgegeben.
C# hab ich schon getestet - einwandfrei das Teil, das einzige was genervt hat war, das man für XP SP2 braucht und für Win2k musste ich auch irgendwas updaten (ist mir gerade entfallen) sonst installiert sich das Teil gar nicht erst.
Ansonsten sind das aber vollständige Entwicklungsumgebungen mit IntelliSense, Debugger, Beispielprogrammen und allem schnick schnack.

Gibts hier:
http://msdn.microsoft.com/vstudio/express/support/install/
Titel: Re: C-Problem. Haben wir hier auch C-Programmierer?
Beitrag von: Hallenbeck am 25 Mai 2006, 12:05:00
Hi!
Vielen Dank euch allen! Ist auf jeden Fall etwas dabei!  :D
Werde heute Nachmittag mal loslegen...


Hallenbeck
TinyPortal 2.0.0 © 2005-2020