Habe mal eine Frage zum folgende C Code ?

...komplette Frage anzeigen

2 Antworten

in etwa so sollte die Ein und Ausgabe ausgeben. Es müssen alle 4 Fälle abgedeckt werden.

1.Fall Eingabe sollte in etwa so aussehen: 2

Ausgabe: II

2.Fall Eingabe sollte in etwa so aussehen: 2HaLlO

Ausgabe: IIhAlLo

3.Fall Eingabe sollte in etwa so aussehen: Ha2lLo

Ausgabe: hAIILlO

4.Fall Eingabe sollte in etwa so aussehen: hALlo2
Ausgabe: HalLOII

void buchstabeUmwandlung(unsigned int len, char *quelle)

{

unsigned int i=0,j=0;

char einString[128];

for(i=0;i<128;i++)

{

einString[i]=quelle[i];

if ((einString[i]>=97) && (einString[i]<=122))

{

einString[i] = toupper(einString[i]);

}

else if ((einString[i]>=65) && (einString[i]<=90))

{

einString[i] = tolower(einString[i]);

}

switch(einString[i])

{

//einString[i]=(char*) realloc(einString,132);

case 49: einString[i] = ‘I’; break;

case 50: einString[i] = “II”; break;

case 51: einString[i] = “III”; break;

case 52: einString[i] = “IV”; break;

case 53: einString[i] = 'V'; break;

case 54: einString[i] = “VI”; break;

case 55: einString[i] = “VII”; break;

case 56: einString[i] = “VIII”; break;

case 57: einString[i] = “IX”; break; //IX 9

default: break;

}

quelle[i]=einString[i];

}

}

Antwort bewerten Vielen Dank für Deine Bewertung

Kannst du den Code nochmal komplett schicken?

einStrinng[i]);

--> Schreibfehler..

Antwort bewerten Vielen Dank für Deine Bewertung
CCode 18.02.2016, 21:01

in etwa so sollte die Ein und Ausgabe ausgeben. Es müssen alle 4 Fälle abgedeckt werden.

1.Fall Eingabe sollte in etwa so aussehen: 2
Ausgabe: II

2.Fall Eingabe sollte in etwa so aussehen: 2HaLlO
Ausgabe: IIhAlLo

3.Fall Eingabe sollte in etwa so aussehen: Ha2lLo
Ausgabe: hAIILlO

4.Fall Eingabe sollte in etwa so aussehen: hALlo2
Ausgabe: HalLOII

void buchstabeUmwandlung(unsigned int len, char *quelle)
{

unsigned int i=0,j=0;
char einString[128];
for(i=0;i<128;i++)
{
einString[i]=quelle[i];

if ((einString[i]>=97) && (einString[i]<=122))
{
einString[i] = toupper(einString[i]);
}
else if ((einString[i]>=65) && (einString[i]<=90))
{
einString[i] = tolower(einString[i]);
}

switch(einString[i])
{
//einString[i]=(char*) realloc(einString,132);

case 49: einString[i] = ‘I’; break;
case 50: einString[i] = “II”; break;
case 51: einString[i] = “III”; break;
case 52: einString[i] = “IV”; break;
case 53: einString[i] = 'V'; break;
case 54: einString[i] = “VI”; break;
case 55: einString[i] = “VII”; break;
case 56: einString[i] = “VIII”; break;
case 57: einString[i] = “IX”; break; //IX 9

default: break;
}

quelle[i]=einString[i];

}
}

0
safur 18.02.2016, 21:18
@CCode

Um die Fälle zu behandeln würde ich per For-Schleife Zeichen für Zeichen den String durchgehen

Zeichen isdigit()?
--> Ja! Römische Zahl per Switch
--> Nein! Frage (Kleinbuchstabe -> Großbuchstabe; Großbuchstabe -> Kleinbuchstabe)

Hilft dir das schon mal etwas weiter?

1
CCode 18.02.2016, 22:05
@safur

Es hilft mir schon etwas, allerdings kannst du es mir C Codemäßig erklären, ich weiss nicht wie ich es umsetzen soll. Meinst du so if(isdigit(zeichen)) und weiter........... meine Betreuer meint auch, dass ich zwei Felder deklarieren muss, mit zwei Schleifen die eine Schelife für das EingabeString und die andere von die AusgabeString

Vielen Dank für deine Hilfe

0
safur 18.02.2016, 22:08
@CCode

Klar, aber du sollst auch verstehen was du da machst :)

Schön wenn dir jemand nen Code liefert. Du solltest auch verstehen, warum usw.

Verstehst du?

 

0

Was möchtest Du wissen?