Hallo liebe Leute,
ich qüale mich seit einer Woche mit einem C# Programm und brauche dringend Rat!
Folgende Schwierigkeiten habe ich.
Zum einen habe ich eine Funktion eingabe().
Diese habe ich so deklariert:
char eingabe();
Die Funktion ist eine Standardroutine die mir eine Zeichenkette von der Tastatur einliest und in die Variable buffer vom Typ char überträgt.
Da steht dann zum Beispiel drin: nameX
Wenn ich dann eine Ausgabe in dieser Funktion mache, habe ich auch tatsächlich nameX auf dem Bildschirm.
Das ganze funktioniert aber nicht mehr, wenn ich sie mit return buffer; ins Hauptprogramm gebe mit:
//Im Hauptprogramm
name = eingabe();
name ist aber ebenfalls als char deklariert.
Im Compiler kommen die Fehlermeldungen:
[Warning] return makes integer from Pointer without a cast
und
[Warning] function returns adress of local variable
Was hat das dämliche Programm für ein Problem?
Geht das return nur mit dem Typ Integer?
Mein 2. Problem ist, ich habe eine Struktur angelegt:
// Struktur für Datensatz anlegen
struct PData
{
char dname[30];
char lname[30];
int bestand;
double preis;
};
und anschließend zugewiesen:
struct PData DS[55];
DS Steht für Datensatz, davon habe ich maximal 55.
Wenn ich in das Array DS für einen Datensatz einen Wert laden will, versuche ich das so:
DS[i].dname = name;
Ich will in DS an stelle i (Integer aus Schleife)
in dname die Variable name schreiben, die ich aus meiner Eingaberoutine von oben habe.
Aber natürlich meckert der Compiler: =)
incoompatible types in assignment
Aber was ist inkompatibel??? dname und name sind doch beides char Variablen.
Ich bin echt am verzweifeln und suche seit so vielen Stunden die Fehler. Bitte helft mir!
Wenn da ein kluger Kopf ist, der mir helfen kann, wäre das genial!
Tausend Dank schon mal!
LG Lara