Zum Inhalt springen

kirchi123

Mitglieder
  • Gesamte Inhalte

    12
  • Benutzer seit

  • Letzter Besuch

  1. Danke hab es hinbekommen. Jetzt hätte ich noch eine Frage: Wie würde das den aussehen wenn ich nicht die Zeichen zählen, sondern nach einem bestimmten Zeichen suchen will. Vielen lieben Dank.
  2. Das hab ich jetzt probiert, aber da bekomme ich die Fehlermeldung: request for member 'get' in 'quellDatei', which is of non-class type 'FILE*'. Das bedeutet den das? Den Code hab ich so probiert: while (quellDatei.get() != EOF) { ++zaehler; }
  3. Danke dafür, aber leider hilft mir das nicht so weiter. Trotzdem danke.
  4. Das mit dem öffnen und lesen aus Datei hab ich hinbekommen, hab aber keine Ahnung wie ich das mit dem zählen der Zeichen machen soll. Könnte mir vielleicht jemand eine Anregung geben. Das wäre super. Vielen Dank im Voraus.
  5. Ich hab einfach keine Idee wie die Funktion lauten sollte. Deshalb steht da nur das. Das Programm sollte unter UNIX laufen. Vielleicht kann mir ja jemand helfen. Vielen Dank im Vorraus.
  6. Ich hab jetzt ein Programm fertig, dass 2 Dateinen als Parameter einließt. Dann wird die 1. Datei an die 2. Datei anhängt. Jetzt möcht ich noch das danach die 1. Datei gelöscht wird, aber es funktioniert noch nicht. Das anhängen funktioniert einwandfrei, aber das löschen funktioniert nicht. Ich hab das mit der Funktion remove machen, könnte mir das jemand vielleicht helfen. Der Code lautet: #include <stdio.h> #include <iostream> using namespace std; char *err; void usage() { fprintf(stdout, "Bitte 2 Dateinamen als Parameter eingeben.\n"); return; } void error (char *errorMessage) { fprintf(stdout, errorMessage); exit(1); } int main(int argc, char **argv) { char c; FILE *quellDatei; FILE *zielDatei; if (argc != 3) usage(); quellDatei = fopen(argv[1], "r"); if(quellDatei == NULL) { cout << "Konnte Quelldatei nicht oeffnen"; return -1; } zielDatei = fopen(argv[2], "a"); if(zielDatei == NULL) { cout << "Konnte Zieldatei nicht oeffnen" ; return -1; } while( fscanf(quellDatei, "%c", &c) != EOF) { fprintf(zielDatei, "%c",c); } fclose(quellDatei); fclose(zielDatei); int remove (const char *argv[1]); } Die remove Funktion ist ganz unten. Was könnte da falsch sein. Es kommt keine Fehlermeldung, dass löschen wird einfach nicht gemacht. Vielen Dank im Vorraus.
  7. Also ich hab mir mal gedacht ich frag mal ohne die Fehlermeldung dazuzuschreiben, weil vielleicht jemandem schon einfach im Programm was auffällt, aber die Fehlermeldungen lauten: C++ forbids the comparison between pointer and integer. Und dann noch eine zweite: cannot convert 'bool' to 'char*' for argument '1' to char* fgets(char*, int, FILE*).
  8. Ich würde gerne ein Programm schreiben, das die Anzahl der Zeichen in einer Datei zählt. Der Dateiname soll als Parameter übergeben werden. Ich hab das Programm so geschrieben: #include <iostream> #include <string.h> #include <fstream> #include <cstdlib> using namespace std; static void usage (char *porgname) { cout << " Parameter nicht korrekt "; exit(1); } static void error (char *progname, char **errorMessage) { cout << " ERROR in " << " ue5.C " << errorMessage << endl; exit(1); } int main (int argc, char *argv[]) { cout << endl; cout << endl; FILE *datei; char zeichen; int zaehler = 0; int n = atoi (argv[1]); datei = fopen("text.txt", "r"); if (argc !=2) { cout << " Fehler "; } datei = fgets(argv[1] != EOF); { zaehler++; } cout << " Die Datei enthält: " << zaehler << " Zeichen "; fclose(datei); } Das Programm funktioniert aber leider nicht. Es kommt immer eine Fehlermeldung. Ich bin noch ein Anfänger in C++. Könnte mir jemand helfen. Vielen Dank im Vorraus.
  9. Ich möchte einen Polynomfunktion berechnen. Die Funktion soll in der Datei calc.c berechnet werden und in der datei calc.h definiert sein. Ausgegeben werden soll sie in Datei poly.C. Die Wert sollen als Parameter übergeben werden. Die Datei calc.h habe ich so geschrieben: #include <iostream> #define K 100 using namespace std; int p () { int erg; int c1=$1; int c2=$2; int c3=$3; int x=$4; } also die Funktion definiert. Die Datei calc.c hab ich so geschrieben: #include <iostream> #include <string.h> #include "calc.h" using namespace std; int p () { erg=(c3*x*x*x) + (c2*x*x) + (c1*x) + K; } die Funktion wird berechnet. Und die datei poly.C schaut so aus: #include <iostream> #include <strings.h> #include "calc.h" #include "calc.c" using namespace std; int p () { int main (int argc, char **argv) { cout << " erg= " << erg; cout << " x = " << x; cout << " c1 = " << c1; cout << " c2 = " << c2; cout << " c3 = " << c3; cout << " K = " << K; } } Aber wenn ich das Programm kompilieren will kommt immer die Fahlermeldung das die Parameter $1-$4 nicht definiert sind. Kann mir vielleicht jemand weiterhelfen? Wäre super. Ich bin noch ein Anfänger in C++. Danke im Vorraus.
  10. Also du meinst Variablen nicht global sondern lokal definieren oder was? Und es wird immer nur die Zahl 0 ausgegeben. Wie kann man das durchlaufen des Arrays mit einer rekursion machen, geht das mit ++ oder ist das keine gute Idee? Danke schon im Vorraus
  11. Also du meinst ich soll noch eine Varaible z.b. a=arr[pos] verwenden, dann ++a um zu erhöhen bei jedem neuen Aufruf? Ja ich will dann den Wert des arrays an der position mit dem minimun von der vorhergehenden Position vergleichen. Wie könnte ich das machen? Vielen Dank schon im Vorraus.
  12. Ich bin noch ein C++ Anfänger und habe ein Problem beim Thema Funktionen. Ich möchte ein Programm schreiben, dass den Array mit den Zahlen 5,7,4,3,9,10,1 einließt und in einer rekursiven Funktion, das Array durchläuft und nur die Zahlen ausgibt die kleiner als das bisherige Minimun, also z.b. min 5 nach der 1. Zahl, 7 wird nicht ausgegeben weil größer, dann wird 4 ausgegeben und das min wird auf 4 gesetzt, dann wird 3 ausgegeben und das min auf 3 gesetzt u.s.w. Das Durchlaufen des Arrays soll aber in rekursiver Funktion passieren ohne Schleife. Ich habe bisher folgenden Code, aber dieser gibt immer nur die Zahl 0 aus. Vielleicht könnte mir jemand helfen. #include <iostream> using namespace std; int arr[7]={5,7,4,3,9,10,1}; int min=30; int pos=0; int durch(int pos,int min) { if (pos>7) return pos=arr[pos]; if (pos<min) { cout << pos; min=pos; durch((++pos),min); } else if (pos>min) { durch((++pos),min); } else; } int main () { int min; durch(pos, min); system("PAUSE"); return 0; } Und vielleicht könntet ihr mir ein Paar Tipps geben, wo man im Internet das Kapitel Funktionen gut erklärt bekommt. Vielen Dank im Vorraus.

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