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

String überprüfen ob bestimmte(s) Zeichen vorhanden sind

Frage Entwicklung C und C++

Mitglied: mghelp

mghelp (Level 1) - Jetzt verbinden

19.12.2006, aktualisiert 20.12.2006, 13529 Aufrufe, 6 Kommentare

#include <iostream.h>
#include<ctype.h>
#include<string.h>

int main()
{
string eingabe;
cout<<"\n Email Adresse eingeben : ";
cin >>eingabe;
for( int i = 0; i < eingabe.length(); i++ )
{
????????????????????
}
getchar();
return 0;
}

Ich möchte, dass die Eingabe überprüft wird,

Ob ein @vorhanden ist (muster@haus.de).

Wie müsste Schleife dann aussehen wie unten aufgeführt?
Wenn @ nicht vorhanden, dann--> Ausgabe "Inkorrekte Emailadresse" und springt
wieder zur Eingabe.

Wenn @ vorhanden, dann weiter (Schleife ist beendet).


Danke für eine Hilfe.

mghelp
Mitglied: 8644
19.12.2006 um 17:18 Uhr
Hi,

@mghelp:
Ist das eine Frage, ein Tutorial, ein Tipp oder was?
Ich finde es nicht gut, hier einen völlig unkommentierten Schnipsel hinzuwerfen!

[Edit: er hat es geändert! Mein Kommentar ist somit hinfällig!]

Psycho
Bitte warten ..
Mitglied: mghelp
19.12.2006 um 17:23 Uhr
Ich war grad dabei es zu erstellen
Bitte warten ..
Mitglied: 6890
19.12.2006 um 17:38 Uhr
hallo,

also ich kann leider kein c aber so univer sell müsste das funktionieren:
01.
//vor der schleife noch eine wahrvariable deklarieren 
02.
 
03.
int wahr=0; 
04.
while(wahr == 0) 
05.
06.
   cout<<"\n Email Adresse eingeben : "; 
07.
   cin >>eingabe; 
08.
   for( int i = 0; i < eingabe.length(); i++ ) 
09.
10.
       if(eingabe[i] eq "@") 
11.
12.
          printf("alles ok"); 
13.
          wahr = 1; 
14.
          last; 
15.
16.
   }  
17.
 
18.
    if(wahr == 0) 
19.
20.
        printf("Sie müssen eine gültige Email bla bla"); 
21.
22.
}
mfg godlike P
Bitte warten ..
Mitglied: Biber
19.12.2006 um 22:13 Uhr
Ich würde es eindampfen auf
01.
... 
02.
cout<<"\n Email Adresse eingeben : "; 
03.
cin >>eingabe; 
04.
if (eingabe.IndexOf("@")) { 
05.
   //alles prima 
06.
07.
....
Gruß
Biber
Bitte warten ..
Mitglied: mghelp
20.12.2006 um 14:51 Uhr
wenn ich das so mache entsteht ein Fehler.
Fehler E2316 10: "IndexOf" ist kein Element von "string"

oder ist da ein Fehler drin; oder Fehlet da noch was.

#include <iostream.h>
#include<ctype.h>
#include<string.h>
int main()
{
string eingabe;
cout<<"\n Email Adresse eingeben : ";
cin >>eingabe;
if (eingabe.IndexOf("@")) {
//alles prima
}
getchar();
return 0;
}

Danke euch zwei für die Hilfe
Bitte warten ..
Mitglied: Biber
20.12.2006 um 23:52 Uhr
*grmpf*

..wenn ich etwas liebe an C#/C++/C, dann die Einheitlichkeit und Portabilität...

Also, was auf jeden Fall (außer natürlich der Zeichen-für-Zeichen-for-Schleife oben) einfach da sein muss gemäß ANSI-C++-Spezifikation ist die Function "strchr()":

01.
const char * strchr ( const char * string, int c ); // Prototyp strchr()  
02.
// Prototyp auch manchmal:        char * strchr (       char * string, int c );
However, damit wäre der Weg:
01.
.... 
02.
char * pch; 
03.
... 
04.
pch=strchr(eingabe,'@'); 
05.
 
06.
if (pch!=NULL) { 
07.
  // alles Prima ... mindestens 1 "@" vorhanden... 
08.
09.
...
Jedenfalls, und das wollte ich auch im vorangegangenen Post ausdrücken, hätte ich nicht den Ehrgeiz, eine Ist-Zeichen-In-String-Enthalten-Funktion für C neu zu erfinden.
Da gibt es immer etwas.

HTH
Biber
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (23)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (19)

Frage von smartino zum Thema Mac OS X ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...

Linux Netzwerk
DHCP IP-vergabe erst nach 1-2 Minuten (11)

Frage von Maik82 zum Thema Linux Netzwerk ...