Zum Inhalt springen

Psycho~zicke

Mitglieder
  • Gesamte Inhalte

    84
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Psycho~zicke

  1. oh stimmt da fehlt die Bedingung... Aber wie meinste das das ich das innere total verändert hab?
  2. Also wäre das z.b das is meine for schleife die ich in while umwandeln muss for (iSchleife = 0; iSchleife < iZaehler; iSchleife++) { if (sZeile[iSchleife] == 'e') { sZeile[iSchleife] = 'E'; } } Das ist mein Versuch... while { if (iSchleife < iZaehler) { sZeile[iSchleife] =='e'; } printf ("E"); }
  3. Hallöchen!!! Ich hab mal eine frage und zwar versteh ich nicht wie man eine for Schleife in eine while Schleife umwandeln kann. Evt kann mir das ja jemand erklären... Ich weiß ist sicherlich eine doofe frage aber C scheint mir echt nicht zu liegen. Danke schlnmal im vorraus...
  4. Hat sich erledigt... Ich wusste nicht das der Dos editor ne eigene Tabweite hat.:upps Aus dem grund hatte ich immer 2 Zeichen mehr wie ich eingab. Trotzdem Danke
  5. Hallöchen! Ich hab Folgendes Problem. Ich muss in einer Aufageb (folgt) folgen von Leerzeichen durch die korrete anzahl von Tabs und Leerzeichen ersetzen. Nun hab ich das Programm dazu geschrieben (und diesmal auch ganz ganz allein) bekomme aber immer 2 leerzeichen mehr ausgegeben wie ich eingebe. Weiß evt jemand woran das liegen kann? Ich weiß es leide rnit... Zerbrech mir nun seit gestern den kopf darüber und dacht mir jetzt evt könnt ihr mir ja helfen. Hier mal der Quellcode: *Schreibe ein Programm entab, das folgen von Leerzeichen durch die minimale *Anzahl von Tabulatorzeichen und Leerzeichen ersetzt, um die gleichen Zwischenräume *zu erzielen. Benutzen Sie die gleichen Tabulatorpositionen wie für detab. Wenn *entweder ein Tabulatorzeichen oder ein Leerzeichen genügen würden, um eine *Tabulatorposition zu erreichen, was sollte bevorzugt werden? * ********************************************************/ #include <stdio.h> #define Tab 4 void main() { // deklaration der variablen int iEingabe; // Eingabetext int leer; // Anzahl der Leerzeichen int atab; // Anzahl der Tabulatoren int rest_leer; // restliche leerzeichen nach abzug der tabs // Zuordnung der werte leer = 0; // Anzahl der Leerzeichen atab = 0; // Anzahl der Tabulatoren rest_leer = 0; // restliche anzahl der leerzeichen nach abzug der tabs // Wird solange ausgeführt bis iEingabe A ist while ((iEingabe = getchar()) !='A') { if (iEingabe == ' ') { ++ leer; } else { if (leer !=0) { // printf ("%d", leer); atab = leer / Tab; //printf ("%d", atab); rest_leer = leer % Tab; //printf ("%d", rest_leer); while (atab !=0) { putchar ('\t'); -- atab; } while (rest_leer !=0) { putchar (' '); -- rest_leer; } } leer = 0; putchar (iEingabe); } } } Danke schon ma im Vorraus. Liebe Grüße die Zicke
  6. Da hast du recht. Schreib die Programme ja eigentlich auch immer alleine auch wenn dann oft mist bei rauskommt aber diesma gab mein chef mir 2 Tage zeit und da ich diesmal absolut nicht weiterkam bat ich nen freund um hilfe... War ne doofe idee... Naja am besten fang ich noch ma von anfang an mit dem Programm und hoff das ich meinem chef kla machen kann das ich es nicht fertig bekommen hab. Trotzdem danke an euch
  7. Hmm... Wenn eine Klammer fehlt unterbricht der compiler doch direkt mit einer Fehlermeldung. Also kann ich in dem Fall nicht anhand des compilierten Programms schauen ob alles richtig is oder hab ich das jetzt falsch verstanden/aufgefasst? Hab es auch nicht allein geschrieben hab mir bissel bei helfen lassen. Wenn ich ein Naturtalent wäre hätte ich nicht soviele Probleme mit diesen Programmen
  8. Hmm... Wenn eine Klammer fehlt unterbricht der compiler doch direkt mit einer Fehlermeldung. Also kann ich in dem Fall nicht anhand des compilierten Programms schauen ob alles richtig is oder hab ich das jetzt falsch verstanden/aufgefasst?
  9. Das Problem ist eher das ich nicht genau weiß was das Programm laut aufgabe machen soll bzw was es ausgeben soll und wie. Darum fragte ich ja ob das so sein soll... Das das Programm so wie es da steht die einzlenen Zeilen wieder zurück gibt weißt ich ja. Meine Frage war eher ob das Programm so richtig ist(die Anforderungen der Aufgabe entspricht), obs eine möglichkeit gibt ausser mit diesem Debugger das Programm auf Richtigkeit zu kontrollieren und obs evt einfachere Methoden gibt das Programm zu schreiben.
  10. Guten Morgen! Ich hab die aufgabe ein Programm zu schreiben das elementare Syntaxfehler überprüft wie z.B. falsch verschachtelte runde Klammern. Nun habe ich dieses Programm geschrieben. Wenn ich es compiliere bekomm und eine Eingabe mache bekomm ich nur meine Eingabe wieder raus. Soll das so sein? Da ich das mit dem debuggen leider immernoch nicht wirklich raus hab, wollt ich euch fragen ob das Programm richtig Funktioniert. Evt kann mir ja auch jemand Tips zu geben wie mans einfacher schreiben kann oder leicht verständlicher oder so. Die Kommentaren fehlen zum größten Teil noch da ich mir wie gesagt nicht sicher bin ob das Programm das macht was es soll. Schreiben Sie ein Programm, das ein C-Programm auf elementare Syntaxfehler überprüft, wie zum Beispiel falsch verschachtelte runde Klammer, geschweifte Klammern und eckige Klammern. Vergessen Sie dabei nicht, Anführungszeichen, Doppelanführungszeichen und Kommentare korrekt zu bahndeln. (Es ist nicht leicht, ein völlig allgemeinnütziges Programm für diesen Zweck zu fomulieren.) * ********************************************************/ #include <stdio.h> // deklaration der Variablen int Geschweifte, Eckige, Normale; void in_quote(int c); // deklaration der Funktin in_quote void in_comment(void); // deklaration der Funktion in_comment void search(int c); // deklaration der Funktion search void main() { // deklaration der Variablen int iEingabe; // Wird solange ausgeführt wie iEingabe kein A ist while ((iEingabe = getchar()) != 'A') { if (iEingabe == '/') // Prüft ob iEingabe ein / ist { if ((iEingabe = getchar()) == '*') { in_comment(); } else { search(iEingabe); } } else if (iEingabe == '\'' || iEingabe == '"') { in_quote(iEingabe); } else { search(iEingabe); } if (Geschweifte < 0) { printf("Unausgeglichene Geschweifteklammern\n"); Geschweifte = 0; } else if (Eckige < 0) { printf("Unausgeglichene Eckigeklammern\n"); Eckige = 0; } else if (Normale < 0) { printf("Unausgeglichene Normaleklammern\n"); Normale = 0; } } if (Geschweifte > 0) { printf("Unausgeglichene Geschweifteklammern\n"); } if (Eckige > 0) { printf("Unausgeglichene Eckigeklammern\n"); } if (Normale > 0) { printf("Unausgeglichene Normaleklammern\n"); } } // definition der Funktion search void search(int c) { extern int Geschweifte, Eckige, Normale; if (c == '{') { ++Geschweifte; } else if (c == '}') { --Geschweifte; } if (c == '[') { ++Eckige; } else if (c == ']') { --Eckige; } if (c == '(') { ++Normale; } else if (c == ')') { --Normale; } } // definition der Funktion in_comment void in_comment(void) { int c, d; c = getchar(); d = getchar(); while (c != '*' || d != '/') { c = d; d = getchar(); } } // definition der Funktion in_quote void in_quote(int c) { int d; while ((d = getchar()) != c) { if (d == '\\') { getchar(); } } } Danke schon ma im Vorraus. Liebe Grüße die Zicke
  11. Naja hab im monat ca 850 Euro(Ausbildungsvergütung + Nebenjob) zur Verfügung. Damit muss ich aber auch alles zahlen. Ich versuchs einfach mal und mach mich mal schlau wo da so die einkommensgrenze ist.
  12. Also ich lebe nicht mehr zuhause und muss für meinen Lebensunterhalt komplett selbst aufkommen. Kindergeld bekommen meine Eltern schon lange nicht mehr. Ist ja auch die 2. Ausbildung die ich mache, da gibts soweit ich weiß soweiso kein Kindergeld mehr. Naja ich versuchs bei der nächsten lohnsteuererklärung mal abzusetzten.
  13. Achso ok hab das das betriebliche Ausbilden falsch verstanden... Die Bücher bzw sachen die ich mir für bzw von der BS aus anschaffen muss könnt ich dann aber von der Steuer absetzen oder was das ne Falsche information die ich erhielt?
  14. Echt jetzt mein Betrieb müsste mir die Bücher kaufen die wir uns von der Schule aus anschaffen müssen???
  15. Weiß jemand wie das bei Azubis aussieht? Immerhin zahlt man da ja keine Steuern oder kann man das dann über die Eltern laufen lassen in dem man sagt die unterstützen einen un haben ads notwenige für die Ausbildung gekauft. Hab ja auch gehört das man die Schul- und Fachbücher absetzten kann. Läuft das da dann genauso?
  16. Hallöchen! Also irgendwie bin ich grad bissel verwirrt. Mich verwirrt das printl total weiß garnicht was das macht un kanns auch in keinem buch finden mit dem ich grad arbeite. Wenn dies allerdings in printf abändere bekomm ich eine Fehlermeldung also scheint es so ja richtig zu sein. Wäre lieb wenn Ihr euch den Quelltext mal anschauen könntet und mir evt erklären könnt wieso bzw was dieses printl ist. Hier der Quelltext: *Schreibe ein Programm, das lange Eingabezeilen in zwei oder mehr kürzere Zeilen *teilt, und zwar nach dem letzten Zeichen eines Wortes, das noch ganz vor der *Spalte n in der EIngabe sthet. Sorgen Sie dafür, dass Ihr Programm sich auch für *sehr lange EIngabezeilen vernünftig verhält, und dass auch Zeilen verarbeitet *werden können, die keine Leerzeichen oder Tabulatorzeichen vor der angegebenen *Spalte enthalten. * ********************************************************/ #include <stdio.h> #define MAXSPALTE 15 // Zeilen-Spalte #define TAB 8 // Tabulator-Spalte char line[MAXSPALTE]; // Array für gekürzte Zeile int exptab(int pos); // Funktion int findeleer(int pos); // Funktion int neuepos(int pos); // Funktion void printl(int pos); // Funktion void main() { char iEingabe; int pos=0; // Position der eingegebenen Zeichens while ((iEingabe = getchar()) != 'A') // Eingabe von Zeichen { line[pos++] = iEingabe; // Setzen der Zeichen ins Array if (iEingabe == '\t') // Verhalten bei eingegebenem Tabulator { pos = exptab(pos); // Aktualisieren der Position durch Funktion } else if (iEingabe == '\n') // Verhalten bei eingegebenem Zeilenvorschub/Enter { [B]printl[/B](pos); // Ausgabe der verkürzten Zeile durch Funktion pos = 0; // Position wieder auf null setzen } else if (pos >= MAXSPALTE) // Verhalten wenn Position über Spalte hinaus geht { pos = findeleer(pos); // mittels Funktion Stelle finden, wo Zeile abgeschnitten werden kann [B]printl[/B](pos); // Ausgabe der verkürzten Zeile pos = neuepos(pos); // neue Position feststellen durch Funktion } } } void printl(int pos) // Funktion zum Ausgeben von gekürzten Zeilen { int zaehler; // Zähler for (zaehler = 0; zaehler < pos; zaehler++) // Schleife zum Durchlaufen des Arrays { putchar(line[zaehler]); // Ausgabe der Zeichen des Arrays } if (pos > 0) // { putchar('\n'); // Ausgabe von Zeilenvorschub/Enter } } int exptab(int pos) // Funktion zur Behandlung von Tabulatoreingaben { line[pos] = ' '; for (pos++; pos < MAXSPALTE && pos % TAB != 0; pos++) { line[pos] = ' '; } if (pos < MAXSPALTE) { return pos; // gibt pos zurück } else { printl(pos); return 0; // gibt 0 zurück } } int findeleer(int pos) // Funktion zum Auffinden eines Leerzeichens zwischen Worten { while (pos > 0 && line[pos] != ' ') { pos--; // Position wird um eins verringert } if (pos == 0) { return MAXSPALTE; // gibt MAXSPALTE zurück } else { return pos + 1; // gibt pos +1 zurück } } int neuepos(int pos) // Funktion zum Festlegen der neuen Position { int zaehler_1, // Zähler 1 zaehler_2; // Zähler 2 if (pos <= 0 || pos >= MAXSPALTE) // Wenn Position außerhalb Spalte { return 0; // liefere null an main() zurück - aktuelle Position } else // Wenn Position innerhalb Spalte { zaehler_1 = 0; // Zähler auf null setzen for (zaehler_2 = pos; zaehler_2 < MAXSPALTE; zaehler_2++) { line[zaehler_1] = line [zaehler_2]; // Bestimmen der Position - aktuelle Position ++zaehler_1; } return zaehler_1; // liefere zaehler_1 an main() zurück } } Die fehlermeldung die kommt wenn man das printl mit printf tauscht: Error 1-22.c 42: type mismatch in parameter '_format' in call to 'printf' in funktion main Error 1-22.c 48: type mismatch in parameter '_format' in call to 'printf' in funktion main
  17. So wars bei mir Die Arbeitslosigkeit ist entstanden durch (_) Abschluss der Ausbildung/Studium (_) Zeitvertrag lief ab (X) Betrieb hat gekündigt (_) sonstiges Die Arbeitslosigkeit hat sich verlängert durch (_) nur schlecht zahlende Arbeitgeber suchten zu der Zeit (_) nur "110%-ige" Kandidaten wurden überhaupt eingeladen (_) eigene Fähigkeiten nicht mehr aktuell (_) geringe örtliche Flexibilität (X) sonstiges Die Arbeitslosigkeit hat sich (mind. vermutlich) verkürzt durch (_) eigene Weiterbildung, z.b. bzgl. neuer Software (_) Weiterbildung durch Arbeitsamt (z.B.) (_) Abstriche beim Geld (_) Umzug zum neuen Arbeitgeber (X) sonstiges Arbeitgeber hat (vermutlich) (_) Arbeitslose bevorzugt (_) Nicht-Arbeitslose bevorzugt (X) sonstiges Die Arbeitslosigkeit dauerte (_) unter sechs Wochen (_) sechs Wochen bis drei Monate (_) drei bis sechs Monate (X) länger als sechs Monate (_) sag ich nicht
  18. Das Problem mit dem Selbststudium kenn ich leider auch aus eigener Erfahrung. Bin nun Seit dem 1.8.07 in der Ausbildung als FIAE und Programmiere seitdem mit C naja sagen wir ma ich versuchs zumindest. Das ist alles absolutes neuland für mich aber wie heißt es immer so schön dafür macht man ja ne Ausbildung um das alles beigebracht zu bekommen und genau da ist der Punkt. Wir sind 2 Azubis einer im 2 Leerjahr und ich un haben 3 ich sag ma Ausbilder die allerdings selbst an Projekten arbeiten und deswegen auch ab un an ma nicht im Haus sind. Man bekommt zwar ständig gesagt wenn was ist frag doch aber so wirklich Zeit hat keiner, denn wenn man ma fragt dann heißt es "oh im mom ganz schlecht ich komm dann zu dir" und darauf wartet man dann schon ma nen Tag. Find es auch nicht wirklich gut aber lässt sich wohl nicht ändern.
  19. hmm da dieses Buch aber 'Programmieren in C' heißt müsste der Autor ja auch nen C compiler benutzt haben... damit sollte so eine Lösung wohl nicht vorkommen... Komisch Komisch... Danke dir weiß ich ja nun zum glück was sache ist
  20. Also ich sollte mir wirklich ein anderes Buch zulegen. Das steht da wirklich so... Und ich hab wirklich angefangen an mir selbst zu zweifeln... Danke schön für deine hilfe
  21. Nachdem ich mir das Programm nun noch ma genau angeschaut hatte und es auch noch mal geschrieben hatte sagte mein Kollege das es nun Funktionieren müsste (was es aber nicht tat) nahm ich mir das Lösungsbuch zur hand. Leider bringt mich das auch nicht weiter. Denn die Lösung wie die darin steht lässt sich auch nicht kompelieren. Immer wieder erscheint der Fehler: Erorr 1-18.c 17 :Type mismash in redeclaration of remove Error 1-18.c 17:Earlier declaration of remove Erorr 1-18.c 34 :Type mismash in redeclaration of remove Hier mal der code... *Schreibe ein Programm, das Leerzeichen und Tabulatorzeichen am Ende von *Eingabezeilen entfernt und das auch völlig leere Zeilen unterdrückt. * ********************************************************/ #include <stdio.h> #define MAXLINE 1000 // Maximale länge der Eingabezeile // deklaration der Funktion getline int getline(char line[], int maxline); int remove(char s[]); // daklartion der Funktion remove main() { char line[MAXLINE]; //momentane Eingabezeile while (getline(line, MAXLINE)>0) { if (remove(line)>0) // wenn (remove(line) größer 0) ist... { printf("%s", line); // ... gibt die zeile aus } } return 0; } int remove(char s[]) { //deklaration der Varibalen int i; //Zuordnung der Werte i = 0; // wird solange ausgeführt wie s[i] kein Zeilentrenner ist. while (s[i] !='\n') ++i; --i; while (i >=0 && (s[i] == ' '|| s[i] == '\t')) --i; if (i >= 0) { ++i; s[i] = '\n'; ++i; s[i] = '\0'; } return i; } int getline(char line[], int maxline) { // deklaration der Variablen int c, i; for(i=0;(c=getchar())!='A' && c!='\n'; ++i) if (i<maxline-2) { line[i] = c; } if (c =='\n') { line[i] = c; ++i; line[i] = '\0'; } return i; }
  22. Hallöchen! Ich suche Prüfungen (egal ob ZP oder ASP) für FIAE von den letzten Jahren, wenn möglich mit Lösungen. Wäre lieb wenn die jemand hat und mir zuschicken könnte. sabrina.werner@gmx.net schon ma danke im Vorraus.
  23. OK danke werd mich das we ma dahinter klemmen das ich den versteh. Also im moment sieht das alles für mich noch aus wie chinesisch Danke für den tip!!!

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