Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define MAX 100
- int scegli_opzione(void);/*OK*/
- int alloca_array_char(char **, int *); /* WORK IN PROGRES... */
- int ricevi_frase(char [] [MAX]);/*OK*/
- void encrypt(char *, char []);
- void sostituisci(char *, char []); /*QUESTA FUNZIONE SCORRE LA STRINGA CERCANDO UN ELEMENTO = ALL'ELEMENTO DELLA CHIAVE, SE TROVA UNA CORRISPONDEZA, PONE ELEMENTO DELLA STRINGA CORRENTE = ALL'ELEMENTO DELLA CHIAVE CORRISPONDENTE*/
- void ricevi_stringa(char *);/*OK*/
- void ricevi_intero(float *); /*OK*/
- int main(void){
- char frase[MAX][MAX], *key = "l98goA7r34J1tXYRIwdFuzEQ26";
- int parole_tot, i;
- printf("Questo programma riceve in input una frase e la cripta secondo una chiave crittografica. \n");
- while(scegli_opzione()){
- parole_tot = ricevi_frase(frase);
- /*printf("\n %s", *(frase + 2));*/
- for(i = 0; i < parole_tot; i++){
- encrypt(frase[i], key);
- printf("\n %s \n", *(frase + i));
- }
- }
- printf("\n LA CHIAVE ERA %s", key);
- return 0;
- }
- int ricevi_frase(char frase[] [MAX]){ /* OK,MA POTENZIALMENTE WORK IN PROGRESS */
- float n_parole;
- int i;
- printf("\nInserisci il numero di parole della frase: ");
- ricevi_intero(&n_parole);
- for(i = 0; i < n_parole; i++){
- ricevi_stringa(frase[i]); /* frase[i] corrisponde all'indirizzo base della i-esima riga */
- }
- return n_parole;
- }
- void ricevi_stringa(char *str){ /* OK,MA POTENZIALMENTE WORK IN PROGRESS */
- printf("Inserisci stringa: ");
- scanf("%s", str);
- }
- void encrypt(char *str, char *key){ /* OK */
- int i;
- for(i = 0; i < strlen(str); i++){
- sostituisci(str + i, key);
- }
- }
- void sostituisci(char *lettera, char key[]){ /* OK */
- char *alfabeto = "qwertyuiopasdfghjklzxcvbnm"; int i;
- for(i = 0; i < strlen(alfabeto); i++){ /* QUESTO CICLO, ASSEGNA, QUANDO TROVA UNA CORRISPONDENZA TRA IL VALORE CONTENUTO
- * NELL'INDIRIZZO LETTERA E UN ELEMENTO DELLA STRINGA ALFABETO, IL CORRISPETTIVO VALORE DELLA STRINGA KEY */
- if(*lettera == *(alfabeto + i)){
- *lettera = *(key + i);
- break;
- }
- }
- }
- void ricevi_intero(float *n){ /* OK */
- int check_n;
- printf("\nInserisci un numero intero positivo: ");
- scanf("%f", n);
- check_n = (int) *n;
- while(check_n < *n || n < 0){
- printf("\n Hai sbagliato! Inserisci un intero positivo!\n");
- printf("\nInserisci un numero intero positivo: ");
- scanf("%f", n);
- check_n = (int) *n;
- }
- *n = (int)*n;
- }
- int scegli_opzione(void){ /* OK */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement