Zum Inhalt springen

Capatcha

Mitglieder
  • Gesamte Inhalte

    4
  • Benutzer seit

  • Letzter Besuch

  1. Hallo, weiß jetzt nicht, ob das hier der richtige Bereich ist im Forum. Habe irgendwie keinen passenden bzw passenderen gefunden. Wenn ein Moderator so nett wäre und den Thread in den richtigen Bereich schieben würde, dann wäre ich dankbar. Also ich habe folgendes Problem bzw. Aufgabenstellung. "Erstellen Sie ein Schaltnetz, das für vierstellige binär-kodierte natürliche Zahlen X = (x3, x2, x1, x0) prüft, ob diese durch 3 oder 7 teilbar sind. Das Ausgabesignal Y sollte genau dann 1 sein, wenn die Zahl X ohne Rest durch 3 oder 7 geteilt werden kann. Gehen Sie dabei in folgenden Schritten vor: a) Erstellen Sie eine Wahrheitstabelle und daraus die Kanonische Disjunktive Normalform für Y" Wie erstelle ich dazu jetzt eine Wahrheitstabelle und wie komme ich damit auf die Kanonische Disjunktive Normalform? Ich hoffe einer von euch, der sich damit auskennt, kann mir ein wenig weiterhelfen. Mit freundlichen Grüßen Capatcha
  2. Habe dieses Problem nun gelöst. Jetzt weiß ich aber nicht, wie ich bei Aufgabe b diesen "void print" Befehl angehe. Kann mir da einer Tipps geben? Ach ja, im Anhang der bisher geschriebene Code: #include <stdio.h> #include <string.h> #include <stdlib.h> struct elem { char name[20]; int anzahl; int kategorie; struct elem *next; }; void loescheTastaturpuffer() { int c; while( ((c = getchar()) != EOF) && (c != '\n') ) ; } int main(void) { int anzahl; int kategorie; struct elem *anfang = NULL, *cursor; char name[20]; while (1) { printf("\nProdukt:"); fgets(name, 20, stdin); if (strlen (name) == 1) break; printf("\nAnzahl:"); scanf("%d", &anzahl); printf("\nKategorie:"); scanf("%d", &kategorie); loescheTastaturpuffer(); cursor =malloc(sizeof(struct elem)); if (cursor == NULL) { printf("Speicherplatzmangel\n"); exit(1); } strcpy(cursor -> name, name); cursor -> next = anfang; anfang = cursor; } return 0; }
  3. Hi, danke für die schnelle Hilfe. Stimmt, die Abbruchbedingung ist Schwachsinn. Vor allem, da es nur abgebrochen werden sollte, falls das zu eingegebende "Produkt" nicht eingegeben wird. Auch muss ich sagen, dass ich diesen Code großteils vom Buch abgetippt habe und einige Sachen abgeändert. Mein Problem ist, dass ich pro Produkt die Anzahl und die Kategorie mit angeben soll. Wenn ich das jetzt in meinem Programm mache, dann kann ich beim ersten durchlauf die drei Sachen (Produkt, Anzahl, Kategorie) eingeben. Beim zweiten Durchgang kann ich beim Produkt nichts mehr eingeben. Das wird einfach übersprungen und so kann ich die Eingabe auch nicht abbrechen (da wenn nichts beim Produkt steht, es die Abbruchbedingung ist, aber da ich ja nichts eingeben kann bzw. immer etwas dasteht was man nicht sieht, kann ich es nicht abbrechen). Ich glaube mein großes Problem beim Code liegt derzeit bei dem Scanf und fgets. Kann mir einer sagen, wie ich dieses Problem umgehen kann? Mfg -Capatcha
  4. Hallo Community, bin so ziemlich verzweifelt und weiß echt nicht mehr weiter, deshalb versuche ich mal hier Hilfe zu finden. Die Aufgabenstellung die ich machen muss ist eigentlich einfach, aber für mich fast ein Ding der Unmöglichkeit. Es geht um eine einfach verkettete Liste. Und zwar soll man eine "Einkaufslistenverwaltung" Programmieren. Die Aufgabenstellung findet man im Anhang. Habe es anhand eines Buchs und mit Internetrecherche zu lösen, aber nach nun 4h weiß ich einfach nicht mehr weiter. Natürlich poste ich auch das, was ich bis jetzt geschrieben habe. #include <stdio.h> #include <string.h> #include <stdlib.h> struct elem { char name[20]; int anzahl; int kategorie; struct elem *next; }; int main(void) { int anzahl; int kategorie; struct elem *anfang = NULL, *cursor; char name[20]; while (1) { printf("\nProdukt:"); fgets(name, 20, stdin); printf("\nAnzahl:"); scanf("%d", &anzahl); printf("\nKategorie:"); scanf("%d", &kategorie); if (strlen (name) == 1 , anzahl == 1 , kategorie == 1) break; cursor =malloc(sizeof(struct elem)); if (cursor == NULL) { printf("Speicherplatzmangel\n"); exit(1); } strcpy(cursor -> name, name); cursor -> next = anfang; anfang = cursor; } printf("Ausgabe"); while(cursor!=NULL) { printf("%s", cursor -> name); cursor = cursor -> next; } return 0; } Ich hoffe ihr könnt mir Laien sagen, wo ich den Fehler gemacht habe. Wahrscheinlich habe ich so viele Fehler gemacht, dass euch übel wird. Hoffe echt auf eure Hilfe. -Capatcha

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