App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
*HELP*C++ Programmierung
- Ersteller Austin.D.Powers
- Erstellt am
Austin.D.Powers
Commander
hi leute,
ich hab ein großes problem. ich schreiben morgen eine clausur in algorithmen.
dort sollen wir ein programm mit c++ schreiben, dass eingegebene bustaben umwandelt.
die großbustaben in kleinbustaben und die kleinbustaben in großbustaben!!!
wir haben bisher nur mit dem consolenexperten gearbeitet !
ich hab überhaupt keine idee...mist! irgendwie mit dem ascii code ?
könnt ihr mir nicht helfen?
mfg
Austin.D.Powers
ich hab ein großes problem. ich schreiben morgen eine clausur in algorithmen.
dort sollen wir ein programm mit c++ schreiben, dass eingegebene bustaben umwandelt.
die großbustaben in kleinbustaben und die kleinbustaben in großbustaben!!!
wir haben bisher nur mit dem consolenexperten gearbeitet !
ich hab überhaupt keine idee...mist! irgendwie mit dem ascii code ?
könnt ihr mir nicht helfen?
mfg
Austin.D.Powers
Hmm ... einfach den Buchstaben in einen int casten und X draufaddieren bzw. abziehen (musste mal in der ASCII-Tabelle schauen wieviele Buchstaben dazwischen hängen - X ist die Zahl der Buchstaben dazwischen, nen bissle blöd erklärt aber ich denke du verstehst was ich meine) und anschließend den int wieder in einen char casten. Bin mir nämlich gerade nicht sicher, ob es entsprechende Routinen wie upper- und lower-case für chars in c++ gibt.
Funktioniert natürlich nur mit dem standard 256-Zeichen ASCII-Satz aber das dürfte dich bei einer Consolen-Anwendung nicht wirklich interessieren ... also wenn es ein DOS-Programm ist.
Funktioniert natürlich nur mit dem standard 256-Zeichen ASCII-Satz aber das dürfte dich bei einer Consolen-Anwendung nicht wirklich interessieren ... also wenn es ein DOS-Programm ist.
SuperCow
Admiral Special
- Mitglied seit
- 11.11.2001
- Beiträge
- 1.318
- Renomée
- 1
- Mein Laptop
- HP Compaq nx9005
- Prozessor
- X2 3800+ @2,5GHz @1,25V (default) @C'nQ
- Mainboard
- Gigabyte GA-MA69G-S3H
- Kühlung
- Arctic Cooling Freezer 64 Pro
- Speicher
- 4x512MB, DDR2-800, Aeneon
- Grafikprozessor
- onboard
- Display
- Sony SDM-X95FB (19'')
- HDD
- Seagate Barracuda 7200.10 250GB (250GB/Platters)
- Optisches Laufwerk
- LiteOn SOHD-16P9S (DVD/CD), Pioneer DVR-110 (DVD-Brenner)
- Soundkarte
- onboard
- Gehäuse
- Chieftec CS-601
- Netzteil
- 300W HEC
- Betriebssystem
- Windows 7
- Webbrowser
- IE 8
@i_hasser
Des ist wirklich ein bisschen umständlich...
SuperCow
Des ist wirklich ein bisschen umständlich...
SuperCow
Wenn du keine Umlaute willst, brauchst du nur die 1. beiden Zeilen. Die Umlaute stehen afaik nicht direkt hintereinander, wesswegen es da nur so geht.
Allerdings sollte man das natürlich noch passend verpacken, damit die beiden Ifs nicht hintereinander ausgeführt werden. Sonst löst sich der Algorithmus wie Materie und Antimaterie in nix auf .
Allerdings sollte man das natürlich noch passend verpacken, damit die beiden Ifs nicht hintereinander ausgeführt werden. Sonst löst sich der Algorithmus wie Materie und Antimaterie in nix auf .
@i_hasser:
Weiß nicht genau worauf du hinaus willst aber er will doch die Buchstaben in die jeweils andere Variante umwandeln (also von klein auf groß und anders herum). Deine if-Abfragen sind ja schön und toll aber damit hab ich noch lange keinen Buchstaben umgewandelt sondern allerhöchstens abgefragt ob ein Buchstabe eingegeben wurde.
Algorithmus würde ich das erst gar nicht nennen
Klar kannst du jetzt jeden Buchstaben überprüfen aber ich hab mir mal die Mühe gemacht etwas in meinen uralten Unterlagen zu kramen.
Wenn du nicht subtrahieren und addieren magst, binde einfach die ctype-library von C++ ein - dann hast du alle char-Sachen ohne das du sie selbst programmieren muss.
Beispiel (C++) - wenn du es in C brauchst sieht es ein klein wenig anders aus:
mit "isalpha (c)" kannst du noch überprüfen ob es sich um einen Buchstaben handelt ... Musst du eine ganze Zeichenkette umwandeln machst du das bspw. in einer While-Schleife oder eben mit den standard-String-Funktionen.
Weiß nicht genau worauf du hinaus willst aber er will doch die Buchstaben in die jeweils andere Variante umwandeln (also von klein auf groß und anders herum). Deine if-Abfragen sind ja schön und toll aber damit hab ich noch lange keinen Buchstaben umgewandelt sondern allerhöchstens abgefragt ob ein Buchstabe eingegeben wurde.
Algorithmus würde ich das erst gar nicht nennen
Klar kannst du jetzt jeden Buchstaben überprüfen aber ich hab mir mal die Mühe gemacht etwas in meinen uralten Unterlagen zu kramen.
Wenn du nicht subtrahieren und addieren magst, binde einfach die ctype-library von C++ ein - dann hast du alle char-Sachen ohne das du sie selbst programmieren muss.
Beispiel (C++) - wenn du es in C brauchst sieht es ein klein wenig anders aus:
Code:
#include <cctype>
[...]
char c;
if (isupper (c))
{
c = tolower (c);
}
else
{
c = toupper (c);
}
[...]
mit "isalpha (c)" kannst du noch überprüfen ob es sich um einen Buchstaben handelt ... Musst du eine ganze Zeichenkette umwandeln machst du das bspw. in einer While-Schleife oder eben mit den standard-String-Funktionen.
i_hassers Lösungsansatz ist doch soweit ganz gut. Er wollte wohl keinen komplett fertigen Code hier reinsetzen, weil da das "Nachdenk"-Feature im Hirn sich meist abschaltet.
und btw: dein Code kommt nicht mit den Umlauten klar, die werden von der C-Bibliothek ignoriert
und btw: dein Code kommt nicht mit den Umlauten klar, die werden von der C-Bibliothek ignoriert
Aber die Umlaute kann man ja noch extra ausklammern.
Mit "if bla >= 'A' " machst du jedenfalls keinen Buchstaben groß und ich hab bereits in meinem ersten Posting eine Lösung erklärt die ohne die Library funktioniert
i_hasser scheint darauf hinaus zu wollen jeden der 26 Buchstaben (+ Umlaute) in jeweils 2 Kombinationen zu überprüfen und entsprechend den Buchstaben zu setzen. Das ist aber alles andere als sinnvoll.
Mit der Abfrage "if( (xyz>='a')&&(xyz<='z') )" hat er ja nur geschaut wo sich xyz "befindet", ohne zu wissen was dann mit xyz passieren soll macht das IMHO keinen Sinn. Oder anders ausgedrückt: Der Threadersteller wird, wenn er die Library nicht benutzt wohl eine Kombination aus if-Anweisungen und casten->addieren/subtrahieren->casten brauchen.
Wobei casten hier für Dinge wie: n = (int) c steht - wobei c vom typ char ist und n ein int.
Mit "if bla >= 'A' " machst du jedenfalls keinen Buchstaben groß und ich hab bereits in meinem ersten Posting eine Lösung erklärt die ohne die Library funktioniert
i_hasser scheint darauf hinaus zu wollen jeden der 26 Buchstaben (+ Umlaute) in jeweils 2 Kombinationen zu überprüfen und entsprechend den Buchstaben zu setzen. Das ist aber alles andere als sinnvoll.
Mit der Abfrage "if( (xyz>='a')&&(xyz<='z') )" hat er ja nur geschaut wo sich xyz "befindet", ohne zu wissen was dann mit xyz passieren soll macht das IMHO keinen Sinn. Oder anders ausgedrückt: Der Threadersteller wird, wenn er die Library nicht benutzt wohl eine Kombination aus if-Anweisungen und casten->addieren/subtrahieren->casten brauchen.
Wobei casten hier für Dinge wie: n = (int) c steht - wobei c vom typ char ist und n ein int.
Austin.D.Powers
Commander
vielen dank für eure antworten...
ich glaub, ich kann damit etwas anfangen.
ich sitz hier gerade in der schule und schreib die arbeit in der 3-4 stunde! 8)
ich glaub ich bin gerettet...thx
mfg
Austin.D.Powers
ich glaub, ich kann damit etwas anfangen.
ich sitz hier gerade in der schule und schreib die arbeit in der 3-4 stunde! 8)
ich glaub ich bin gerettet...thx
mfg
Austin.D.Powers
Ging mir gerade um dieses Nachdenken. Das ist kein fertiger Alg, das sollte ja wohl jedem auf den ersten Blick klar sein... so könnte das fertig aussehen:
Es war wohl kaum die Aufgabe, dafür die C Lib zu bemühen.
PHP:
void swapChar(char* a)
{
if( (*a>='a')&&(*a<='z') )
{
*a+='A'-'a';
return;
}
if( (*a>='A')&&(*a<='Z') )
{
*a+='a'-'A';
return;
}
// restliche ifs für umlaute, falls erforderlich
}
int main()
{
char* text="Das ist ein Text, dessen Groß/Kleinschreibung geändert werden soll.";
int i;
for(i=0;text[i]!=0;i++) swapChar(&text[i]);
return;
}
Es war wohl kaum die Aufgabe, dafür die C Lib zu bemühen.
Was die Aufgabe genau war weiß ich auch nicht aber zu irgendetwas sind die Standardlibraries ja schließlich da
Sorry aber ich hätte mit den einzelnen if-Anweisungen nicht viel anfangen können wenn du nicht einmal erklärst worauf du hinaus möchtest. Das was du zuletzt geschrieben hast ergibt ja schon mehr Sinn aber das hättest du auch einfach so schreiben können oder? Nicht jeder hier programmiert sein halbes Leben lang Oder willst du mir erklären er wäre von alleine auf 'A'-'a' gekommen? Ja, ja ich weiß du hast es ja auch erwähnt aber mal ehrlich, könntest du mit einer Aussage "'A'-'a'" etwas anfangen wenn du sie nicht im Kontext siehst?
Sorry aber ich hätte mit den einzelnen if-Anweisungen nicht viel anfangen können wenn du nicht einmal erklärst worauf du hinaus möchtest. Das was du zuletzt geschrieben hast ergibt ja schon mehr Sinn aber das hättest du auch einfach so schreiben können oder? Nicht jeder hier programmiert sein halbes Leben lang Oder willst du mir erklären er wäre von alleine auf 'A'-'a' gekommen? Ja, ja ich weiß du hast es ja auch erwähnt aber mal ehrlich, könntest du mit einer Aussage "'A'-'a'" etwas anfangen wenn du sie nicht im Kontext siehst?
Es sollten ja auch eher Denkanstöße sein.
'A'-'a' war als Antwort auf die Differenz zwischen Groß- und Kleinbuchstaben gedacht, die braucht man nämlich garnet wissen. In C sind Buchstaben nunmal chars, also 1Byte Variablen.
Und die IFs...
Wenn Großbuchstabe, dann...
Wenn Kleinbuchstabe, dann...
So sollte ja ein Gerüst zu dem Alg aussehen. Das Problem ist, dass man das Prog das ich gepostet hab, so 1:1 übernehmen kann, ohne die eigenen Grauen Zellen anzustrengen.
'A'-'a' war als Antwort auf die Differenz zwischen Groß- und Kleinbuchstaben gedacht, die braucht man nämlich garnet wissen. In C sind Buchstaben nunmal chars, also 1Byte Variablen.
Und die IFs...
Wenn Großbuchstabe, dann...
Wenn Kleinbuchstabe, dann...
So sollte ja ein Gerüst zu dem Alg aussehen. Das Problem ist, dass man das Prog das ich gepostet hab, so 1:1 übernehmen kann, ohne die eigenen Grauen Zellen anzustrengen.
Devastators
Grand Admiral Special
- Mitglied seit
- 03.06.2001
- Beiträge
- 17.242
- Renomée
- 149
- Standort
- Bochum
- Mein Laptop
- Acer 8730 & 3810T & VN7 791G
- Prozessor
- Intel Q9550
- Mainboard
- -
- Kühlung
- Arctic Freezer 7 Pro
- Speicher
- 4* 1 Gig DC
- Grafikprozessor
- Asus GTX 750TI
- Display
- Asus VW246H 24" FHD
- SSD
- Samsung 850 EVO
- HDD
- 2 * Sata Maxtor 200GB 1 * WD 250 Gig IDE
- Optisches Laufwerk
- Plextor PX750A
- Soundkarte
- -
- Gehäuse
- Antec P180
- Netzteil
- BeQuiet 450Watt Straight Power
- Betriebssystem
- Win7 64
- Webbrowser
- IExplorer 8
- Verschiedenes
- DigiCam: Canon EOS 300D, Canon 50D , Beamer: SanyoZ3 , Camcorder: Canon HF200 HD , PS3 , Wii
McTristan schrieb:aus diesem Posting
könntest du mit einer Aussage "'A'-'a'" etwas anfangen wenn du sie nicht im Kontext siehst?
'A'- 'a' gibt doch einfach nur die Differenz der Positionen im Ascii Code an die zwischen einem Gross- und einem Kleinbuchstaben stehen.
Der riesen Vorteil liegt m.E. darin, dass man die Ascii Tabelle nicht kennen muss, sondern nur wissen muss ob zuerst die Gross oder die Kleinbuchstaben kommen.
der ' ' Befehl ist doch relativ Grundlegend, oder nicht?
EDIT: Zu spät
Nichtmal das . Es ist wie bei der Vektorrechnung, um den Vektor von A nach B zu bekommen, muss man Ziel-Quelle Rechnen.
Will man also von Klein- zu Großbuchstaben, rechnet man Großbuchstabe - Kleinbuchstabe, ansonsten umgekehrt. Chars können auch negativ sein, selbst wenn sie unsigned sind. Das signed/unsigned bezieht sich nur auf Multiplikation, Division und Zeichenausgabe. Bei Addition/Subtraktion ist es egal, ob signed oder unsigned.
Will man also von Klein- zu Großbuchstaben, rechnet man Großbuchstabe - Kleinbuchstabe, ansonsten umgekehrt. Chars können auch negativ sein, selbst wenn sie unsigned sind. Das signed/unsigned bezieht sich nur auf Multiplikation, Division und Zeichenausgabe. Bei Addition/Subtraktion ist es egal, ob signed oder unsigned.
*grummel*
Man Leute es ging hier nicht um mich sondern um einen Null-8-Fünfzehn-Ich-muss-mal-eben-für-den-Info-Unterricht-eine-Aufgabe-lösen Menschen und der will es vielleicht auch einfach erklärt bekommen.
Wenn du ihm 'A'-'a' vorsetzt weiß er mit an 100% angrenzender Wahrscheinlichkeit nichts damit anzufangen. Deshalb hab ich es anschaulich erklärt.
Klar ist die (End)Version von i_hasser besser aber damit hat oben genannter Usertyp evtl. so seine Probleme.
Man Leute es ging hier nicht um mich sondern um einen Null-8-Fünfzehn-Ich-muss-mal-eben-für-den-Info-Unterricht-eine-Aufgabe-lösen Menschen und der will es vielleicht auch einfach erklärt bekommen.
Wenn du ihm 'A'-'a' vorsetzt weiß er mit an 100% angrenzender Wahrscheinlichkeit nichts damit anzufangen. Deshalb hab ich es anschaulich erklärt.
Klar ist die (End)Version von i_hasser besser aber damit hat oben genannter Usertyp evtl. so seine Probleme.
Devastators
Grand Admiral Special
- Mitglied seit
- 03.06.2001
- Beiträge
- 17.242
- Renomée
- 149
- Standort
- Bochum
- Mein Laptop
- Acer 8730 & 3810T & VN7 791G
- Prozessor
- Intel Q9550
- Mainboard
- -
- Kühlung
- Arctic Freezer 7 Pro
- Speicher
- 4* 1 Gig DC
- Grafikprozessor
- Asus GTX 750TI
- Display
- Asus VW246H 24" FHD
- SSD
- Samsung 850 EVO
- HDD
- 2 * Sata Maxtor 200GB 1 * WD 250 Gig IDE
- Optisches Laufwerk
- Plextor PX750A
- Soundkarte
- -
- Gehäuse
- Antec P180
- Netzteil
- BeQuiet 450Watt Straight Power
- Betriebssystem
- Win7 64
- Webbrowser
- IExplorer 8
- Verschiedenes
- DigiCam: Canon EOS 300D, Canon 50D , Beamer: SanyoZ3 , Camcorder: Canon HF200 HD , PS3 , Wii
McTristan schrieb:aus diesem Posting
aber damit hat oben genannter Usertyp evtl. so seine Probleme.
Gedankenleser, was
Könntest Dich mit meiner Freundin zusammentun, die glaubt auch immer zu wissen was ich denke
Wenn ich mich recht errinere musstest du 0x20 addieren bzw. subtrahieren.
antwort darauf von I_hasser:
'A'-'a'
Ich weiss nicht was daran so schwierig ist
Jemanden einfach einen fertigen Algo geben bringt wirklich niemanden etwas.
Du hast einfach nicht die Idee von i_hasser verstanden ohne den kompletten Code zu sehen...
Ja bin in der Tat beruflich Gedankenleser, wenn auch keine Frau
Nee mal im ernst, mir ging es bloß darum, dass erst etliche Postings nach 'A'-'a' erklärt wurde was man damit machen soll. Für dich und i_hasser sieht es so aus als wäre alles klar und das 'A'-'a' bezieht sich auf die Anzahl der Zeichen zwischen beiden Buchstaben, für andere vielleicht nicht.
Na ist ja auch egal - Gott hat dem Programmierer ja zum Glück Libraries mit vorgefertigten Funktionen an die Hand gelegt.
Nee mal im ernst, mir ging es bloß darum, dass erst etliche Postings nach 'A'-'a' erklärt wurde was man damit machen soll. Für dich und i_hasser sieht es so aus als wäre alles klar und das 'A'-'a' bezieht sich auf die Anzahl der Zeichen zwischen beiden Buchstaben, für andere vielleicht nicht.
Na ist ja auch egal - Gott hat dem Programmierer ja zum Glück Libraries mit vorgefertigten Funktionen an die Hand gelegt.
coldfingers
Lt. Commander
- Mitglied seit
- 28.10.2004
- Beiträge
- 123
- Renomée
- 0
Von was zum teufel redet ihr überhaupt ?? Wenn ich das so lese wird mir ganz anders ich bin umgeben von lauter Cracks
Meine Freundin lernt gerade C++ für ihr Techniker Studium und tuht sich nicht gerade leicht dabei :/ Dachte ich werfe mal nen Blick hier rein aber ganz ehrlich wie lange muss man proggen um sowas zu checken ? Man ist das alles interessant was für n Buch issn da so zu empfehlen (ich meine für einen richtigen Neulandseinsteiger) ??
Meine Freundin lernt gerade C++ für ihr Techniker Studium und tuht sich nicht gerade leicht dabei :/ Dachte ich werfe mal nen Blick hier rein aber ganz ehrlich wie lange muss man proggen um sowas zu checken ? Man ist das alles interessant was für n Buch issn da so zu empfehlen (ich meine für einen richtigen Neulandseinsteiger) ??
Messiahs_128
Commodore Special
Da hättest du auch die Suchfunktion nutzen können.
http://www.planet3dnow.de/vbulletin/showthread.php?t=210103&highlight=B%FCcher
http://www.planet3dnow.de/vbulletin/showthread.php?t=190757&highlight=B%FCcher
http://www.planet3dnow.de/vbulletin/showthread.php?t=176632&highlight=B%FCcher
Bitte schön und viel erfolg dir und deiner Freundin beim Programmierien.
http://www.planet3dnow.de/vbulletin/showthread.php?t=210103&highlight=B%FCcher
http://www.planet3dnow.de/vbulletin/showthread.php?t=190757&highlight=B%FCcher
http://www.planet3dnow.de/vbulletin/showthread.php?t=176632&highlight=B%FCcher
Bitte schön und viel erfolg dir und deiner Freundin beim Programmierien.
coldfingers
Lt. Commander
- Mitglied seit
- 28.10.2004
- Beiträge
- 123
- Renomée
- 0
Messiahs_128 schrieb:aus diesem Posting
Da hättest du auch die Suchfunktion nutzen können.
http://www.planet3dnow.de/vbulletin/showthread.php?t=210103&highlight=B%FCcher
http://www.planet3dnow.de/vbulletin/showthread.php?t=190757&highlight=B%FCcher
http://www.planet3dnow.de/vbulletin/showthread.php?t=176632&highlight=B%FCcher
Bitte schön und viel erfolg dir und deiner Freundin beim Programmierien.
Ja hast recht aber danke dir trotzallem !
Messiahs_128
Commodore Special
Kein Problem solange das nicht zur regel wird ist das nicht schlimm. Viel spaß noch
Ähnliche Themen
- Antworten
- 0
- Aufrufe
- 457
- Antworten
- 0
- Aufrufe
- 3K
- Antworten
- 0
- Aufrufe
- 2K
- Antworten
- 6
- Aufrufe
- 3K