Zum Inhalt springen

voldemort

Mitglieder
  • Gesamte Inhalte

    111
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von voldemort

  1. Danke für den Tipp. Habe nun einige Fehler beseitigt, aber es gibt nun Probleme bei dem Part mit der Ausgabe des Domainnamens. Gebe ich eine IP Adresse ein und möchte die Domain angezeigt haben, bekomme ich in meiner GUI aber wieder die IP ausgegeben private Aufgabe fenster; private static InetAddress iptodom; private Integer [] array = new Integer [4]; private String[] test; private byte[] bycast = new byte [4]; public MyListener(Aufgabe gui) { fenster=gui; } else if (e.getActionCommand() == "Domain") { text = fenster.getTf().getText(); test = text.split("\\."); for(int i=0;i<test.length;i++) { array[i]=Integer.parseInt(test[i]); if (array[i] > 127) { array[i] = array[i] - 256; } bycast[i] = array[i].byteValue(); } try { InetAddress iptodom= InetAddress.getByAddress(bycast); fenster.getTa().append("Domainname zu "+text+" " +iptodom.getHostName()+"\n"); } catch (UnknownHostException e1) { fenster.getTa().setText("Ungültige Domain"); } } [/PHP] Sieht jemand den Fehler und gibt es Verbesserungsvorschläge? Danke und Gruß
  2. Danke, habe mir die Doku nochmal angeschaut und ein bisschen gewerkt: private Aufgabe fenster; private String text; private String[] test; private Integer [] array; public MyListener(Aufgabe gui) { fenster=gui; } else if (e.getActionCommand() == "Domain") { text = fenster.getTf().getText(); test = text.split("\\."); for(int i=0;i<test.length+1;i++) { array[i]=Integer.parseInt(test[i]); } } [/PHP] Beim ausführen dieses Codes bekomm ich eine NullPointerException auf die Zeile array[i]=Integer.parseInt(test[i]); Wo liegt hier das Problem? @uenetz: Das Programm soll wirklich nur jeweils die IP und die Domain per Eingabe und Buttonklick erfolgen Danke bis hierhin
  3. Hallo zusammen, ich sitze da gerade an einem Problem. Ich habe eine GUI programmiert welche mir eine IP Adresse ausgibt, sobald ich per IP Button den Befehl dazu gebe. Nun möchte ich es genau andersrum programmieren. Also wenn ich eine IP Adresse eingebe und dann den Domain Button drücke, möchte ich gern die Domain ausgegeben haben. Ausgegeben wird alles auf einem JTextArea und aufrufen tu ich das mit meiner Methode: public JTextArea getTa() { return ta; } Es wurde folgendes vorgehen vorgegeben: - IP Adresse in vier Teilbereiche (4 Strings) spalten - Static Methode getByAddress(..) verwenden welcher ein Bytearray übergeben wird - 4 Stringobjekte in int Werte wandeln und nach byte casten - vorher noch überprüfen ob die int Werte >127 sind, dann noch 255 davon abziehen Mein Problem: Ich habe versucht mit split zu arbeiten, aber dieses ist mir leider nicht gelungen. Parallel meinte ein Kollege das er es auch nicht geschafft hat. Habt ihr vielleicht Tipps oder Vorschläge? Grüße Voldemort
  4. habe das problem mittels der installation eines moduls gelöst. könnte bitte jemand den link entfernen.danke
  5. Hallo zusammen, ich arbeite gerade an einer Webseite > saitenschnitt.de/project < und habe mir da ein eigenes Template mithilfe einiger Anleitungen im Netz erstellt. Nach langer Suche habe ich auch ein DropDown Menü gefunden welches ich gerne nutzen würde. Das Menü wird auch an die dafür vorgesehene Stelle angezeigt, aber das DropDown öffnet sich nicht. Kann mir da evtl. jemand weiterhelfen? Danke und Gruß Voldemort
  6. korrekt, aber auch nur weil es für mich ne logische konsequenz auf den lösungsansatz war. ich geb zu das ich wieder mal sehr viel durcheinander gebracht habe und werd mir die funtionen noch mal anschauen müssen. hier nun meine Addier methode CBruch CBruch::Addiere (CBruch bruch1, CBruch bruch2) { CBruch obj; obj.setNenner(bruch1.Nenner * bruch2.Nenner); //Nenner gleich bringen obj.setZaehler(bruch1.Zaehler*bruch2.Nenner+bruch2.Zaehler*bruch1.Nenner); return obj; } und nen ausschnitt meiner main bruch1.setZaehler(1); bruch1.setNenner(7); bruch2.setZaehler(2); bruch2.setNenner(5); addition = bruch1.Addiere(bruch1,bruch2); cout<<"Bruch1 :"<<bruch1.getKommawert ()<<endl; cout<<"Bruch2 :"<<bruch2.getKommawert ()<<endl; cout<<"Bruch1 + Bruch2: "<<addition.getKommawert()<<endl; läuft alles. also mal ein danke für die mühen. grüße
  7. der Präfix C steht für class. unser lehrer meint zum sauber programmieren verwendet man dies. normalerweise auch bei methoden dann das m. das problem ist hier das wir uns dran halten müssen was er uns vorgibt. so also auch die set und get methoden. ich mag nicht bezweifeln das es anders sauberer wäre, aber leider kann ich da so nichts dran ändern und muss mich da wohl fügen. also übergebe ich nun einen parameter der main in dem dann Nenner und Zaehler stehen? das müsste dann ja obj sein. wenn dem so wäre stell ich mir aber die frage wie ich es in der main aufrufe soll. obj.Addiere(); geht ja nicht da obj ja ne dekleration in der Addier methode ist.
  8. ich dachte ja auch dran das zu machen nachdem ich den gemeinsamen nenner errechnet hab. hab ich gemacht und der code sieht nun so aus CBruch CBruch::Addiere (CBruch bruch1, CBruch bruch2) { CBruch obj; obj.setNenner(bruch1.Nenner * bruch2.Nenner); obj.setZaehler(bruch1.Zaehler*bruch2.Nenner+bruch2.Zaehler*bruch1.Nenner); } zu der main. der code der da steht ist nur ein platzhalter. ehrlich gesagt hab ich mir noch keine gedanken über die ausgabe gemacht. ich geh aber von aus das meine methode Addiere zwei werte zurückgeben muss damit ich in der main mein Zaehler und Nenner aufrufen kann. grüße
  9. meine Addier methode ist basierend auf den lösungsvorschlag von Der_Lampe CBruch CBruch::Addiere (CBruch bruch1, CBruch bruch2) { CBruch obj; obj.setNenner(bruch1.getNenner() * bruch2.getNenner()); obj.setZaehler(bruch1.getZaehler()*bruch2.getNenner()+bruch2.getZaehler()*bruch1.getNenner()); } ich hab es so übernommen, weil es für mich so am logischsten war. aber wenn ich dich richtig versteh geht es einfacher. ich denk mal du denkst an ein Nenner += Nenner und Zaehler += Zaehler. ich häng mal meine main mit rein um zu verdeutlichen was da geschieht. int _tmain(int argc, _TCHAR* argv[]) { CBruch bruch; CBruch bruch1; CBruch bruch2; int z_er, n_er; cout<<"Zaehler eingeben"<<endl; cin>>z_er; bruch.setZaehler (z_er); cout<<"Nenner eingeben"<<endl; cin>>n_er; bruch.setNenner (n_er); cout<<"Fliesskommawert: "<<bruch.getKommawert()<<endl; int a=1,b=2; a+=b; cout<<"in a steht: "<<a<<endl; bruch1.setZaehler(4); bruch1.setNenner(8); bruch2.setZaehler(2); bruch2.setNenner(4); cout<<"Zaehler: "<<bruch.getZaehler()<<endl; //Hier soll die Ausgabe für den cout<<"Nenner: "<<bruch.getNenner()<<endl; // errechneten Bruch sein return 0; } grüße
  10. wenn ich das aber nun so programmiere wie Der_Lampe es vorgeschlagen hat benötige ich die methoden doch, da ich ja sonst keine getNenner bzw getZaehler methoden definiert habe. es sie denn du möchtest mich grad in eine andere denkrichtung steuern die einfacher ist.
  11. so, hab nun ein bisschen gewerkelt. mir war nicht klar das ich in einer methode eine andere methode verwenden kann. danke für die info. habe meine klasse nun mit getNenner und getZaehler erweitert. class CBruch { private: int Zaehler; int Nenner; public: void setZaehler(int z_er); void setNenner(int n_er); CBruch Addiere (CBruch, CBruch); int getNenner (); int getZaehler (); double getKommawert (); }; ich geh ja davon aus das die zwei methoden benötigt werden damit ich die werte in meiner methode Addiere benutzen kann. das problem das ich habe ist aber das ich, wie in der klasse zu sehen, einen fließkommawert des bruches mit hilfe der tastatur eingabe (Zaehler,Nenner) errechnen. damit setze ich ja schon meine werte für Zaehler und Nenner. nun hab ich da ein denk konflikt da ich ja auch ebenfalls in Addiere die werte setzen möchte. wer ist so nett und kann da licht ins dunkel bringen? grüße
  12. nabend zusammen, folgende ausgangslage. es exestiert eine klasse CBruch mit Nenner und Zaehler, ebenso drei Methoden setNenner, setZaehler und getDezimal. in meiner main habe ich nun folgendes: CBruch bruch; CBruch bruch1; CBruch bruch2; bruch1.setZaehler(4); bruch1.setNenner(8); bruch2.setZaehler(2); bruch2.setNenner(4); ich weiß also wie ich aus meiner main heraus auf die klasse zugreifen kann. nun möchte ich eine methode zum addieren der zwei brüchen schreiben. meine frage: wie greife ich aus einer methode auf meine main zu um die benötigten werte zu holen..abgesehen davon das die werte ja schon in der klasse vorhanden sind. aber da hab ich ja das problem das ich nicht CBruch CBruch::Addiere (CBruch obj) { Nenner * Nenner; } rechnen kann um auf den gemeinsamen nenner zu kommen. grüße voldemort
  13. es ist kein ihk abschluss, das stimmt. es handelt sich um einen fachschulabschluss welcher in der vergangenheit (ich glaube) staatlich geprüfter techniker fachrichtung informatik genannt wurde. aber steht doch oben im banner auch das dieses forum eine "Fachinformatiker und IT-Berufe Community" ist und daher denke das ich nicht im falschen forum bin. es geht sich ja nur um vorschläge zur projektarbeit und man sieht ja die schwerpunktthemen. das müssten doch anhaltspunkte für einen erfahrenen mann sein um einen einsteiger vorschläge zu geben grüße
  14. hallo, hat denn niemand nen vorschlag oder bin ich hier im falschen unterforum? grüße
  15. hallo liebe forumgemeinde, zur zeit mache ich eine weiterbildung zum staatlich geprüften informatiker auf teilzeit und bin auf dem gebiet quereinsteiger. ich habe noch ca 2,5 jahre bis zu meiner prüfung, aber wir sollen uns schon mal gedanken über eine projektarbeit machen die wir bis dezember beantragt haben müssen. unsere gebiete (können auch kombiniert werden) : -Anwendungsentwicklung und Softwareengineering -Rechnersysteme, Netzwerkdesign und Administration -Datenbankdesign und Datenbankanwendungen -Automatisierung und Hardwaredesign die projektarbeit sollte 160 std umfassen die frage die sich stellt ist was man sich da aussucht. hättet ihr da evtl vorschläge? vielen dank und grüße voldemort
  16. na brat mir einer nen storch und die beine recht knusprig danke für die hilfe. werd mir das mit dem std::string mal anschauen. grüße
  17. hallo zusammen. wir nehmen grad das thema klassenaufbau durch. in meiner klasse habe ich für ein auto den hersteller und den typ deklarariert den der benutzer per main eingeben soll. das problem welches ich nun aber habe weiß ich nicht zu lösen,so blöd wie es sich auch anhört. erstmal der code class Auto { private: char Hersteller[20]; char Typ[20]; public: void setHersteller (char *hersteller); void setTyp (char *typ); char *getHersteller (); char *getTyp (); }; void Auto::setHersteller (char *hersteller) { strcpy_s(Hersteller,hersteller); } void setTyp (char *typ) { strcpy_s(Typ,typ); } char* Auto::getHersteller () { return Hersteller; } char *Auto::getTyp () { return Typ; } int _tmain(int argc, _TCHAR* argv[]) { Auto Modell; char hersteller[20], typ [20]; cout<<"Hersteller eingeben"<<endl; cin>>hersteller; Modell.setHersteller(hersteller); cout<<"Typ eingeben"<<endl; cin>>typ; Modell.setTyp(typ); cout<<endl; cout<<"Hersteller: "<<Modell.getHersteller()<<endl; cout<<"Typ: "<<Modell.getTyp()<<endl; return 0; } in meiner methode 'void setTyp (char *typ)'sagt der compiler das 'Typ' ein nichtdeklarierter bezeichner ist. sieht hier jemand nen fehler den ich übersehe? ich sehe kein unterschied zur deklaration vom hersteller. grüße voldemort
  18. ja, richtiges c++ ist es nicht, weil wir eigentlich den umschwung zu c++ im moment machen. da aber aufgefallen ist das wir so gut wie null ahnung von funktionen haben, wiederholt der lehrer dies thema nochmal. da ich mich aber schon mal an ein paar sachen wie cout und cin gewöhnen möchte benutze ich diese mittlerweile. werd ich mal ausprobieren grüße
  19. wie gesagt arbeite ich mit den büchern. ich würde dir recht geben das buch systematisch durchzugehen, aber ich muss mich auch an den unterrichtsplan orientieren und muss mir meine zeit gut einteilen da ich die weiterbildung auf der abendschule mache und zu hause noch frau und kind habe. wie gesagt. ist es doch klar:wenn man von alleine nicht drauf kommt weil man schon wieder irgend einen denkfehler hat oder einfach total falsch denkt sucht man sich hilfe. rom wurde schließlich auch nicht an einem tag erbaut so und die lösung lautet. #include "stdafx.h" #include <cmath> #include <iostream> using namespace std; void Qgleich(double *p, double *q, double *x1, double *x2) { *x1=-(*p/2)+(sqrt(*p**p/4)-*q); *x2=-(*p/2)-(sqrt(*p**p/4)-*q); } int _tmain(int argc, _TCHAR* argv[]) { double p,q,x1,x2; cout <<"Bitte Wert fuer p eingeben\n"; cin >>p; cout <<"Bitte Wert fuer q eingeben\n"; cin >>q; Qgleich( &p, &q, &x1, &x2); cout <<"\nDas Ergebnis fuer x1 lautet "<<x1<<'\n'; cout <<"und das Ergebnis fuer x2 lautet "<<x2<<'\n'; return 0; }
  20. ach mist. total vergessen. da ist es ja klar das der compiler meckert. ich bin im besitz von drei büchern und ein eigenständiges tutorial unserer klasse welche ich auch alle benutze. so ist es ja nicht. zum thema verständnis:es ist klar wenn man ein neues thema anfängt es am anfang holpert. ausserdem mache ich diese aufgabe freiwillig um zu lernen. ich kanns auch sein lassen und nächste woche in der schule machen und da ist es doch klar das wenn ich mit den büchern nicht weiter komme bei personen nach frage die mehr erfahrung haben. ist nicht böse gemeint, aber ich bin keiner von denen die hier reinkommen und sofort nach einer lösung schreien um mir die arbeit zu ersparen. hab es nun so weit. fehlt nur noch die wurzel geschichte, aber das bekomm ich auch noch hin void Qgleich(double *p, double *q, double *x1, double *x2) { *x1=-(*p/2)+(*p**p/4)-*q; *x2=-(*p/2)-(*p**p/4)-*q; } int _tmain(int argc, _TCHAR* argv[]) { double p,q,x1,x2; cout <<"Bitte Wert fuer p eingeben\n"; cin >>p; cout <<"Bitte Wert fuer q eingeben\n"; cin >>q; Qgleich( &p, &q, &x1, &x2); cout <<"Das Ergebnis fuer x1 lautet "<<x1<<'\n'; cout <<"und das Ergebnis fuer x2 lautet "<<x2<<'\n'; return 0; } grüße
  21. sobald ich nun aber den rückgabewert aus der funktion nehme meckert der compiler 'Qgleich': Muss einen Wert zurückgeben double Qgleich(double *p, double *q, double *x1, double *x2) { *x1=-(*p/2)+(*p**p/4)-*q; *x2=-(*p/2)-(*p**p/4)-*q; } int _tmain(int argc, _TCHAR* argv[]) { double p,q,x1,x2; cout <<"Bitte Wert fuer p eingeben\n"; cin >>p; cout <<"Bitte Wert fuer q eingeben\n"; cin >>q; cout <<"Das Ergebnis fuer x1 lautet"<< Qgleich( &p, &q, &x1, &x2); cout <<"und das Ergebnis fuer x2 lautet"<< Qgleich( &p, &q, &x1, &x2); return 0; } ich haber auch noch das problem das ich noch nicht weiß wie ich die wurzel in die formel eingebe. gibt das nen befehl, funktion oder zeichen? grüße
  22. ok nun steh ich aber ein bisschen auf dem schlauch. ich möchte doch einmal die variablen p und q holen da ich sie mir der tastaur eingebe und in meine funktion schicken möchte. nach der berechnung möchte ich doch dann x1 und x2 zurück in das mainprogramm holen und da dachte ich das die funktion so aufgerufen wird. ist ein rückgabewert hier eigentlich nötig? ich glaub da brauch ichnoch ein paar tipps um auf die lösung zu kommen. grüße
  23. hallo, ich habe ein programm geschrieben um die p-q formel zu berechnen und möchte die berechnung in einer funktion ausführen. #include "stdafx.h" #include <iostream> using namespace std; double Qgleich(double *p, double *q, double *x1, double *x2) { *x1=-(*p/2)*(*p**p/4)-*q; *x2=-(*p/2)*(*p**p/4)-*q; return *x1; } int _tmain(int argc, _TCHAR* argv[]) { double p,q; cout <<"Bitte Wert fuer p eingeben\n"; cin >>p; cout <<"Bitte Wert fuer q eingeben\n"; cin >>q; cout <<"Das Ergebnis fuer x1 lautet"<<double Qgleich(double &p, double &q, double &x1, double &x2); cout <<"und das Ergebnis fuer x2 lautet"<<double Qgleich(double &p, double &q, double &x1, double &x2); return 0; } das problem besteht darin das der compiler mit meinem cout's meckert cout <<"Das Ergebnis fuer x1 lautet"<<double Qgleich(double &p, double &q, double &x1, double &x2); cout <<"und das Ergebnis fuer x2 lautet"<<double Qgleich(double &p, double &q, double &x1, double &x2); der fehler lautet: "error C2062: 'double'-Typ unerwartet" und dieser tritt für beide zeilen auf. was habe ich hier falsch gemacht? grüße voldemort
  24. so denne hier mal mein überarbeitetes programm #include "stdafx.h" #include <stdlib.h> #include <iostream> #define PI 3.141459265358979 using namespace std; // 1. Deklaration float umfang (float rU); float flaeche (float rA); // 2. Definition float umfang (float rU) { return PI*2*rU; //U=PI*d } float flaeche (float rA) { return rA*rA*PI; //A=PI*d*d*/4 } // 3. Aufruf int _tmain(int argc, _TCHAR* argv[]) { char eingabe; do { cout<<"\nWas moechten Sie berechnen?\n"; cout<<" 1 : Umfang\n"; cout<<" 2 : Flaeche\n"; cout<<" 3 : Umfang und Flaeche\n"; cout<<" 0 : Programm beenden\n"; cin >>eingabe; switch (eingabe) { case ('1'): float rU; cout<<"Bitte Radius fuer Umfang eingeben\n"; cin >>rU; cout<<"Der Umfang betraegt: "<<umfang(rU); break; case ('2'): float rA; cout<<"Bitte Radius fuer Flaeche eingeben\n"; cin >>rA; cout<<"Die Flaeche betraegt: "<<flaeche(rA); break; case ('3'): cout<<"\nBitte Radius fuer Umfang eingeben\n"; cin >>rU; cout<<"Der Umfang betraegt: "<<umfang(rU); cout<<"\nBitte Radius fuer Flaeche eingeben\n"; cin >>rA; cout<<"Die Flaeche betraegt: "<<flaeche(rA); break; case ('0'): cout<<"Das Programm wurde verlassen\n"; return 0; break; } }while (1); return 0; } gibt es verbesserungsvorschläge? grüße

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...