C (Programmiersprache) – die meistgelesenen Beiträge

Taschenrechner in C: Könnt ihr mir bei der Überprüfung des Operators helfen?

Hallo Community,

ich bräuchte Hilfe bei meinem C-Code. Ich komme nicht weiter bei der Überprüfung vom Taschenrechner. Ich möchte, dass der Operator überprüft werden soll. Sprich bei allen anderen Buchstaben außer A, S, M, D soll der Benutzer eine neue Angabe machen.

Hier mein Code:

int main()
{
  // Deklarierung der Variablen
  char auswahl;
  float zahl1, zahl2;
  float ergebnis;

  // Auswahl vom Rechenoperator
  printf("Wie moechtest du Rechnen?\n");
  printf("(a) Addieren\n");
  printf("(s) Subtrahieren\n");
  printf("(m) Multiplizieren\n");
  printf("(d) Dividieren\n");
  scanf("%c", &auswahl); // %c für char Variablen

  while () {
    if (auswahl != 'a' || 's' || 'm' ||'d') {
      printf("\nFalsche Eingabe. Waehle eine neue:");
    }
  }

  // Eingabe der Zahlen
  printf("Gib deine erste Zahle ein: ");
  scanf("%f", &zahl1);
  printf("Gib deine zweite Zahle ein: ");
  scanf("%f", &zahl2);

  // Auswahl-Auswertung vom Benutzer
  switch (auswahl) {
    case 'a':
      ergebnis = zahl1 + zahl2;
      break;
    case 's':
      ergebnis = zahl1 - zahl2;
      break;
    case 'm':
      ergebnis = zahl1 * zahl2;
      break;
    case 'd':
      ergebnis = zahl1 / zahl2;
      break;
    default:
      break;
  }

  // Ergebnisasugabe
  if (auswahl == 'a') {
    printf("\nErgebnis:\n%.1f + %.1f = %.1f", zahl1, zahl2, ergebnis);
  }

  if (auswahl == 's') {
    printf("Ergebnis:\n%.1f - %.1f = %.1f", zahl1, zahl2, ergebnis);
  }

  if (auswahl == 'm') {
    printf("Ergebnis:\n%.1f * %.1f = %.1f", zahl1, zahl2, ergebnis);
  }

  if (auswahl == 'd') {
    printf("Ergebnis:\n%.1f / %.1f = %.1f", zahl1, zahl2, ergebnis);
  }

  printf("\n\n");
  return 0;
}
Computer, programmieren, Informatik, Programmiersprache, C (Programmiersprache)

Wahrheitstabelle ausgeben in C?

Hallo zusammen,

Das ist meine Aufgabe, die ich in der Uni lösen muss, allerdings habe ich ein Problem und es werden statt 16 Zeilen bei mir nur zwei Zeilen ausgegeben.

#include <stdio.h>


int main(void)
{
    int schritte = 0;
    int a, b, c, d, e, f, g, h, i;
    a = 0;
    b = 0;
    c = 0;
    d = 0;


    printf(" | A | B | C | D || E | G | H | I | F |\n");
    printf("-+---+---+---+---++---+---+---+---+---+-\n");


    while(schritte <= 16)
    {
        while(a <= 1)
        {
            while(b <= 1)
            {
                while(c <= 1)
                {
                    while(d <= 1)
                    {
                        e = a && -b;
                        g = c || -d;
                        h = -e || g;
                        i = a || b || d;
                        f = h==i;


                        printf(" |%d |%d | %d |%d ||%d |%d |%d |%d |\n", a, b, c, d, e, g, h, i, f);
                        
                        d++;
                    }


                    c++;
                }


                b++;    
            }
                  
            a++;
        }


        schritte++;
    }
}

als Ausgabe bekomme ich dann nur das:

| A | B | C | D || E | G | H | I | F |
-+---+---+---+---++---+---+---+---+---+-
 |0 |0 | 0 |0 ||0 |0 |0 |0 |
 |0 |0 | 0 |1 ||0 |1 |1 |1 |

muss da noch bisschen mit dem Abstand rumspielen aber vom Prinzip her passt es ja, nur leider nur mit den zwei Zeilen.

Danke im Vorraus!

Bild zum Beitrag
Computer, Studium, Schule, programmieren, Informatik, C (Programmiersprache)

Ab wann wird das Informatik Studium schwer?

Seid gegrüßt liebe GuteFrage.net-Community,

ich bin jetzt die ersten Wochen im Studium (also erstes Semester) und bisher ist noch alles einfach (Mathe, Programmieren, Elektrotechnik, ...). Aufgrund meiner Vorerfahrung fällt mir es zumindest noch sehr leicht. Aber wann wird es so richtig schwer? Ich könnte mir nicht vorstellen, wie viel ich auswendig lernen müsste in nur ein paar Tagen, wenn ich diese Vorkenntnisse nicht hätte (z.B. in Programmierung sollte man in 2 Tagen alle Operatoren in C auswendig können und wissen wie viel Speicherplatz jeder Datentyp reserviert). Hätte ich nicht vorher schon Erfahrung, wäre das schon ganz schön viel.

Und das wäre ja nur 1 Modul wenn man dann noch z.B. Hausaufgaben mit vollständiger Induktion machen muss und irgendwelche Mengenbeziehungen beweisen muss, wird das doch schon ganz schön viel, oder nicht?

Oder ist das jetzt nur am Anfang, dass man so viel auswendig lernen müsste, weil man die ganzen Basics kennen muss?

Mir ist natürlich bewusst, dass ein Studium nicht einfach sein soll, aber, wenn es in dieser Geschwindigkeit mit Auswendiglernen weiterginge, dann hätte man ja wirklich nur noch ultra wenig Freizeit, oder nicht?

Vielen Dank im Voraus!

Es wird noch schwer und zwar ab ... 100%
Es wird ungefähr gleich schwer bleiben 0%
Nur am Anfang so viel auswendig zu lernen 0%
Grün geschnitten blau 0%
Grün geschnitten orange 0%
Ich habe keine Ahnung. Wieso bin ich hier? 0%
Computer, Lernen, Studium, Mathematik, Technik, programmieren, auswendig lernen, Hochschule, Informatik, schwer, Schwierigkeiten, C (Programmiersprache), Informatikstudium