Upload files to "sfusi"

This commit is contained in:
Vichingo455 2025-01-10 13:13:05 +00:00
parent 10a5b0bcc4
commit c35d650d36
13 changed files with 1326 additions and 0 deletions

37
sfusi/G.c Normal file
View File

@ -0,0 +1,37 @@
#include <stdio.h>
int main() {
int n, numero, somma = 0, minimo, massimo;
float media;
printf("Inserisci il numero di numeri interi: ");
scanf("%d", &n);
// Leggi il primo numero per inizializzare minimo e massimo
printf("Inserisci il primo numero: ");
scanf("%d", &numero);
somma = minimo = massimo = numero;
// Leggi gli altri numeri e aggiorna somma, minimo e massimo
for (int i = 1; i < n; i++) {
printf("Inserisci il prossimo numero: ");
scanf("%d", &numero);
somma += numero;
if (numero < minimo)
minimo = numero;
if (numero > massimo)
massimo = numero;
}
// Calcola la media
media = (float)somma / n;
// Stampa i risultati
printf("Somma: %d\n", somma);
printf("Minimo: %d\n", minimo);
printf("Massimo: %d\n", massimo);
printf("Media: %.2f\n", media);
return 0;
}

18
sfusi/H.c Normal file
View File

@ -0,0 +1,18 @@
#include <stdio.h>
int main() {
int n, somma = 0;
printf("Inserisci un numero intero positivo: ");
scanf("%d", &n);
// Calcola la somma dei primi n numeri naturali
for (int i = 1; i <= n; i++) {
somma += i;
}
printf("La somma dei primi %d numeri naturali e' : %d\n", n, somma);
return 0;
}

34
sfusi/I.c Normal file
View File

@ -0,0 +1,34 @@
#include <stdio.h>
int main() {
int k, n;
// Richiedi all'utente di inserire il valore k compreso tra 1 e 4
do {
printf("Inserisci un valore k compreso tra 1 e 4: ");
scanf("%d", &k);
} while (k < 1 || k > 4);
// Richiedi all'utente di inserire il numero di caratteri
printf("Inserisci il numero di caratteri (n): ");
scanf("%d", &n);
// Leggi e elabora gli n caratteri
printf("Inserisci %d caratteri:\n", n);
for (int i = 0; i < n; i++) {
char carattere;
int valore;
// Leggi il carattere
scanf(" %c", &carattere);
// Somma k al valore del carattere
valore = carattere + k;
// Stampa il valore ottenuto per il carattere
printf("Il valore ottenuto per il carattere %c e' : %d\n", carattere, valore);
}
return 0;
}

33
sfusi/L.c Normal file
View File

@ -0,0 +1,33 @@
#include <stdio.h>
// Funzione per calcolare la potenza
int potenza(int base, int esponente) {
int risultato = 1;
for (int i = 0; i < esponente; i++) {
risultato *= base;
}
return risultato;
}
int main() {
int b, e;
// Richiedi all'utente di inserire la base b e l'esponente e
printf("Inserisci la base (b): ");
scanf("%d", &b);
printf("Inserisci l'esponente (e): ");
scanf("%d", &e);
// Verifica che entrambi b ed e siano numeri interi positivi
if (b < 0 || e < 0) {
printf("La base e l'esponente devono essere numeri interi positivi.\n");
return 1; // Termina il programma con un codice di errore
}
// Calcola e stampa la potenza
int risultato = potenza(b, e);
printf("%d elevato alla %d e' : %d\n", b, e, risultato);
return 0;
}

41
sfusi/M.c Normal file
View File

@ -0,0 +1,41 @@
#include <stdio.h>
int main() {
int n;
// Richiedi all'utente di inserire il numero di caratteri
printf("Inserisci il numero di caratteri: ");
scanf("%d", &n);
// Leggi e controlla ciascun carattere
printf("Inserisci %d caratteri:\n", n);
for (int i = 0; i < n; i++) {
char carattere;
// Leggi il carattere
scanf(" %c", &carattere);
// Controlla se il carattere è una lettera maiuscola
if (carattere >= 'A' && carattere <= 'Z') {
// Trasforma la lettera maiuscola in minuscola
carattere = carattere + 32;
}
// Controlla se il carattere è una lettera minuscola
else if (carattere >= 'a' && carattere <= 'z') {
// Trasforma la lettera minuscola in maiuscola
carattere = carattere - 32;
}
// Controlla se il carattere è un carattere numerico
else if (carattere >= '0' && carattere <= '9') {
// Trasforma il carattere numerico nel carattere '9'
carattere = '9';
}
// Stampa il carattere trasformato
printf("%c ", carattere);
}
printf("\n");
return 0;
}

31
sfusi/N.c Normal file
View File

@ -0,0 +1,31 @@
#include <stdio.h>
// Funzione per calcolare il fattoriale di un numero
int fattoriale(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * fattoriale(n - 1);
}
}
int main() {
int n;
// Richiedi all'utente di inserire un numero intero positivo
printf("Inserisci un numero intero positivo: ");
scanf("%d", &n);
// Verifica che il numero inserito sia non negativo
if (n < 0) {
printf("Il numero deve essere non negativo.\n");
return 1; // Termina il programma con un codice di errore
}
// Calcola il fattoriale e stampa il risultato
int risultato = fattoriale(n);
printf("Il fattoriale di %d è: %d\n", n, risultato);
return 0;
}

26
sfusi/O.c Normal file
View File

@ -0,0 +1,26 @@
#include <stdio.h>
int main() {
int N;
// Richiedi all'utente di inserire un numero intero compreso tra 1 e 10
printf("Inserisci un numero intero compreso tra 1 e 10: ");
scanf("%d", &N);
// Verifica se il numero inserito è valido
if (N < 1 || N > 10) {
printf("Errore: Il numero inserito non è compreso tra 1 e 10.\n");
return 1;
}
// Stampa il quadrato di asterischi di lato N
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("* ");
}
printf("\n");
}
return 0;
}

170
sfusi/menu1.c Normal file
View File

@ -0,0 +1,170 @@
#include <stdio.h>
#include <windows.h>
#include <ctype.h>
#include <string.h>
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {
// Set the new window title
SetWindowText(hwnd, "Ti stai divertendo??");
return TRUE; // Return TRUE to continue enumeration
}
int main(){
SetConsoleTitle("Programma Utilmente Inutile creato per non si sa quale motivo da Manuel Vichi");
int sc;
do{
// funzione che pulisce lo schermo --> system(...);
// menu' di scelta
system("cls");
// Dichiarazione variabili
int n, numeroSegreto, tentativo, tentativiRimasti;
char scelta;
float num1, num2, risultato;
char parola[100];
int lunghezza, i;
//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");
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:
// Input della parola
printf("Inserisci una parola: ");
scanf("%s", parola);
// Calcolo della lunghezza della parola
lunghezza = strlen(parola);
// Stampare la parola invertita
printf("Parola invertita: ");
for (i = lunghezza - 1; i >= 0; i--) {
printf("%c", parola[i]);
}
// Stampare tutti i caratteri in maiuscolo
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;
default:
printf("Valore errato come scelta\n");
}
}while (sc!=0);
return 0;
}

223
sfusi/menu2.c Normal file
View File

@ -0,0 +1,223 @@
#include <stdio.h>
#include <windows.h>
#include <ctype.h>
#include <string.h>
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;
}

536
sfusi/menu3.c Normal file
View File

@ -0,0 +1,536 @@
#include <stdio.h>
#include <windows.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#define NUM_CARDS 52
#define NUM_SUITS 4
#define NUM_RANKS 13
#define MAX_PAROLA 100
#define MAX_TENTATIVI 6
void cifraCesare(char* testo, int shift) {
int i;
char carattere;
for (i = 0; testo[i] != '\0'; ++i) {
carattere = testo[i];
// Cifratura per lettere maiuscole
if (carattere >= 'A' && carattere <= 'Z') {
carattere = ((carattere - 'A' + shift) % 26) + 'A';
}
// Cifratura per lettere minuscole
else if (carattere >= 'a' && carattere <= 'z') {
carattere = ((carattere - 'a' + shift) % 26) + 'a';
}
testo[i] = carattere;
}
}
void generaFibonacci(int n) {
int arr[n][n]; // Array bidimensionale per memorizzare i valori del triangolo
printf("Sequenza di Fibonacci:\n");
// Costruzione del triangolo di Tartaglia
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
// Primo e ultimo elemento di ogni riga sono sempre 1
if (j == 0 || j == i) {
arr[i][j] = 1;
} else {
// Ogni elemento è la somma dei due elementi sopra di esso
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
}
}
// Stampa del triangolo di Tartaglia
for (int i = 0; i < n; i++) {
// Stampa gli spazi iniziali per formattare il triangolo
for (int k = 0; k < n - i - 1; k++) {
printf(" ");
}
// Stampa gli elementi della riga
for (int j = 0; j <= i; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
void stampaStato(char parola2[], char indovinata[], int tentativiRimasti2) {
printf("\nParola: %s\n", indovinata);
printf("Tentativi rimasti: %d\n", tentativiRimasti2);
}
typedef enum {
HEARTS,
DIAMONDS,
CLUBS,
SPADES
} Suit;
typedef struct {
int rank;
Suit suit;
} Card;
typedef struct {
Card cards[NUM_CARDS];
int top;
} Deck;
typedef struct {
Card hand[NUM_CARDS];
int count;
} Player;
void initializeDeck(Deck *deck) {
int i, j, k = 0;
for (i = 0; i < NUM_SUITS; i++) {
for (j = 1; j <= NUM_RANKS; j++) {
deck->cards[k].rank = j;
deck->cards[k].suit = i;
k++;
}
}
deck->top = 0;
}
void shuffleDeck(Deck *deck) {
srand(time(NULL));
for (int i = 0; i < NUM_CARDS; i++) {
int j = rand() % NUM_CARDS;
Card temp = deck->cards[i];
deck->cards[i] = deck->cards[j];
deck->cards[j] = temp;
}
}
Card drawCard(Deck *deck) {
if (deck->top < NUM_CARDS) {
return deck->cards[deck->top++];
} else {
printf("Il deck e' vuoto!\n");
exit(1);
}
}
void addCardToHand(Player *player, Card card) {
player->hand[player->count++] = card;
}
int getHandValue(Player *player) {
int value = 0;
int aces = 0;
for (int i = 0; i < player->count; i++) {
int rank = player->hand[i].rank;
if (rank > 10) {
rank = 10;
}
if (rank == 1) {
aces++;
rank = 11;
}
value += rank;
}
while (value > 21 && aces > 0) {
value -= 10;
aces--;
}
return value;
}
void printCard(Card card) {
const char *ranks[] = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
const char *suits[] = {"C", "[]", "F", " P"};
printf("%s%s ", ranks[card.rank - 1], suits[card.suit]);
}
void printHand(Player *player, const char *name) {
printf("Deck di %s: ", name);
for (int i = 0; i < player->count; i++) {
printCard(player->hand[i]);
}
printf("Valore: %d\n", getHandValue(player));
}
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 roba inutile
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;
Deck deck;
Player dealer = {.count = 0};
Player player = {.count = 0};
bool playerTurn = true;
char choice;
char parola2[MAX_PAROLA];
char indovinata[MAX_PAROLA];
char tentativiErrati[MAX_TENTATIVI] = {0};
int tentativiRimasti2 = MAX_TENTATIVI;
int lunghezzaParola;
int vittoria = 0;
const char *parole[] = {"programmazione", "calcolatore", "gioco", "impiccato", "parola", "computer", "tastiera", "account", "telefono", "computer", "eseguibile", "github", "instagram", "giulianini", "bassi", "paride", "google", "backup", "windows", "linux", "proxmox", "truenas"};
int numeroParole = sizeof(parole) / sizeof(parole[0]);
char password[100];
int shift;
//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 (RICHIEDE L'ADMIN)\n 8. Blackjack\n 9. Gioco dell'impiccato\n 10. Sequenza di Fibonacci\n 11. Cifra una password con l'argoritmo di Giulio Cesare\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;
case 8:
initializeDeck(&deck);
shuffleDeck(&deck);
// Deal initial cards
addCardToHand(&player, drawCard(&deck));
addCardToHand(&dealer, drawCard(&deck));
addCardToHand(&player, drawCard(&deck));
addCardToHand(&dealer, drawCard(&deck));
while (playerTurn) {
printHand(&player, "Giocatore");
printHand(&dealer, "Banco");
printf("Vuoi azzardare o fermarti? (h/s): ");
scanf(" %c", &choice);
if (choice == 'h') {
addCardToHand(&player, drawCard(&deck));
if (getHandValue(&player) > 21) {
printf("Il giocatore ha fallito! Il banco vince.\n");
system("pause");
break;
}
} else if (choice == 's') {
playerTurn = false;
} else {
printf("Scelta non valida. Soni disponibili solo h ed s come scelte.\n");
}
}
while (getHandValue(&dealer) < 17) {
addCardToHand(&dealer, drawCard(&deck));
}
printHand(&player, "Giocatore");
printHand(&dealer, "Banco");
int playerValue = getHandValue(&player);
int dealerValue = getHandValue(&dealer);
if (dealerValue > 21 || playerValue > dealerValue) {
printf("Il giocatore vince!\n");
system("pause");
break;
} else if (playerValue == dealerValue) {
printf("Pareggio!\n");
system("pause");
break;
} else {
printf("Il banco vince!\n");
system("pause");
break;
}
break;
case 9:
// Inizializzazione del generatore di numeri casuali
srand(time(NULL));
// Seleziona una parola casuale dall'elenco
strcpy(parola2, parole[rand() % numeroParole]);
// Inizializza la parola indovinata con '_'
lunghezzaParola = strlen(parola2);
for (int i = 0; i < lunghezzaParola; i++) {
indovinata[i] = '_';
}
indovinata[lunghezzaParola] = '\0';
// Gioco dell'impiccato
while (tentativiRimasti2 > 0 && !vittoria) {
char tentativo;
int indovinato = 0;
// Stampa lo stato attuale del gioco
stampaStato(parola, indovinata, tentativiRimasti2);
// Input del tentativo del giocatore
printf("Inserisci una lettera: ");
scanf(" %c", &tentativo);
tentativo = tolower(tentativo);
// Controlla se la lettera è nella parola segreta
for (int i = 0; i < lunghezzaParola; i++) {
if (parola2[i] == tentativo) {
indovinata[i] = tentativo;
indovinato = 1;
}
}
// Se la lettera non è stata trovata
if (!indovinato) {
tentativiErrati[MAX_TENTATIVI - tentativiRimasti] = tentativo;
tentativiRimasti2--;
}
// Controlla se la parola è stata completamente indovinata
if (strcmp(parola2, indovinata) == 0) {
vittoria = 1;
}
}
// Stampa il risultato finale
if (vittoria) {
printf("\nComplimenti! Hai indovinato la parola: %s\n", parola2);
} else {
printf("\nMi dispiace, hai perso. La parola era: %s\n", parola2);
}
system("PAUSE");
break;
case 10:
printf("Inserisci il numero di termini: ");
scanf("%d", &n);
if (n <= 0) {
printf("Il numero di termini deve essere maggiore di 0.\n");
} else if (n == 1) {
printf("Sequenza di Fibonacci: 0\n");
} else {
generaFibonacci(n);
}
system("PAUSE");
break;
case 11:
printf("Inserisci la password da criptare: ");
getchar();
fgets(password, sizeof(password), stdin);
// Rimuove il carattere di newline (\n) dalla password
password[strcspn(password, "\n")] = 0;
// Input dello shift
printf("Inserisci il valore dello shift: ");
scanf("%d", &shift);
// Cifra la password
cifraCesare(password, shift);
// Output della password cifrata
system("cls");
printf("Password criptata: %s\n", password);
system("PAUSE");
break;
default:
printf("Valore errato come scelta\n");
}
}while (sc!=0);
return 0;
}

49
sfusi/t.c Normal file
View File

@ -0,0 +1,49 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <windows.h>
double calcola_affinita(char nome1[], char nome2[]) {
int somma_ascii = 0;
int min_ascii;
int random_value;
for (int i = 0; nome1[i] != '\0' && nome2[i] != '\0'; i++) {
somma_ascii += (int)nome1[i] + (int)nome2[i];
}
min_ascii = (int)nome1[0] < (int)nome2[0] ? (int)nome1[0] : (int)nome2[0];
for (int i = 1; nome1[i] != '\0' && nome2[i] != '\0'; i++) {
if ((int)nome1[i] < min_ascii)
min_ascii = (int)nome1[i];
if ((int)nome2[i] < min_ascii)
min_ascii = (int)nome2[i];
}
srand(time(NULL));
random_value = rand() % (min_ascii + 1);
double affinita = (double)(somma_ascii - random_value) / (255 * strlen(nome1) + 255 * strlen(nome2) - random_value) * 10;
return affinita;
}
int main() {
SetConsoleTitle("Calcolo affinita' di coppia by Vichi Manuel");
char nome1[100];
char nome2[100];
printf("Inserisci il primo nome: ");
scanf("%s", nome1);
printf("Inserisci il secondo nome: ");
scanf("%s", nome2);
double affinita = calcola_affinita(nome1, nome2);
printf("L'affinita' di coppia tra %s e %s e'': %.2f/10\n", nome1, nome2, affinita);
return 0;
}

64
sfusi/v.c Normal file
View File

@ -0,0 +1,64 @@
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// Funzione per generare un valore casuale compreso tra a e b
int genera_valore_casuale(int a, int b) {
return rand() % (b - a + 1) + a;
}
// Funzione per cercare le occorrenze di un valore specifico in un array
int conta_occorrenze(int array[], int lunghezza, int valore) {
int contatore = 0;
for (int i = 0; i < lunghezza; i++) {
if (array[i] == valore) {
contatore++;
}
}
return contatore;
}
int main() {
int n, a, b, valore_specifico;
// Input della dimensione degli array e degli estremi dell'intervallo
printf("Inserisci la dimensione degli array: ");
scanf("%d", &n);
printf("Inserisci gli estremi dell'intervallo (a e b): ");
scanf("%d %d", &a, &b);
printf("Inserisci il valore specifico da cercare: ");
scanf("%d", &valore_specifico);
// Allocazione dinamica di memoria per gli array
int *array_valori = (int *)malloc(n * sizeof(int));
int *array_random = (int *)malloc(n * sizeof(int));
// Inizializzazione del generatore di numeri casuali
srand(time(NULL));
// Input dei valori nell'array
printf("Inserisci i valori nell'array:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &array_valori[i]);
}
// Generazione di valori casuali e memorizzazione nell'array random
for (int i = 0; i < n; i++) {
array_random[i] = genera_valore_casuale(a, b);
}
// Cerca le occorrenze del valore specifico in entrambi gli array
int occorrenze_valori = conta_occorrenze(array_valori, n, valore_specifico);
int occorrenze_random = conta_occorrenze(array_random, n, valore_specifico);
// Stampa il risultato
printf("Il valore %d compare %d volte nell'array dei valori inseriti.\n", valore_specifico, occorrenze_valori);
printf("Il valore %d compare %d volte nell'array dei valori casuali.\n", valore_specifico, occorrenze_random);
// Deallocazione della memoria
free(array_valori);
free(array_random);
return 0;
}

64
sfusi/z.c Normal file
View File

@ -0,0 +1,64 @@
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// Funzione per generare un valore casuale compreso tra a e b
int genera_valore_casuale(int a, int b) {
return rand() % (b - a + 1) + a;
}
// Funzione per cercare le occorrenze di un valore specifico in un array
int conta_occorrenze(int array[], int lunghezza, int valore) {
int contatore = 0;
for (int i = 0; i < lunghezza; i++) {
if (array[i] == valore) {
contatore++;
}
}
return contatore;
}
int main() {
int n, a, b, valore_specifico;
// Input della dimensione degli array e degli estremi dell'intervallo
printf("Inserisci la dimensione degli array: ");
scanf("%d", &n);
printf("Inserisci gli estremi dell'intervallo (a e b): ");
scanf("%d %d", &a, &b);
printf("Inserisci il valore specifico da cercare: ");
scanf("%d", &valore_specifico);
// Allocazione dinamica di memoria per gli array
int *array_valori = (int *)malloc(n * sizeof(int));
int *array_random = (int *)malloc(n * sizeof(int));
// Inizializzazione del generatore di numeri casuali
srand(time(NULL));
// Input dei valori nell'array
printf("Inserisci i valori nell'array:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &array_valori[i]);
}
// Generazione di valori casuali e memorizzazione nell'array random
for (int i = 0; i < n; i++) {
array_random[i] = genera_valore_casuale(a, b);
}
// Cerca le occorrenze del valore specifico in entrambi gli array
int occorrenze_valori = conta_occorrenze(array_valori, n, valore_specifico);
int occorrenze_random = conta_occorrenze(array_random, n, valore_specifico);
// Stampa il risultato
printf("Il valore %d compare %d volte nell'array dei valori inseriti.\n", valore_specifico, occorrenze_valori);
printf("Il valore %d compare %d volte nell'array dei valori casuali.\n", valore_specifico, occorrenze_random);
// Deallocazione della memoria
free(array_valori);
free(array_random);
return 0;
}