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)
Was ist Falsch, Java-Swing?

Hallo,

Möchte, dass wenn man auf "Schreiben" klickt zum ActionListener kommt und dann auf einen neuen JFrame seinen Text schreiben kann, aber irgendwie geht das nicht, funktioniert das mit den Parametern nicht ?

  1. Klasse (beinhaltet main)
package Swing;

import javax.swing.*;

public class Menubar {

    static JMenuItem item1, item2, item3; // 2 Items für Menü

    public Menubar() {
        String text;
        JFrame frame = new  JFrame("Fenstertext");
        frame.setSize(800, 600);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null); // Mitte
        frame.setLayout(null);
        frame.requestFocus();

        JMenuBar bar = new JMenuBar();
        JMenu menu = new JMenu("Datei");// Bekommt Items, Beispiel auf File klicken ist Menu,namens "Datei" darunter dann Item

        item1 = new JMenuItem("Neu"); // 1. Itemname
        item1.addActionListener(new MenuHandler());
        item2 = new JMenuItem("Beenden");
        item2.addActionListener(new MenuHandler());
        item3 = new JMenuItem("Schreiben");
        item3.addActionListener(new MenuHandler());


        menu.add(item1);
        menu.addSeparator();  // Strich für Abtrennung (organisierter)
        menu.add(item2);
        menu.addSeparator();
        menu.add(item3);

        bar.add(menu); // Menu zu Bar hinzufügen
        frame.setJMenuBar(bar); // Setzen, da nur eine bar...
        frame.setVisible(true);

    }

    public static void main(String[] args) {

        new Menubar();

    }

}

2 Klasse :

package Swing;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.Scanner;

public class MenuHandler implements ActionListener {


    @Override
    public void actionPerformed(ActionEvent e) {
// WAS SOLL PASSIEREN ?

        if (e.getSource() == Menubar.item1) { // Ein bestimmtes Item ?
            System.out.println("Neu...");
        } else if (e.getSource() == Menubar.item2) {
            System.exit(0); // Programm beenden
        } else if (e.getSource() == Menubar.item3) {
            JFrame neuer = new JFrame();
            File file1 = new File("src/textSpeichern.txt");
            neuer.setSize(800, 600);
            neuer.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            neuer.setResizable(false);
            neuer.setLocationRelativeTo(null); // Mitte
            neuer.setLayout(null);
            neuer.requestFocus();

            neuer.setVisible(true);

            System.out.println("Was möchtest du schreiben?");
            Scanner scanner = new Scanner(System.in);
            String as = scanner.next();
            JPanel panel = new JPanel();
            JLabel label = new JLabel(as);
            panel.add(label);
            neuer.add(panel);
        }

    }
}

Warum geht das nicht ???

Danke für die Antworten bzw. die Hilfe ! :)

Computer, programmieren, Java, Informatik
Python Socket Encoding Error?
Hi, jedesmal wenn ich versuche mit dem Client eine Nachricht zu senden stürzt mir der Server ab. 

import socket
import threading


class TxtSocket:
    
    def __init__(self, host=socket.gethostbyname(socket.gethostname()) , port=5555, connection = 0, disconnect="!DISCONNECT"):
        self.host = host
        self.port = port
        self.connection = connection
        self.disconnect = disconnect
        self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.s.bind((self.host, self.port))
        print("Socket was created")


    def handle(self, conn, addr):
        while True:
            connection = threading.active_count() -1
            print(f"Connections: {connection}")
            data = conn.recv(1024).decode("utf8")
            if data == self.disconnect:
                conn.close()


            elif not data:
                break
            addr = str(addr[0])
            addr.encode()
            data.encode()
            print(type(data))
            print(type(addr))
            print(f"{addr}: {data}")
            self.s.send(addr[0], data)
        


    def server(self):
        self.s.listen(26)
        print("Server is listening")
        while True:
            conn, addr = self.s.accept()
            print(f"{addr} is now connected.")
            t = threading.Thread(target=self.handle, args=(conn, addr))
            t.start()
        


if __name__ == "__main__":
    txtsocket = TxtSocket()
    txtsocket.server()
 


#Client      
import socket


def Text():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((socket.gethostbyname(socket.gethostname()), 5555))
    print("Connected")
    while True:
        message = input("Deine Nachricht: ")
        message = message.encode("utf8")
        s.send(message)
Text()

ERROR:

Socket was created

Server is listening

('10.0.0.11', 55353) is now connected.

Connections: 1

<class 'str'>

<class 'str'>

10.0.0.11: s

Exception in thread Thread-1:

Traceback (most recent call last):

 File "C:\Users\Tobias\AppData\Local\Programs\Python\Python39\lib\threading.py", line 954, in _bootstrap_inner

  self.run()

 File "C:\Users\Tobias\AppData\Local\Programs\Python\Python39\lib\threading.py", line 892, in run

  self._target(*self._args, **self._kwargs)

 File "C:\Users\Tobias\OneDrive\Python\Server.py", line 30, in handle

  self.s.send(addr[0], data)

TypeError: a bytes-like object is required, not 'str'

Computer, programmieren, Informatik, Python

Meistgelesene Beiträge zum Thema Informatik