if (Strlen(text) > 50 ) goto eine Zeile weiter...
-
Hallo zusammen,
ich habe mal eine Frage zu Strings.
Ich habe vor,dass wenn gerade ein Text eingegeben wird und die Anzahl der Zeichen größer als 50 sind, der Cursor in die nächste Zeile springen soll.Danke
PS: Ich benutze die Textbildschirm-Anwendung (also nicht OOP)
-
if(strlen(text) > 50) {
std::cout << std::endl;
}
-
Original erstellt von <C++ Anfänger>:
PS: Ich benutze die Textbildschirm-Anwendung (also nicht OOP)a) Ist OOP nicht abhängig von der Ausgabeform sondern von der Programmstruktur.
b) Haben wir für Textbildschirm Anwendungen (aka Konsolen Anwendungen ein eigenes Forum und da geht die Reise jetzt auch hin (:-junix
-
Original erstellt von <Ohne Namen>:
if(strlen(text) > 50) {
std::cout << std::endl;
}irgendwie funktioniert das nicht.
(std::) wird nicht erkannt
-
#include <iostream>
-
#include <iostream.h> habe ich drin
es soll ja wärend des schreibens passieren, dass mit dem Zeilensprung.
Geht das überhaupt?
-
ob du den unterschied erkennst:
#include<iostream>
oder
#include<iostream.h>was sollst du einbinden und was hast du eingebunden?
-
Bereits eingebunden:
#include <vcl\condefs.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <time.h>
#pragma hdrstopNachträglich eingebunden:
#include <iostream>
ergebnis = gleiches Problem wie vorher (erkennt std nicht)
-
Welcher Compiler?
-
Du sollst ja auch die <iostream.h> rausnehmen!
Deine Header schauen dann so aus:
#include <vcl\condefs.h> #include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> #include <cmath> #include <ctime> #include <conio.h> using namespace std;
MfG SideWinder
-
@Side
Dann braucht er aber net mehr dat "std::".
-
C++Builder ******** 1997 Vers.: 1.0 glaube ich
Habe alle ".h" entfernt...
Aktuelle Fehlermeldung: 'cout' is not a member of 'std'Muß man vielleicht einen Zeiger verwenden oder sowas....?
Vielleicht wird der aktuelle Wert der Textlänge garnicht in den Speicher geschrieben?
-
Builder 1.0 aus dem 97'-Jahr? Uh, da kanns mit std ja noch gar nicht gehen.
Na, dann machs so:
if ( strlen (text) > 50 ) cout << endl;
MfG SideWinder
-
Hi SideWinder,
ich will euch hier ja echt nich auf die Nerven gehen,
aber was sagst du dazu wenn ich dir sage das dies hagenau mein Problem ist wovor ich stehe.Denn genau so wie du das gerade geschrieben hast habe ich das auch. Mit dem kleinen Unterschied das das bei mir nicht funktioniert.
Original erstellt von SideWinder:
**Builder 1.0 aus dem 97'-Jahr? Uh, da kanns mit std ja noch gar nicht gehen.Na, dann machs so:
if ( strlen (text) > 50 ) cout << endl;
MfG SideWinder**
-
Hmm, das verstehe ich dann aber nicht - wie sieht denn dein Code aus?
MfG SideWinder
-
Moin SideWinder,
char text[255]; clrscr(); schreiben: gotoxy(30,2); cout<<"Auswahl 'Schreiben' "<<"\n"; gotoxy(5,6); cout<<"Ihr Text: "<<text; gotoxy(15,6); lesen: strlen(text); cin>>text; if(strlen(text) > 50) cout <<endl;
-
Hmm, was heißt "schreiben:" und "lesen:" - arbeitest du etwa mit Sprungmarken?
Auf jeden Fall bringt dir dein Code wenig. Zuerst wird eine beliebig lange Zeichenkette eingelesen, und erst nachher wird eine Zeile weiter gesprungen. Ich glaube aber eher, dass du sobald 50Zeichen da sind schon ein newline haben willst, oder?
Falls ja, bleibt dir nur noch das zeichenweise Einlesen über getch().
MfG SideWinder