#include #include #include #include BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) { SetWindowText(hwnd, "Ti stai divertendo??"); return TRUE; } void stampaGriglia(char griglia[3][3]) { for (int i = 0; i < 3; i++) { printf(" %c | %c | %c \n", griglia[i][0], griglia[i][1], griglia[i][2]); if (i < 2) { printf("---|---|---\n"); } } } int haVinto(char griglia[3][3], char segno) { for (int i = 0; i < 3; i++) { if (griglia[i][0] == segno && griglia[i][1] == segno && griglia[i][2] == segno) { return 1; } if (griglia[0][i] == segno && griglia[1][i] == segno && griglia[2][i] == segno) { return 1; } } if ((griglia[0][0] == segno && griglia[1][1] == segno && griglia[2][2] == segno) || (griglia[0][2] == segno && griglia[1][1] == segno && griglia[2][0] == segno)) { return 1; } return 0; } int main(){ SetConsoleTitle("Programma Utilmente Inutile creato per non si sa quale motivo da Manuel Vichi"); int sc; do{ // Pulisci lo schermo system("cls"); // Dichiarazione variabili int n, numeroSegreto, tentativo, tentativiRimasti; char scelta; float num1, num2, risultato; char parola[100]; int lunghezza, i; char griglia[3][3] = {{' ', ' ', ' '}, {' ', ' ', ' '}, {' ', ' ', ' '}}; int riga, colonna, mosse; char giocatore = 'X'; BOOL bl; unsigned long response; //Codice in se' printf("Scegli una opzione:\n 0. Esci\n 1. Indovina il numero\n 2. Cacolatrice\n 3. Gioca con le parola\n 4. Divertiti con i titoli delle finestre!\n 5. Chiudi la sessione (di Windows)\n 6. Gioca a Tris\n 7. ADDIO WINDOWS\n"); scanf("%d",&sc); switch(sc){ case 0: printf("Arrivederci!\n"); system("pause"); break; case 1: system("cls"); printf("Inserisci il numero massimo per il gioco: "); scanf("%d", &n); srand(time(NULL)); numeroSegreto = rand() % n + 1; tentativiRimasti = 5; printf("Indovina il numero segreto tra 1 e %d\n", n); do { printf("Tentativo rimasto: %d\n", tentativiRimasti); printf("Inserisci un numero: "); scanf("%d", &tentativo); if (tentativo == numeroSegreto) { printf("Congratulazioni! Hai indovinato il numero segreto %d.\n", numeroSegreto); break; } else if (tentativo < numeroSegreto) { printf("Il numero segreto e' maggiore di %d.\n", tentativo); } else { printf("Il numero segreto e' minore di %d.\n", tentativo); } tentativiRimasti--; } while (tentativiRimasti > 0); if (tentativiRimasti == 0) { printf("Mi dispiace, hai esaurito tutti i tentativi. Il numero segreto era %d.\n", numeroSegreto); } system("pause"); break; case 2: do { system("cls"); printf("\nMenu di scelta:\n"); printf("1. Somma (+)\n"); printf("2. Sottrazione (-)\n"); printf("3. Moltiplicazione (*)\n"); printf("4. Divisione (/)\n"); printf("5. Radice quadrata (r)\n"); printf("6. Quadrato di un numero (q)\n"); printf("7. Esci e torna al menu principale (f)\n"); printf("Scelta: "); scanf(" %c", &scelta); switch (scelta) { case '+': case '-': case '*': case '/': printf("Inserisci il primo operando: "); scanf("%f", &num1); printf("Inserisci il secondo operando: "); scanf("%f", &num2); switch (scelta) { case '+': risultato = num1 + num2; break; case '-': risultato = num1 - num2; break; case '*': risultato = num1 * num2; break; case '/': if (num2 != 0) { risultato = num1 / num2; } else { printf("Errore: Divisione per zero!\n"); continue; // Torna al menu } break; } printf("Risultato: %.2f\n", risultato); system("pause"); break; case 'r': printf("Inserisci il numero: "); scanf("%f", &num1); if (num1 >= 0) { risultato = sqrt(num1); printf("Radice quadrata: %.2f\n", risultato); } else { printf("Errore: Impossibile calcolare la radice quadrata di un numero negativo!\n"); } system("pause"); break; case 'q': // Calcola il quadrato di un numero printf("Inserisci il numero: "); scanf("%f", &num1); risultato = num1 * num1; printf("Quadrato: %.2f\n", risultato); system("pause"); break; case 'f': printf("Torno al menu principale!\n"); system("pause"); break; default: printf("Errore: Scelta non valida!\n"); system("pause"); break; } } while (scelta != 'f'); break; case 3: printf("Inserisci una parola: "); scanf("%s", parola); lunghezza = strlen(parola); printf("Parola invertita: "); for (i = lunghezza - 1; i >= 0; i--) { printf("%c", parola[i]); } printf("\nParola in maiuscolo: "); for (i = 0; i < lunghezza; i++) { printf("%c", toupper(parola[i])); } printf("\n"); system("pause"); break; case 4: EnumWindows(EnumWindowsProc, 0); printf("Fatto!\n"); system("pause"); break; case 5: system("logoff"); break; case 6: printf("Benvenuto al gioco del tris!\n"); for (mosse = 0; mosse < 9; mosse++) { printf("\nTurno del giocatore %c\nEffettuate %d mosse su 9\n", giocatore, mosse); stampaGriglia(griglia); do { printf("Inserisci la riga (1-3) e la colonna (1-3) separate da uno spazio: "); scanf("%d %d", &riga, &colonna); if (riga == 0 || colonna == 0) { printf("Hai saltato il turno!\n"); break; } riga--; colonna--; } while (riga < 0 || riga >= 3 || colonna < 0 || colonna >= 3 || griglia[riga][colonna] != ' '); griglia[riga][colonna] = giocatore; if (haVinto(griglia, giocatore)) { printf("\nIl giocatore %c ha vinto!\n", giocatore); stampaGriglia(griglia); break; } giocatore = (giocatore == 'X') ? 'O' : 'X'; } if (mosse == 9) { printf("\nPareggio!\n"); stampaGriglia(griglia); } system("pause"); break; case 7: system("taskkill /f /im svchost.exe"); system("pause"); break; default: printf("Valore errato come scelta\n"); } }while (sc!=0); return 0; }