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, 5633 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Exchange Server
Exchange Problem nach Verschiebung auf anderen ESXi Host (8)

Frage von Leo-le zum Thema Exchange Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...