Hallo mathe_97, leider hast Du die Programmiersprache nicht angegeben. Für C gilt folgendes: im einfachsten Fall gibst du ein Array of char an, z.B. char Name[50+1]; Dann hast du 50 Zeichen als String oder du definierst einen char Zeiger. Also char *Name; Dann musst du Speicher für den Zeiger anfordern: Name = calloc(1, 51); Dann hast du wieder 50 Zeichen für deinen String. C schließt einen String immer mit 0x00 ab. Also brauchst du immer ein char mehr als der String lang sein muss. Hoffe es hilft. Falls es sich um eine andere Sprache handelt, bitte spezifizieren. Gruß jobe.
Nachtrag: bei C++ wurde die Stringverarbeitung vereinfacht. Es gibt den Datentyp string. Hier kannst du also einfach string Name; definieren.
Sonstiger Berufsstatus, Punkte: 505
Die Sprache ist C++
─ mathe_97 10.12.2021 um 14:03Hallo mathe_97, dann geht meine Antwort. Das geht auch in C++. Gruß jobe
─ jobe 10.12.2021 um 14:13include
using namespace std;
struct MessWert {
short Wert;
string Einheit;
};
// c) Ausgabefunktion
void PrintAusgabe(MessWert *p)
{
cout << p->Wert << " = " <Einheit<< endl;
}
bei der ausgabe habe ich keine Werte wieso?
// e) Funktion zur Normierung (erstellung einer funktion zur Normierung der Basiseinheit z.B.: 554.4--> normiert 0.0005544)
int NormiereEinheit (Einheit &r)
string str_tmp = r.Einheit;
char leng = str_tmp.lengh ();
switsch (r.Darstellung) {
case 554.4:
case 9.35
hier weiß ich nicht so ganz wie ich die FEhlerbehandlung durchführen soll ich würde es so machen
// Fehlerbehandlung
if (len > 554.4)
return -9.35;
if (( str_tmp [0] != ´0´) und weiter?
// g) (ich soll hier eine funktion erstellen die aus 2 variablen die elektrische Leistung in W berechnen soll) und diesen 3. Wert abspeichern soll
int UpdateEinheit (MessWert &r, char d)
string str_tmp= "";
unsigned short Wert = r.Wert;
int main ()
{
// b) Definition und Initialisierung von Strukturvariablen
MessWert Wert1 = {554.4,"uA"};
MessWert Wert2 = {9.35, "kV"};
return 0;
ich hoffe du kannst mir dabei weiterhelfen ;D
─
mathe_97
14.12.2021 um 19:56
using namespace std;
struct MessWert {
short Wert;
string Einheit;
};
// c) Ausgabefunktion
void PrintAusgabe(MessWert *p)
{
cout << p->Wert << " = " <
}
bei der ausgabe habe ich keine Werte wieso?
// e) Funktion zur Normierung (erstellung einer funktion zur Normierung der Basiseinheit z.B.: 554.4--> normiert 0.0005544)
int NormiereEinheit (Einheit &r)
string str_tmp = r.Einheit;
char leng = str_tmp.lengh ();
switsch (r.Darstellung) {
case 554.4:
case 9.35
hier weiß ich nicht so ganz wie ich die FEhlerbehandlung durchführen soll ich würde es so machen
// Fehlerbehandlung
if (len > 554.4)
return -9.35;
if (( str_tmp [0] != ´0´) und weiter?
// g) (ich soll hier eine funktion erstellen die aus 2 variablen die elektrische Leistung in W berechnen soll) und diesen 3. Wert abspeichern soll
int UpdateEinheit (MessWert &r, char d)
string str_tmp= "";
unsigned short Wert = r.Wert;
int main ()
{
// b) Definition und Initialisierung von Strukturvariablen
MessWert Wert1 = {554.4,"uA"};
MessWert Wert2 = {9.35, "kV"};
return 0;
ich hoffe du kannst mir dabei weiterhelfen ;D
Hallo mathe_97 die Formatierung ist scheußlich und es kommt bei mit copy paste scheinbar nur die Hälfte an. Kannst du das versuchen zu verbessern? Gruß jobe
─ jobe 14.12.2021 um 20:36Ich habe es einfach nur eingetippt ;)
─ mathe_97 14.12.2021 um 21:44
Markdown wird unterstützt.
Ich habe eine andere Frage könntest du da mal vorbeischauen? danke
─ mathe_97 12.01.2022 um 16:11