Upload files to "sfusi"
This commit is contained in:
parent
10a5b0bcc4
commit
c35d650d36
|
@ -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;
|
||||||
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue