eXpenses::eXpenses(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); // set current date ui.m_deDate->setDate(QDate::currentDate()); ui.m_deDate->setDisplayFormat(st_dateFormat); init(); connect(qManager, SIGNAL(newCategory(QString)), SLOT(onCategoryAdded(QString))); connect(qManager, SIGNAL(newProduct(QString)), SLOT(onProductAdded(QString))); }
TVP productExp() { TVP tmp1 = newProduct(2); TVP tmp1_1 = newInt(1); productSet(tmp1,1,tmp1_1); recursiveFree(tmp1_1); TVP tmp1_2 = newInt(2); productSet(tmp1,2,tmp1_2); recursiveFree(tmp1_2); TVP tmp2_1 = newInt(1); TVP tmp2_2 = newInt(2); TVP args[2] = {tmp2_1,tmp2_2}; TVP tmp2 = newProductWithValues(2,args); recursiveFree(tmp2_1); recursiveFree(tmp2_2); // // TVP tmp2_1 = newInt(1); // productSet(tmp2,1,tmp2_1); // recursiveFree(tmp2_1); // // TVP tmp2_2 = newInt(2); // productSet(tmp2,2,tmp2_2); // recursiveFree(tmp2_2); TVP res =newBool(equals(tmp1,tmp2)); //scope cleanup recursiveFree(tmp1); recursiveFree(tmp2); return res; }
int main(int argc, char *argv[]) { // erstelle irgendwelche rabatte int i, i1; for(i = 0; i < x; i++) { for(i1 = 0; i1 < y; i1++) { discounts[i][i1] = rand() % 100; } } while(option != 3) { printf("\nOptionen:\n"); printf("1: Neue Produkte eingeben\n"); printf("2: Neue Kunden eingeben\n"); printf("3: Beenden\n\n"); printf("Weitere Optionen\n"); printf("4: Alle Produkte auflisten\n"); printf("5: Alle Personen auflisten\n"); printf("6: Alle Aufträge auflisten\n"); printf("7: Neuen Auftrag anlegen\n"); printf("8: Auftrag bearbeiten\n"); printf("9: Auftrag löschen\n"); printf("10: Person bearbeiten\n"); printf("11: Produkt bearbeiten\n"); printf("12: Nach Produkt suchen\n"); printf("13: Nach Kunde suchen\n"); printf("14. Rekusiver Warenwert\n"); printf("15. Iterativer Warenwert\n"); printf("16. Rabattliste"); printf("\nAuswahl: "); scanf("%i", &option); Order o; Product p; Customer c; switch(option) { case 1: while(decision != 'n') { p = newProduct(); getchar(); printf("Wollen Sie noch einen Eintrag erstellen (j/n)?\n"); scanf("%c", &decision); if(max_products == p.id + 1) resizeProductArray(&product, &max_products); product[p.id] = p; productIndex++; } decision = 'j'; break; case 2: while(decision != 'n') { Customer c = newCustomer(); getchar(); printf("Wollen Sie noch einen Eintrag erstellen (j/n)?\n"); scanf("%c", &decision); if(max_customer == c.id + 1) resizeCustomerArray(&customer, &max_customer); customer[c.id] = c; customerIndex++; } decision = 'j'; break; case 3: printf("\nBeendet..\n"); break; case 4: printProducts(product, productIndex); break; case 5: printCustomer(customer, customerIndex); break; case 6: printOrders(order, orderIndex); break; case 7: o = newOrder(); if(max_order == c.id + 1) resizeOrderArray(&order, &max_order); order[o.id] = o; orderIndex++; break; case 8: // auftrag bearbeiten break; case 9: // auftrag loeschen break; case 10: c = searchCustomer(customer, customerIndex); c = editCustomer(c); customer[c.id] = c; break; case 11: p = searchProduct(product, productIndex); p = editProduct(p); product[p.id] = p; break; case 12: p = searchProduct(product, productIndex); printf("\nArtikelnummer: %i\n", p.id+1); printf("Artikelname: %s\n", p.name); printf("Artikelpreis: %0.2f\n", p.price); printf("Lagerbestand: %i\n", p.amount); break; case 13: c = searchCustomer(customer, customerIndex); printf("\nKundennummer: %i\n", c.id); printf("Kundenname: %s\n", c.name); break; case 14: printf("\nAktueller Warenwert: "); printf("%0.2f Euro (rekursiv)\n", recursiveProductValue(product, productIndex-1)); break; case 15: printf("\nAktueller Warenwert: "); printf("%0.2f Euro (iterativ)\n", iterativeProductValue(product, productIndex-1)); break; case 16: printf("Produkt/Anzahl"); for(i = 0; i < x; i++) { for(i1 = 0; i1 < y; i1++) { printf("[%02i]", discounts[i][i1]); } printf("\n"); } break; default: break; } } }