From c5e034c3ac71600cb5226f485a0fea38fb7722d1 Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Wed, 27 Nov 2024 17:14:10 +0100 Subject: [PATCH 1/4] Bugfix (assignment used over comparison) --- lab3/UserTable.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lab3/UserTable.cc b/lab3/UserTable.cc index 91db558..ec31eff 100644 --- a/lab3/UserTable.cc +++ b/lab3/UserTable.cc @@ -56,8 +56,8 @@ User UserTable::find(int c) const while (low < high && ! found) { mid = (low + high) / 2; // - int midnbr = users[mid].getCardNbr(); - if (midnbr = c) { + const int midnbr = users[mid].getCardNbr(); + if (c == midnbr) { found = true; } else if (users[mid].getCardNbr() < c) { low = mid + 1; From cc34c036485daa6acdecc7d2c8a6c6de83120b1b Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Wed, 27 Nov 2024 17:14:34 +0100 Subject: [PATCH 2/4] Makefile lab3 --- lab3/Makefile | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 lab3/Makefile diff --git a/lab3/Makefile b/lab3/Makefile new file mode 100644 index 0000000..e6d004c --- /dev/null +++ b/lab3/Makefile @@ -0,0 +1,33 @@ +CXX = g++ +CXXFLAGS = -Wall -Wextra -Wpedantic -Wshadow -Wnon-virtual-dtor -Wold-style-cast -Wcast-align -Wunused -Woverloaded-virtual -Wconversion -Wsign-conversion -Wnull-dereference -Wdouble-promotion -Wformat=2 -std=c++17 +#CXXFLAGS += -Werror + +SRC = $(wildcard *.cc) +HDR = $(wildcard *.h) +OBJ = $(SRC:.cc=.o) + +all: tabletest $(OBJ) + +tabletest: $(OBJ) + @echo "Building & linking $@" + @$(CXX) $(CXXFLAGS) $^ -o $@ + +%.o:%.cc + @echo "Building $@" + @$(CXX) -c $(CXXFLAGS) $< -o $@ + +lint: clang-tidy cppcheck clang-format + +clang-tidy: + clang-tidy $(SRC) -- $(CXXFLAGS) + +cppcheck: + cppcheck --enable=all --language=c++ --std=c++17 --suppress=missingIncludeSystem -I/usr/include $(SRC) $(HDR) + +clang-format: + clang-format -i $(SRC) $(HDR) + +clean: + rm -f *.o spell edit + +.PHONY: clean all lint clang-tidy cppcheck clang-format From 4bb3629a7638e7badb620c2a7f975694d710c93e Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Wed, 27 Nov 2024 17:14:47 +0100 Subject: [PATCH 3/4] Some assertions in tabletest --- lab3/UserTableTest.cc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 lab3/UserTableTest.cc diff --git a/lab3/UserTableTest.cc b/lab3/UserTableTest.cc new file mode 100644 index 0000000..9d989dd --- /dev/null +++ b/lab3/UserTableTest.cc @@ -0,0 +1,22 @@ +#include "UserTable.h" +#include "User.h" +#include + +int main() { + // Two identical users + User u1 = User(1234, "Name Nameson"); + User u2 = User(1234, "Name Nameson"); + + assert(u1.getName() == u2.getName()); + assert(u1.getCardNbr() == u2.getCardNbr()); + + // Two different users + User u3 = User(1200, "Name Surname"); + User u4 = User(1201, "Name Nameson"); + + assert(u3.getName() != u4.getName()); + assert(u3.getCardNbr() != u4.getCardNbr()); + + UserTable ut1 = UserTable("users.txt"); +} + From 8abebb692a580f3e71cfcdfd6113bd330360fb3a Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Wed, 27 Nov 2024 17:15:16 +0100 Subject: [PATCH 4/4] ignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 4f6422d..62df9d3 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ words.txt compile_commands.json lab2/edit lab2/spell +lab3/tabletest