void login_main() { int choice; clrscr(); load_users(); clrscr(); printf("********* MAIN MENU *********\n\n1. Login\n2. Register\n3. Stats\n4. Exit\n\nEnter your choice : "); scanf("%d",&choice); switch(choice) { case 1 : login(); break; case 2 : add_user(); login_main(); break; case 3 : stats(); login_main(); break; case 4 : break; } getch(); //loaddatabase(); //menu_exit(); }
/** Start des Servers * param argc Anzahl der Startparameter * param argv Startparameter */ int main(int argc, char ** argv) { // Der Server soll auf dem lokalen System nur einmal gestartet werden koennen. setSingleInstance(SingleInstanceFile); setProgName(argv[0]); // verarbeite Parameter process_commands(argc, argv); // reagiere auf Signal, u.a. STRG + C signal(SIGINT, INThandler); // gebe Gruppennamen aus infoPrint("\n\nServer Gruppe 04 Stroh, Steinbinder, Strohm\n"); // Spielerverwaltung initialisieren initSpielerverwaltung(); // Socket erstellen server_socket = openServerSocket(server_port); if(server_socket == -1){ errorPrint("Server Socket konnte nicht erstellt werden!"); endServer(); exit(0); } // Loader starten + Kataloge laden int loader_start_result = startLoader(); if(loader_start_result != 0){ errorPrint("Fehler beim Starten des Loaders: %i", loader_start_result); endServer(); exit(0); } int loader_load_catalogs_result = loadCatalogs(); if(loader_load_catalogs_result != 0){ errorPrint("Fehler beim Laden der Kataloge: %i", loader_load_catalogs_result); endServer(); exit(0); } // http://pubs.opengroup.org/onlinepubs/7908799/xsh/sem_init.html // Semaphor fuer Spielerliste / Punktestand initialisieren sem_init(&semaphor_score, 0, 0); // Score thread starten pthread_t score_thread; if(pthread_create(&score_thread, NULL, (void*)&score_main, NULL) == -1){ errorPrint("Score_thread konnte nicht erstellt werden!"); endServer(); exit(0); } // starte Login-Thread pthread_t login_thread; if(pthread_create(&login_thread, NULL, (void*)login_main(server_socket), NULL) == -1){ errorPrint("Login_thread konnte nicht erstellt werden!"); endServer(); exit(0); } // beende Server endServer(); return 0; }