hmm ich probiers ma :)
Ankündigung
Einklappen
Keine Ankündigung bisher.
User helfen User - Programmieren
Einklappen
X
-
CashCode
Guten Abend!
Hat schon mal jemand Erfahrungen mit Object-Z gesammelt? Könnte da ein wenig Hilfe gebrauchen :S
Kommentar
-
Hat jemand Ahnung von C# threading?
Habe hier einen TCPListener der für jeden Client einen neuen Thread aufmacht um die Daten zu empfangen. Komme aber nun nicht weiter :( Möchte, dass wenn der eine Client1 bswp. "Hallo Client2" durchschickt, dieses an den anderen Client(also Client2) weitergeleitet wird.
Danke im Voraus. :3
Kommentar
-
moin, hab grad probleme mit structures in C.
http://pastebin.com/VwW4tpMc
ich will die zeit eingeben, und am ende ausgeben wieviel sekunden und stunden:minuten:sekunden dazwischen liegen. jetzt will bzw muss ich das über structures machen, krieg aber den fehler: [Error] too few arguments to function 'umrechnung_sek' 70 2, an was liegt das?
hier mal alle fehler die ich bekomme:
Spoiler:In function 'main':
70 2 [Error] incompatible type for argument 1 of 'umrechnung_sek'
3 1 expected 'int' but argument is of type 'struct t_uhrzeit'
70 2 [Error] too few arguments to function 'umrechnung_sek'
3 1 declared here
71 2 [Error] incompatible type for argument 1 of 'umrechnung_sek'
3 1 expected 'int' but argument is of type 'struct t_uhrzeit'
71 2 [Error] too few arguments to function 'umrechnung_sek'
3 1 declared here
Kommentar
-
Du übergibts der Funktion ein struct t_uhrzeit, die Funktion will aber 3 Mal int. Du könntest jetzt entweder die Funktion mit
struct t_uhrzeit t;
umrechnung_sek(t.h, t.m, t.s);
aufrufen, oder in der Funktion die einzelnen Variablen des structs aufrufen, also:
int umrechnung_sek(struct t_uhrzeit t) {
return t.h * 3600 + t.m * 60 + t.s;
}
Kommentar
-
Gast
Liegt daran, dass du erst deine Funktion und dann dein struct definierst. Die Funktion kennt zu diesem Zeitpunkt diesen Typ nicht.
Also erst dein struct, dann die Funktionen.
Kommentar
-
jop, so klappts :D danke. wenn ich jetzt aber überprüfen will, ob die zeit auch richtig is, klappt irgendwas nich.
ich überprüf so obs bei t1 stimmt:
if(t1.h < 0 || t1.h > 23)
bzw t1.m und t1.s, sobald ich aber t2.h überprüfen will, krieg ich einen fehler bei t1. ohne abfrage bei t2 funktioniert t1.
Kommentar
-
Gast
Mmmh, habe ich mir jetzt nicht angeguckt. Aber schon mal überlegt die Bibliothek time.h zu benutzen?
http://www.cplusplus.com/reference/ctime/
Kommentar
-
darf ich nicht. eingabe muss per nutzer erfolgen und so überprüft werden. :P hab in der probeklausur auch eine umwandlung geschrieben, wurde aber abgelehnt.
naja, ich probiers mal weiter, vllt find ich ja was :D
gut, hat geklappt. habs in time1, time2 umbenannt und nach der structure, also so geschrieben:
struct t_uhrzeit{
int h;
int m;
int s;
}time1, time2;
dafür bekomm ich jetzt recht große zahlen
[image]http://www.abload.de/img/komischewerte8yuoi.jpg[/image]
Kommentar
-
Gast
Poste noch mal deinen aktuellen Code und schreib, wo genau dein Fehler auftritt. Dann guck ich auch mal drüber, wenn du noch Hilfe brauchst ;)
Kommentar
-
so, hier der aktuelle code :D
http://pastebin.com/mgd2t5yR
die überprüfung klappt soweit, nur krieg ich recht komische zahlen ausgegeben. bin mir eigentlich sicher das es nur was recht kleines is, aber ich find den fehler einfach nich.
[image]http://www.abload.de/img/komischewerte8yuoi.jpg[/image]
Kommentar
-
Gast
Bekommst du noch Fehlermeldungen? Noch wichtiger: bekommst du Warnungen ausgegeben bzgl. falscher Formate? Da würde ich noch drüber schauen ;)
Ausgabe von gcc -Wall -ansi time.c:
Spoiler:
time.c:13:1: Warnung: Rückgabetyp ist auf »int« voreingestellt [-Wreturn-type]
time.c: In Funktion »main«:
time.c:22:3: Warnung: Format »%d« erwartet Argumenttyp »int *«, aber Argument 2 hat Typ »struct t_uhrzeit *« [-Wformat]
time.c:22:3: Warnung: Format »%d« erwartet ein passendes Argument »int *« [-Wformat]
time.c:22:3: Warnung: Format »%d« erwartet ein passendes Argument »int *« [-Wformat]
time.c:42:3: Warnung: Format »%d« erwartet Argumenttyp »int *«, aber Argument 2 hat Typ »struct t_uhrzeit *« [-Wformat]
time.c:42:3: Warnung: Format »%d« erwartet ein passendes Argument »int *« [-Wformat]
time.c:42:3: Warnung: Format »%d« erwartet ein passendes Argument »int *« [-Wformat]
time.c:76:3: Warnung: Format »%d« erwartet Argumenttyp »int«, aber Argument 2 hat Typ »struct t_uhrzeit« [-Wformat]
time.c:76:3: Warnung: Format »%d« erwartet Argumenttyp »int«, aber Argument 3 hat Typ »struct t_uhrzeit« [-Wformat]
time.c:76:3: Warnung: Format »%c« erwartet ein passendes Argument »int« [-Wformat]
time.c:76:3: Warnung: Format »%d« erwartet ein passendes Argument »int« [-Wformat]
time.c:76:3: Warnung: Format »%d« erwartet ein passendes Argument »int« [-Wformat]
time.c:76:3: Warnung: Format »%d« erwartet ein passendes Argument »int« [-Wformat]
time.c:14:12: Warnung: Variable »s« wird nicht verwendet [-Wunused-variable]
time.c:14:9: Warnung: Variable »m« wird nicht verwendet [-Wunused-variable]
time.c:14:6: Warnung: Variable »h« wird nicht verwendet [-Wunused-variable]
time.c:79:1: Warnung: Kontrollfluss erreicht Ende von Nicht-void-Funktion [-Wreturn-type]
Die Zeile ist u.a. ein Problem:
scanf("%02d:%02d:%02d",&time1);
Du willst 3 int einlesen, gibst aber die Adresse eines structs an - so klappt das nicht.
Kommentar
-
fehlt bei der main nicht int argc und char** argv?
und bist du dir sicher dass das funktioniert?
scanf("%02d:%02d:%02d",&time1);
anyway, ich hab mal eine eigene Version geschrieben: http://pastebin.com/u4Ya8iRL
Musst du das eigentlich mit structs machen? Wenn man die Zeit in Sekunden speichert wäre es etwas einfacher.
Kommentar
-
Gast
Deine Version sieht natürlich schon viel besser und sauberer aus :) Aber bringt ihm ja nichts, wenn er jetzt nur copy+paste macht, muss ja auch verstehen wieso/weshalb/warum.
In Ansi C sind diese beiden Deklarationen von main OK:
int main(void)
int main(int argc, char **argv)
Bei puro fehlt lediglich der Rückgabewert.
Kommentar
Kommentar