Zum Inhalt springen

Asrin

Mitglieder
  • Gesamte Inhalte

    14
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Asrin

  1. Asrin

    Wort in String finden

    Hier das erweitete Programm um Erkennung des Wortes auch in Falle von Großbuchtaben und Beachtung des Pufferüberlaufes, sowie die Änderung der Suchschleife. Es sollten nur auch die 2 Probleme gelöst sein. Und system("pause") weil ich ausschließlich unter windows arbeite und das bruache ich für das Anzeige Fenter. #include <stdio.h> #include <stdlib.h> #define ZEICHEN 60 /* Anzahl zugelassene Zeichen */ int main() { char text[ZEICHEN]; int i=0; char c; /* Eingabe */ do{ printf("\nGeben Sie eine Zeichenkette ein:"); c = getchar(); while(c != '\n'){ /* Falls Großbuchstaben im Text vorkommen, Sollen diesen in Kleinbuchstaben umgewndelt werden */ if ('A' <= c && c <= 'Z') { c =(c + 'a' - 'A'); } text[i]=c; i++; c = getchar(); } }while(i >= 60); text[i] = '\0'; //printf("%s",text); /* Zeile nach dem Wort Poker durchsuchen */ for(i=0;i < 55;i++) { if(text[i] == 'p' && text[i+1] == 'o' && text[i+2] == 'k' && text[i+3] == 'e' && text[i+4] == 'r') { printf("\nDas Wort Poker ist im Text vorgekommen!"); break; } else { printf("\nDas Wort Poker kam nicht im Text vor!"); break; } } system("pause"); return 0; }/*END_amin() */
  2. Asrin

    Wort in String finden

    @Xanatus Danke, genau darauf hätte ich kommen müssen. Ich habe das genze etwas umgeschrieben und das Programm läuft jetzt. @klotzkopp Der zweite array war einfach eine spontane idee,hab es jetzt rausgenommen. #include <stdio.h> #include <stdlib.h> #define ZEICHEN 60 /* Anzahl zugelassene Zeichen */ main() { char text[ZEICHEN]; int i=0; char c; /* Eingabe */ printf("\nGeben Sie eine Zeichenkette ein:"); c = getchar(); while(c != '\n'){ text[i]=c; i++; c = getchar(); } text[i] = '\0'; /* Zeile nach dem Wort Poker durchsuchen */ for(i=0;i!='\n';i++) { if(text[i] == 'p' && text[i+1] == 'o' && text[i+2] == 'k' && text[i+3] == 'e' && text[i+4] == 'r') { printf("\nDas Wort Poker ist im Text vorgekommen"); break; } else { printf("\nDas Wort Poker kam nicht im Text vor!"); break; } } system("pause"); }
  3. Asrin

    Wort in String finden

    Es ist eine Frage.Denn ich weiss, dass ich die If Abfragen anders machen soll,weiss nur nicht genau wie?? Ein zweite Array um zu sehen, dass das Wort erkannt wurde.Ich könnte den auch weglassen. Und kein strstr, weil ich die Aufgabe ohne eine Funktion lösen möchte.
  4. Asrin

    Wort in String finden

    Hi Leute, ich habe das gleiche Problem wie error.Ich will aber keine Funktion für das finden verwenden, sondern es einfach mit eine schleife und einen zweiten Array lösen. Hab folgenden Ansatz: [ #include <stdio.h> #include <stdlib.h> #define ZEICHEN 60 /* Anzahl zugelassene Zeichen */ #define ZEICHEN2 60 /* Anzahl zugelassene Zeichen im 2.Array */ main() { char text1[ZEICHEN]; char text2[ZEICHEN2]; int i=0; int j = 0; char c; /* Eingabe */ printf("\nGeben Sie eine Zeichenkette ein:"); c = getchar(); while(c != '\n'){ text1=c; i++; c = getchar(); } text1 = '\0'; //printf("%s",text); for(i=0;i < 60;i++) { if(text1 == 'p'){text2[j]= 'p';} if(text1[i+1] == 'o'){text2[j+1]= 'o';} if(text1[i+2] == 'k'){text2[j+2]= 'k';} if(text1[i+3] == 'e'){text2[j+3]= 'e';} if(text1[i+4] == 'r'){text2[j+4]= 'r';} } text2[j+5] = '\0'; printf("%s\n",text2); system("pause"); } ] das Problem hierbei, ich bekomme das Wort poker in jedenfall in den zweiten Array reingeschrieben, also wenn einfach nur diese 5 Buchstaben im text vorkommen, egal als wort oder nicht! Was muss ich anders machen.
  5. Danke Kosnti4U! Jetzt läuft das Programm. MFG Asrin
  6. Hallo, ich habe folgendes programmiert und erhalte beim Aufruf der Funktion, die Fehlermeldung,das die Variable in der Funktion undeklariert ist.Woran liegt das?? Das ist der Code: /* Funktion */ #include <stdio.h> #include <stdlib.h> #define KURS 0.7714 /* Der Dollar Kurs */ /* Dieses File enthaelt */ float USDollarZuEuro (float USDollar); int main(); /* Impelmentierung */ float USDollarZuEuro(float USDollar) /**********************************************************/ /* */ /* Programm zur Umrechnung von Dollarbetraegen in Euro. */ /* */ /**********************************************************/ { float euro; euro = USDollar * KURS; return euro; }/*END_USDollarZuEuro() */ int main() /**********************************************************/ /* */ /* Funktion zur Eingabe der umzurechnenden Werte und die */ /* Ausgbe des Dollaebetrags in Euro. */ /* */ /**********************************************************/ { float dollar; int eingabe = 0; printf("\nDas ist ein Programm zur Umrechnung von USDollar in Euro!"); do{ printf("\nGeben sie Bitte einen Betrag ein:"); scanf("%f",&dollar); printf("\nDer von ihnen eingegebene Dollar Betrag %.2f entspricht %2.f Euro.",dollar,USDollarZuEuro(USDollar)); eingabe++; }while(eingabe < 11); system("pause"); return 0; }/* END_main() */ und das kriege ich als Fehlermeldung. 'USDollar' undeclared(first use in this function) mit verweiss auf die Zeile, in der die Funktion aufgerufen wird!
  7. /* ACHTUNG: scanf() liest bei der Verwendung der Formatanweisung %s nur bis zum ersten Zwischenraumzeichen ! */ Ich krige in der Ausgabe nur den ersten Wort.. Kann man das Problem irgendwie umgehen oder sollte ich erst gar nicht scanf nehmen?
  8. kann mir bitte jemand sagen, wie ich allgemein mit scanf in array's einlesen kann!
  9. Danke nochmals euch allen..... @Klotzkopp Das mit den vielen Fragezeichen ist nur gewohheit.Die Fragezeichen in meinem kopf was programmieren angeht,würde gar nicht hier drauf passen...:confused: daher habe ich auch schon den nächsten Code für euch. Ganz wichtig, wie kann ich mit getchar() einen Text einlesen und in einem Array speichern, diesen Text aber auf bestimmte Bedingungen prüfen??? Ich habe folgenden Ansatz. #include <stdio.h> #include <stdlib.h> #define MAXIMUM 60 /*Hoechstens 60 Zeichen*/ #define MINIMUM 20 /*Mindestens 20 zeichen*/ main() /* Benutzer wird aufgefordert einen Text einzugeben.Dieser Text wird in einen cahr Feld eingabe[65] gespeichert.Der Text darf max. 60 Zeichen und min. 20 Zeichen lang sein.der Text darf Buchstaben, Leerzeichen und Tabulatorzeichen enthalten.Darufhin wird der Benutzer aufgefordert zwei Buchstaben einzugeben.Das Program soll die Stellen diese zwei Buchstaben in dem Text, der jetzt in eingabe[] geschrieben ist, vertauschen.Der so geänderete Text aus eingabe soll ausgegeben werden, ebenso die Anzahl der Ersetzungen*/ { char eingabe[65]; char c, ba,bb; int i; do{ printf("Geben sie ein Text ein,\n"); printf("Mindestens 20 Zeichen, hoechstens 60 Zeichen lang:"); c = getchar(); if(((65 <= c && c<= 90) || (97 <= c && c <= 122)) && (c == ' ') && (c == '\t')){ eingabe[65] = c; } }while(eingabe[65] > MAXIMUM && eingabe[65] < MINIMUM); printf("\nText :",eingabe[65]); printf("Geben sie zwei Buchstaben ein:"); scanf("%c",&ba); scanf("%c",&bb); for(i = 0; i<= eingabe[i-1];i++){ if(eingabe == ba){ eingabe = bb; } } system("pause"); }
  10. @TDM vielen Dank...so funktioniert es... aber kannst du mir den code auch erklären...ich sehe die Variante zum ersten mal.. Heisst etwa das Fragezeichen gleich und der Doppelpukt ungleich oder wie??? kann ich das auch einfach mit gleich und umgleich zeichen machen???? @DominikJ Danke dir auch... Ja blöd von mir, dass ich min = 0 gesetzt habe...so funktioniert es auch.
  11. @flashpixx ich habe das doch genauso!! @TDM ich habe es auch mit deinem Code vorschalg versucht.Da erhalte ich für min und max immer nur das maximum....
  12. /*Ermittelung von Minimum und Maximum*/ float max = 0; float min = 0; if (hoehe > max) {max=hoehe;} if (breite > max) {max=breite;} if( laenge > max) {max=laenge;} if (hoehe < min) {min=hoehe;} if(breite < min) {min=breite;} if(laenge < min) {min=laenge;} printf("Die laengste Seite ist:%2.2fMeter\t",max); printf("Die kuerzeste Seite ist:%2.2fMeter\n",min); so erhalte ich den Maximum richtig, aber keinen minimum!!
  13. Hallo Leute, ich habe folgenden Code zu ermittelung von min und max aus drei Werten geschrieben, doch erhalte ich bei der Ausgabe nicht die gewünschten min und max Werte. Ich hoffe es kann mir jemand weiterhelfen. #include <stdio.h> #include <stdlib.h> /*programm, was seiten eines Quaders abfragt(kommazaheln sind möglich, negative zahlen nicht) und die Länge des kürzesten bzw. der Längsten Seite ausgibt.Weiterhin berechnet das Programm ob der Rauminhalt des Quaders ein Kubikmeter beträgt und gib es aus. */ main(void) { float hoehe, breite,laenge,raum_inhalt; /*Die Eingabe*/ do{ printf("Geben sie die Hoehe(>=0) ein:"); scanf("%f",&hoehe); } while(hoehe<0); do{ printf("Geben sie die breite(>=0) ein:"); scanf("%f",&breite); } while(breite<0); do{ printf("Geben sie die laenge(>=0) ein:"); scanf("%f",&laenge); } while(laenge<0); /*Die Berechnung*/ raum_inhalt = hoehe*breite*laenge; /*Ermittelung von Minimum und Maximum*/ float max = 0; float min = 0; if (hoehe > max) {max=hoehe;} else if (breite > max) {max=breite;} else {max=laenge;} if (hoehe < min) {min=hoehe;} else if(breite < min) {min=breite;} else {min=laenge;} printf("Die laengste Seite ist:%2.2fMeter\t",max); printf("Die kuerzeste Seite ist:%2.2fMeter\n",min); /* Abfrage ob Rauminhalt einen Kubikmeter beträgt */ if (raum_inhalt >=1 ) { printf("raum_inhalt ist groesser als 1 Kubikmeter."); } else { printf("Rauminhalt ist nicht groesser als 1 Kubikmeter.\n"); } system("pause");

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