Brauche Hilfe

Hallo Experten,

ich brauch schnelle Hilfe bitte helft mir, bitte. Ich wär euch sehr dankbar.

Wir schreiben übermorgen eine C++ Klausur und ich hab noch Probleme.

Diese Aufgaben müssen in einer Win32-Konsolenanwendung mit einer cpp-Quellcodedatei geschrieben werden mit den gobalen Variabelen

#include
void main(void)

a)Schreiben Sie eine Anweisung, die in einen String(Zeichenkette) einrichtet, der 120 Zeichen aufnehmen kann.

b)Schreiben Sie eine Anweisung, die in diesem String das 5. zeichen in das §-Zeichen umwandelt.

c)Schreiben Sie eine Anweisung, die den String anch dem 13. Zeichen enden lässt.

eine große Aufgabe:

Schreiben Sie ein Programm, das zur Eingabe einer Kunden-Identifikationsnummer auffordert.

Dieser Kunden-Key soll das Format

**-****-**

haben d.h er besteht aus 10 zeichen, wobei das 3. und das 8. Zeichen Minuszeichen ist.
Die pbrigen Zeichen (hier*) dürfen alles mögliche sein, nur keine Minuszeichen!

Die Überprüfung der Eingabe soll in einer Funktion
int PruefKey(char*s)
erfolgen.
Die Eingabe soll in einer Schleife(do-while) wiederholt werden, bis sie vom Format her richtig ist.

Danke

Gruß

Harald

Hallo Harald,

Und was sind deine Fragen ??

Wir helfen hier gerne, aber wir sind nicht dazu da, für Andere Hausaufgaben zu erledigen.

MfG Peter(TOO)

Hausaufgaben sind das nicht, das sind Übungen die wir nicht machen müssen. Das Problemm bei mir liegt das ich nicht genau weiß wie ich vorgehen muss. Z.B. wie wandelt man bei einem String den 5. Buchstaben in § um?

ich weiß nicht genau weiter würde so ne Funktion bilden:

int Umwandeln(char*s)
{
int i;
for(i=0;s[i]!=’\0’;i++)
if(s[i]==5)
{
s=’§’;
}
return s;

oder so ähnlich. Bitte helf mir weiter.

Danke

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Hausaufgaben sind das nicht, das sind Übungen die wir nicht
machen müssen. Das Problemm bei mir liegt das ich nicht genau
weiß wie ich vorgehen muss. Z.B. wie wandelt man bei einem
String den 5. Buchstaben in § um?

Ist nicht Dein Ernst, oder?

ich weiß nicht genau weiter würde so ne Funktion bilden:

int Umwandeln(char*s)
{
int i;
for(i=0;s[i]!=’\0’;i++)
if(s[i]==5)
{
s=’§’;
}
return s;

oder so ähnlich. Bitte helf mir weiter.

Ähm, ich will ja nicht negativ klingen, aber das mit der C++ Klausur übermorgen würde ich mir überlegen. Such Dir lieber schonmal 'nen Arzt, der Dich krankschreibt, falls das erforderlich sein sollte.

Wieso willst Du den ganzen String durchsuchen, wenn Du sowieso weißt, dass Du stets das 5. Zeichen ändern sollst?

Einfach s[5] = ‚§‘ (oder zur Not den entsprechenden ISO-8859-1 Code, falls es kein ‚§‘ Zeichen geben sollte, das ist ohnehin ein doofes Zeichen für so eine Übung. Ein ‚!‘ oder so hätte es doch auch getan.)

Gruß

Fritze

Hausaufgaben sind das nicht, das sind Übungen die wir nicht
machen müssen. Das Problemm bei mir liegt das ich nicht genau
weiß wie ich vorgehen muss. Z.B. wie wandelt man bei einem
String den 5. Buchstaben in § um?

ich weiß nicht genau weiter würde so ne Funktion bilden:

// Zeiger auf den zuvor eingerichteten String übergeben

int Umwandeln(char*s)
{

// Laufvariable deklarieren

int i;

// Schleife über den String, vom ersten Zeichen bis zur terminierenden \0

for(i=0;s[i]!=’\0’;i++)

// hat das Zeichen an der Position i den ASCII-Wert 5?

if(s[i]==5)
{

// ja, dann ersetze das Zeichen an der i-ten Position durch ‚§‘ und setze schleife fort

s=’§’;
}

// gebe den übergebenen (char*) zurück, obwohl an dieser Stelle nur ein int erlaubt ist (siehe Kopf der Funktion)

return s;

// setze dich über die verzeifelten Warnings des Compilers hinweg und ignoriere sie

oder so ähnlich. Bitte helf mir weiter.

Der Aufgabentext zu der obigen Lösung lautet:
Ersetze jedes Zeichen mit dem ASCII-Wert=5 durch das Zeichen ‚§‘.

Wenn du die fehlenden Kommentare in der folgenden Funktion einsetzt, dann gibt’s beim nächsten mal wieder einen Tipp:

void foo( char* _string )
{
// ???
if ( strlen(_string) >= 5 )
{
// ???
_string[5] = ‚§‘;
}
}

Gruß Markus

Hallo Harald,

Hausaufgaben sind das nicht, das sind Übungen die wir nicht
machen müssen. Das Problemm bei mir liegt das ich nicht genau
weiß wie ich vorgehen muss. Z.B. wie wandelt man bei einem
String den 5. Buchstaben in § um?

Und die Pflichtübungen hast du alle gemacht ??

Hier kannst du nachlesen wie das mit den Strings so ist:
http://www.nf.fh-nuernberg.de/~jesorsky/skript-c/str…

Und hier ist der Ganze Kurs:
http://www.nf.fh-nuernberg.de/~jesorsky/skript-c/

MfG Peter(TOO)

Hallo Markus!

if ( strlen(_string) >= 5 )
{
// ???
_string[5] = ‚§‘;
}

Und das von einem alten Fuchs, tststs… :wink:

// ersetze das x-te Zeichen
\_string[0] = '!';

Bitte um korrekte Ersetzung von x im Kommentar *ggg*

Liebe Grüße und nix für ungut,
Martin

Hallo Markus!

if ( strlen(_string) >= 5 )
{
// ???
_string[5] = ‚§‘;
}

Und das von einem alten Fuchs, tststs… :wink:

// ersetze
das x-te Zeichen
_string[0] = ‚!‘;

Bitte um korrekte Ersetzung von x im
Kommentar *ggg*

Murphy persönlich hat mir da assistiert :o)

if ( strlen(_string) >= 5 )
{
// ???
_string[5-1] = ‚§‘;
}

Gruß Markus