Ankündigung

Einklappen
Keine Ankündigung bisher.

User helfen User - Programmieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    hmm ich probiers ma :)

    Kommentar


      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


              ah, stimmt :D danke. allerdings krieg ich jetzt den fehler das paramter 1 ('t'), einen incomplete type hat. bin grad recht ratlos was das fürn fehler sein soll

              Kommentar


                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


                    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


                        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


                            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


                                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

                                Lädt...
                                X