Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Buchstaben Verschiebung von variable also "uftu" zurück nach "test"

Frage Entwicklung C und C++

Mitglied: mghelp

mghelp (Level 1) - Jetzt verbinden

09.12.2006, aktualisiert 10.12.2006, 5690 Aufrufe, 5 Kommentare

#include <stdio.h>
#include <string.h>
int main()
{
char text[101];
unsigned int i;
printf("Eingabe Text (bis zu %i Zeichen):\n", sizeof (text)-1);
gets(text);
printf("\nDer Text lautet\n%s\n\n", text);
for (i=0; i<strlen(text); i++)
{
if (text[i]>='A' && text[i]<='Z' || text[i]>='a' && text[i]<='z')
{
text[i]++;
if (text[i]=='Z'+1 || text[i]=='z'+1)
text[i]='a';
}
}

printf("Der Text lautet codiert\n%s\n", text);
getchar();
return 0;
}

Also wenn ich "test" eingebe bekomme ich "uftu" raus (später will ich den wert von einer textdatei einlesen und uftu nach test wieder zurück verschiebt

Danke mghelp
Mitglied: filippg
09.12.2006 um 15:27 Uhr
Hallo,

... das ist ja schön. Und, hattest du auch eine Frage, oder wolltest du uns nur mitteilen, dass du Text verschieben kannst?

Filipp
Bitte warten ..
Mitglied: Biber
09.12.2006 um 15:54 Uhr
@filippg
Da hab ich auch gegrübelt, was denn nun die Frage ist...

Ich denke, er hat es HINverschoben und will es wieder ZURÜCKverschieben. Ist aber nur eine Vermutung.
Wie hatten mal einen ähnlichen Thread: "Ich habe mit C in die Registry geschrieben - wie kann ich das wieder lesen?" oder so ähnlich.
BTW, hast Du mal einen Blick auf StarUML geworfen?

@mghelp
Wenn Du irgendwelche Strings transformieren willst, solltest Du dazu eine Funktion verwenden, wenn der Algorithmus simpel genug ist, um VOR/RETOUR zu transformieren.
Meinetwegen auch zwei Funktionen (schiebhin()/schiebher()), falls es mal komplexer werden sollte.

Beispiel:
01.
#include <stdio.h> 
02.
#include <string.h> 
03.
#define VOR 1 
04.
#define RETOUR -1 
05.
void verschieb(char* in, char* out, int diff);  
06.
 
07.
int main() 
08.
09.
char text[101]; 
10.
char schiebtext[101]; 
11.
printf("Eingabe Text (bis zu %i Zeichen):\n", sizeof (text)-1); 
12.
gets(text); 
13.
printf("\nDer Text lautet\n%s\n\n", text); 
14.
verschieb(text, schiebtext, VOR); 
15.
printf("Verschobener Text VOR lautet \n%s\n", schiebtext); 
16.
verschieb(schiebtext, schiebtext , RETOUR); 
17.
printf("Verschobener Text RETOUR lautet \n%s\n", schiebtext); 
18.
getchar(); 
19.
 
20.
return 0; 
21.
22.
void verschieb(char*  in, char *out, int diff) { 
23.
int i;      
24.
for (i=0; i<strlen(in); i++) { 
25.
       out[i] = in[i]+diff; 
26.
out[strlen(in)]='\0';    
27.
28.
}
Gruß
Biber
Bitte warten ..
Mitglied: mghelp
09.12.2006 um 16:41 Uhr
Danke für eine Antwort.

Meine Frage war "Ich habe Buchstabenverschoben und wollte dies rückgängig machen".

Es hat sich jetzt erledigt, weil "Biber" schon das hat was ich suche.

Es tut mir leid, weil ich mich immer so ungenau ausdrücke.
Oder so verschachtelt schreibe.

Danke mghelp
Bitte warten ..
Mitglied: filippg
09.12.2006 um 20:11 Uhr
@filippg
BTW, hast Du mal einen Blick auf StarUML
geworfen?
Nein, aber es steht auf meiner Liste mit Software, die ich mir mal anschauen will. Ich hatte mir mal die Screenshots angeschaut (finde ich immer schön, wenn's viele davon hat) und die Features gelesen, da schaute es mir dann für meine Aufgabe schon wieder viel zu dick aus. Aber wenn ich mal wieder wirklich UML modellieren will (und nicht nur zeichnen) werde ich das mal testen.

Meine Frage war "Ich habe Buchstabenverschoben
und wollte dies rückgängig machen".
Hm... ohne jetzt irgendwem auf die Füsse treten zu wolle, aber... eine Frage ist das nun eindeutig auch nicht.

Filipp
Bitte warten ..
Mitglied: Guenni
10.12.2006 um 17:23 Uhr
@mghelp

Hi,

verschieben oder verschlüsseln kann man auch mit dem
überladenen XOR-Operator.

01.
#include <stdio.h> 
02.
#include <conio.h> 
03.
#include <string.h> 
04.
#include <iostream.h> 
05.
// Klasse String 
06.
class CString{ 
07.
 private: 
08.
         char *string; 
09.
         int size;  
10.
 public: 
11.
        CString(); //Standard-Konstruktor 
12.
        CString(const char*); //Konstruktor mit Initialisierung 
13.
        CString& operator^(const char*); //Xor-Operator überladen 
14.
        void CString_Print(); // Ausgabe string 
15.
        ~CString(); //Destruktor 
16.
}; 
17.
// Implementierung der Methoden 
18.
CString::CString(){ 
19.
 string=0; 
20.
 size=0; 
21.
22.
 
23.
CString::CString(const char *s){ 
24.
 size = strlen(s); 
25.
 string = new char[size + 1]; 
26.
 strcpy(string, s); 
27.
28.
 
29.
CString& CString::operator^(const char *k){ 
30.
 int i,j,l; 
31.
 l=strlen(k);   
32.
 for(i=j=0;i<size;i++,j=++j%l){ 
33.
  string[i]^=k[j]; 
34.
35.
 return *this;       
36.
}  
37.
 
38.
void CString::CString_Print(){ 
39.
 cout << string << endl; 
40.
41.
 
42.
CString:: ~CString() 
43.
44.
  delete[] string; 
45.
46.
 
47.
// Testprogramm  
48.
int main(int argc,char *argv[]){ 
49.
 char input[100]; 
50.
 char *key="12345"; // oder abcde, wdlkv, halt irgendwas 
51.
 puts("Geben Sie ein(en) Wort(Text) ein:"); 
52.
 gets(input); 
53.
 CString s=CString(input); // Eingabe an neues Objekt übergeben 
54.
 puts("Text: ");  
55.
 s.CString_Print(); // Eingabe am Bildschirm ausgeben 
56.
 s ^ key; //Text verschlüsseln 
57.
 puts("Verschluesselt: "); 
58.
 s.CString_Print(); // Verschlüsselt ausgeben 
59.
 s ^ key; // Text entschlüsseln 
60.
 puts("Entschluesselt: "); 
61.
 s.CString_Print(); // Entschlüsselt ausgeben 
62.
 getch(); 
63.
 return 0; 
64.
}
Nebeneffekt: Je nach key/input kann es passieren, dass auch
nichtdruckbare Zeichen ausgegeben werden.

Dann gibt’s bei der Ausgabe schonmal einen Zeilenvorschub
oder ein Piep aus dem Lautsprecher.

Grüße
Günni
Bitte warten ..
Ähnliche Inhalte
Vmware
gelöst Verschiebung von virtuellen Maschinen mit VMware (8)

Frage von Leo-le zum Thema Vmware ...

Exchange Server
Ersten Buchstaben einer Mail werden abgeschnitten (2)

Frage von Philipp.S zum Thema Exchange Server ...

Java
gelöst Zurück zum Schleifenanfang (4)

Frage von Todybear zum Thema Java ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (28)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (21)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...