Zum Inhalt springen

voldemort

Mitglieder
  • Gesamte Inhalte

    111
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von voldemort

  1. halllo zusammen und erstmal danke bis hier. ich habe nun das scanf und das printf mit cout und cin getauscht. so mit kann man ja das fflush(stdin) weglassen und lernen dann langsam die c++ befehle #include "stdafx.h" #include <stdlib.h> #include <iostream> #define PI 3.141459265358979 using namespace std; // 1. Deklaration void umfang (float); void flaeche (float); void punkt_drei (float,float); // 2. Definition void umfang (float rU) { cout<<"\nDer Umfang betraegt:\n"<<PI*2*rU; //U=PI*d } void flaeche (float rA) { cout<<"\nDie Flaeche betraegt:\n"<<rA*rA*PI; //A=PI*d*d*/4 } void punkt_drei (float rU,float rA) { cout<<"\nBitte Radius fuer Umfang eingeben\n"; cin >>rU; umfang(rU); cout<<"\nBitte Radius fuer Flaeche eingeben\n"; cin >>rA; flaeche(rA); } // 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; umfang(rU); break; case ('2'): float rA; cout<<"Bitte Radius fuer Flaeche eingeben\n"; cin >>rA; flaeche(rA); break; case ('3'): punkt_drei(rU,rA); break; case ('0'): cout<<"Das Programm wurde verlassen\n"; return 0; break; } }while (1); return 0; } nun muss ich das programm so umschreiben das die ergebnisse per rückgabewert an die main übergegeben werden. d.h. heißt doch float umfang (float rU); float umfang(float rU) { float erg=(rU*2*PI); return erg; } main () { float erg; erg =umfang(rU); cout<<"Der Umfang betraegt: "<<erg; } ist das bsp so korrekt? falls ja tritt ja dann hier das problem auf das ich mit switch case arbeite und hier den wert für erg mehrmals benötige;für umfang, fläche und für den punkt 3. muss ich jedesmal ne neue deklaratoin für jeden case punkt finden oder gibt es da ne andere möglichkeit? grüße
  2. also wenn ich das menü so programmiere......... do { printf("Was moechten Sie berechnen?\n"); printf(" 1 : Umfang\n"); printf(" 2 : Flaeche\n"); printf(" 3 : Umfang und Flaeche\n"); printf(" 0 : Programm beenden\n"); scanf("%c",&eingabe); fflush (stdin); .......... ...bekomm ich mit eingabe 1 für umfang berechnen und 5 für den radius zu berechnen folgende ausgabe: Was moechten Sie berechnen? 1 : Umfang 2 : Flaeche 3 : Umfang und Flaeche 0 : Programm beenden 1 Bitte Radius fuer Umfang eingeben 5 Der Umfang betraegt: 31.414593 Was moechten Sie berechnen? 1 : Umfang 2 : Flaeche 3 : Umfang und Flaeche 0 : Programm beenden Was moechten Sie berechnen? 1 : Umfang 2 : Flaeche 3 : Umfang und Flaeche 0 : Programm beenden wenn ich nun aber das menü so programmiere do { fflush (stdin); printf("Was moechten Sie berechnen?\n"); printf(" 1 : Umfang\n"); printf(" 2 : Flaeche\n"); printf(" 3 : Umfang und Flaeche\n"); printf(" 0 : Programm beenden\n"); scanf("%c",&eingabe); fflush (stdin); ....... dann ist die ausgabe korrekt. die frage war nun ob das eine saubere lösung ist oder es ne optimale alternative gibt.
  3. hallo zusammen. wenn ich das programm starte und den umfang berechne soll mir ja das programm mein menü neu aufrufen. deswegen steht es ja in der schleife. nun habe ich aber das problem das es zwei mal aufgerufen wird.genau so läuft es auch mit der flächenberechnung. kann jemand erkennen warum das so ist bzw ob meine lösung die ich nun eingefügt habe optimal ist? die zweite frage. ich würde gerne wenn ich die 3 eingebe das ich den umfang und die fläche berechnen kann. ist das irgendwie möglich ohne die beiden blöcke zu kopieren und umzudeklarieren? #define PI 3.141459265358979 void umfang (float); void flaeche (float); int _tmain(int argc, _TCHAR* argv[]) { char eingabe; do { fflush (stdin); //<----OPTIMALE LÖSUNG? printf("Was moechten Sie berechnen?\n"); printf(" 1 :Umfang\n"); printf(" 2 :Flaeche\n"); printf(" 3 : Umfang und Flaeche\n"); printf(" 0 : Programm beenden\n"); scanf("%c",&eingabe); fflush (stdin); switch (eingabe) { case ('1'): float rU; printf("Bitte Radius fuer Umfang eingeben\n"); scanf("%f",&rU); umfang(rU); break; case ('2'): float rA; printf("Bitte Radius fuer Flaeche eingeben\n"); scanf("%f",&rA); flaeche(rA); break; /*case '3':*/ case ('0'): printf("Das Programm wurde verlassen\n"); return 0; break; } }while (1); return 0; } void umfang (float rU) { printf("Der Umfang betraegt: %f\n",2*PI*rU); } void flaeche (float rA) { printf("Die Flaeche betraegt: %f\n",rA*rA*PI); } grüße voldemort
  4. ja das hab ich gemeint und sorry, aber anhand meiner letzten beschreibung dachte ich es wäre klar. sorry falls ich da auch irgendwelche begriffe durcheinander geworfen habe, werde es dann iin zukunft direkt so machen wie gewünscht. grüße
  5. ach so zB habe ich jetzt meine funktionen eingeben und anzeigen ausserhalb des main-programmms angelegt. die frage war nun darauf bezogen ob es möglich ist oder sinn macht die funktionen in das main-programm zu schreiben oder ob es fallunterscheidungen gibt in denen es sinn macht selbstdefinierte funktionen in das main-programm zu schreiben. ich hoffe das war verständlicher
  6. das war einfach nur eine frage. ich versuche die möglichkeit herauszufinden ob es so was gibt oder nicht.
  7. mir ist bewusst das ich vieles aus c nehme, aber das problem besteht darin das wir bis jetzt nur strukturen zum einstieg genommen haben und dann direkt in klassen gewechselt haben. jedoch ist der unterricht sehr lückenhaft und die ganzen c++ grundbefehle wie zB cout cin wurden nicht besprochen obwohll man sich gewünscht hätte klein anzufangen. naja...selbst ist der mann. ich habe nun mal mein programm so weit korregiert das es fehlerfrei läuft class Daten { private: char ort [80]; char name [80]; public: void eingeben (); void anzeigen (); }; void Daten::eingeben () { printf("Bitte Ort eingeben\n"); gets(ort); printf("Bitte Name eingeben\n"); gets(name); } void Daten::anzeigen () { printf("%s\n",ort); printf("%s\n",name); } int _tmain(int argc, _TCHAR* argv[]) { Daten Adresse; Adresse.eingeben(); Adresse.anzeigen(); return 0; } mal ein paar verständnis frage. geht es auch die funktion in die main zu schreiben und würde das sinn machen? meine klasse besteht doch aus 160byte;oder?
  8. also ich hab es nun mal probiert komme aber nicht zu einem ergebnis #include "stdafx.h" #include <iostream> using namespace std; class Daten { private: char ort [80]; char name [80]; public: void eingeben (); void anzeigen (); }; void eingeben (void) { printf("Bitte Ort eingeben\n"); gets(ort); printf("Bitte Name eingeben\n"); gets(name); } int _tmain(int argc, _TCHAR* argv[]) { Daten Adresse; eingeben(); return 0; } ich bitte um verbesserung bzw vervollständigung grüße
  9. @ Pointerman das war auch so ziemlich die einzige übung mit selbstgeschriebene funktionen die wir gemacht haben. also wenn ich im moment mehr zeit hätte würde ich gern auf das angebot eingehen und gemeinsam mit euch eine lösung finden. das problem ist aber die zeit im moment. ich schreib morgen abend eine klausur und da wäre es sinnvoll das mal zumindest gesehen zu haben. leider hab ich es zeitlich nicht vorher geschafft mich drum zu kümmern da wir momentan in einer klausurphase stecken. dazu kommt natürlich noch der beruf und die familie. ich stell mal nen code einer klasse zur verfügung die wir im unterricht begonnen haben, aber nie beendet haben. class daten { private: char ort [80]; char name [80]; public: }; grüße
  10. stimmt..aber;wir machen grad den umstieg von c auf c++ und eigene funktionen schreiben haben wir nie so wirklich durchgenommen da ist es ja klar das man gern erstmal ein richtiges bespiel hat und sich dann durchs programm durcharbeitet. so bin ich bis jetzt eigentlich immer gut gefahren. also es muss wirklich nichts großes sein. nur ein kleines kurzes beispiel bitte. grüße
  11. in c++ bitte. in den lehrbüchern steht natürlich nur beides getrennt voneinander, aber nirgends ein bsp wie man es kombiniert. grüße
  12. hallo zusammen, kennt jemand ein kleines einfaches programm in dem man eine klasse programmiert hat und auf die daten in jener mit einer funktion zugreift? in meinen lehrbüchern habe ich leider dafür kein bsp und benötige mal eine vorlage zu übungszwecken. kann mir da jemand evtl. mal eben schnell ein bsp hinzaubern? im vorraus danke voldemort
  13. hier bin ich nochmal mit meinem problem. also habe den kurs so weit durchgeackert wie es nur geht. wollte nun grad den test machen, jedoch habe ich erhebliche probleme den test auf englisch zu machen. nun muss ich die frage leider nochmal stellen. gibt es eine möglichkeite diese bzw solche fragen zu trainieren? grüße
  14. ok,dann muss ich mich wohl mit hilfe des buches da durch ackern. aber in wie fern stimmen denn die fragen im buch mit dem test überein? kann da einer drüber evtl berichten? grüße
  15. erstmal danke. ja, ich habe auch einen zugang und arbeite auch zwischenzeitlich mit dem paket tracer. problem ist das der ersten test (also zum ersten kapitel) am donnerstag frei geschaltet wird und ich bis dahin wohl noch nicht das buch haben werde. gibt es evtl noch zusätzlich möglichkeiten sich im netz vorzubereiten? grüße voldemort
  16. hallo zusammen, ich befinde mich inmitten einer teilzeitweiterbildung und wir haben ab diesem jahre netzwerktechnik und durchlaufen den cisco kurs (cisco ccna exploration Network Fundamentals - 4.0). dazu haben wir das deutsche buch(cisco netzwerkgrundlagen) zur verfügung. in unseren herbstferien bekommen wir nun einen test freigeschaltet und meine frage ist wie man sich am besten drauf vorbereitet? gibt es seiten auf denen man testszenarien durchspielen kann oder seiten auf denen man die testfragen durcharbeiten kann. im buch gibt es nach jedem kapitel auch testfragen, aber ich weiß ja nicht in wie fern diese relevant sind und deutsch und englisch sind ja auch zwei verschiedene welten. vielleicht kann mir ja jemand weiterhelfen. mfg voldemort
  17. kurz aber effektiv. danke grüße
  18. weil ich gerne wissen möchte ob es eine funktion, oder syntax für solche aufgaben gibt. es könnte ja sein das man so etwas mal gebrauchen kann
  19. @ lupo49 ja genau @ robotto7831a es war ja meine frage ob es dafür eine funktion, oder etwas in der art gibt. wenn nicht ist klar das ich die datei erst auf der konsole ausgeben muss um zu schauen welches trennzeichen verwendet wird. semikolon ist das einizge trennzeichen. grüße
  20. hallo, ich mache einen dateiaufruf mit einer csv datei. in dieser datei befinden sich verschiedene daten getrennt mit einem semikolon ( ; ) wo von wir nun aber ausgehen das wir es noch nicht wissen. aufgabe soll es nun erstmal sein den dateiaufruf zu machen, das zu suchende trennzeichen zu finden und auszugeben. gibt es da eine bestimmt funktion, oder einen syntax? grüße Voldemort
  21. also du meinst einmal einlesen, dann nach semikolon und zeilenumbruch abfragen und erst dann ein zeichen weitergehen. bis dahin verstanden, aber die funktion atoi ist mit unbekannt. kann leider nicht etwas einbauen was wir noch nicht durchgenommen haben.
  22. gibt es denn da nicht eine saubere lösung als die meine um das zu umgehen?
  23. so statt den fseek befehl verwende ich nun auf tipp eines kollegen weiter = fgetc (datei); aber es muss doch auch mit fseek möglich sein,oder? hier der jetzige code int i,k,l=0,tmp; int zeichen,anzahl=0,zahl=0,*speicher; char weiter; FILE*datei = fopen (/*argv[1]*/ "c:\\zahlen.csv" ,"r"); if (datei == NULL) { printf("Error"); } do { zeichen = fscanf(datei,"%d",&i); weiter = fgetc (datei); if (zeichen == 1) { anzahl++; } }while(!feof(datei)); speicher = (int*) malloc (anzahl * sizeof (int) ); fseek (datei, 0L, SEEK_SET); do { zeichen = fscanf(datei,"%d",&i); weiter = fgetc (datei); speicher[zahl]=i; zahl++; }while(!feof(datei)); fclose(datei); for (k = 0; k < anzahl; k++) { for (zahl = 1+k; zahl < anzahl; zahl++) { if (speicher [k] > speicher [zahl]) { tmp = speicher [k]; speicher [k] = speicher [zahl]; speicher [zahl] = tmp; } } } for (k = 0; k < anzahl; k++) { printf ("%d \n", speicher[k]); }
  24. durch kopieren der zeile hab ich zwei zeilen um genau zu sein jetzt seh ich wo das problem ist. am ende der datei steht ;; nun versteh ich das aber nicht mehr da ich doch durch fseek ein zeichen weiter gehe wenn es keine zahl ist,oder?
  25. schritt weiter = fseek ; also gehe ein zeichen weiter in der testdatei steht 5555;552 die große datei ist genau so aufgebaut nur das sie aus den zahlen 1 - 9999 besteht. das semikolon ist natürlich hier das trennzeichen. hab nun auch mal die erste zeile aus der großen datei in meine testdatei kopiert und siehe, wird auch gelesen und sortiert hab nun die abfragen in so weit geändert das wenn zeichen=1 nur anzahl++ ansonsten fseek. auf deutsch, nur ein zeichen weiter gehen wenn ein anderes zeichen als eine zahl gelesen wird. ich denke mal das du das gemeint hast, aber ändert leider immer noch nichts am problem

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...