Chiedo aiuto per correggere questo programma di mia figlia. grazie

di il
18 risposte

Chiedo aiuto per correggere questo programma di mia figlia. grazie

Buonasera a tutti, non sono un programmatore, mastico un po, chiedo aiuto per mia figlia, a scuola gli hanno assegnato questo esercizio in linguaggio C,:
Codice C di partenza per risolvere il problema della cifratura. Nota: il codice NON funziona a va adattato secondo le specifiche di progetto: dovrà cifrare SOLO i caratteri dell'alfabeto ignorando qualsiasi altro carattere come numeri, spazi, punteggiatura e dovrà PRESERVARE le differenze tra MINUSCOLE e MAIUSCOLE

mia figlia ha prodotto questo:
#include <stdio.h>
#include <stdlib.h>
#define DIM 500
#define ALFABETO 26
#define alfabeto 26

int main()
{

int k = 3,
i = 0,
s = 0,
a = 0;
// creo una stringa di dimensione DIM
char stringa[DIM] = {'\0'};
printf("Inserire una stringa: ");
fgets(stringa, DIM, stdin);
// stringa sposata in avanti di 3 caratteri
for (i = 0; i < DIM && stringa != '\0'; i++){
if (stringa >= 'a' && stringa <='z')


s = (stringa - 97 + k) % alfabeto;
stringa = s + 97;
}
printf("%s\n", stringa);
printf("Inserire una stringa: ");
fgets(stringa, DIM, stdin);
// stringa maiuscole sposata in avanti di 3 caratteri
for (i = 0; i < DIM && stringa != '\0'; i++){
if (stringa >= 'A' && stringa <='Z')

a = (stringa - 65 + k) % ALFABETO;
stringa = a + 65;
}
printf("%s\n", stringa);
return 0;
}

ovviamente c'è uno o più bug perchè sostituisce anche i caratteri non alfabetici in lettere.
potreste correggerlo per favore, vi ringrazio anticipatamente per la cortese collaborazione.

18 Risposte

  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    Ciao, intanto utilizza il tag Code altrimenti non si capisce nulla.
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    No qui non si correggono gli esercizi. Si danno consigli e ai diretti interessati.
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    Puo' darmi consigli su come risolvere il problema? Grazie
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    Se l'esercizio è di tua figlia perchè dovremmo dare consigli a te? non vederla come una cattiveria ma capisci che così tua figlia non imparerà nulla e sarà tutto inutile. L'unico consiglio che può dare a sua figlia al momento è quello di studiarsi le stringhe.
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    La storia della figlia l'ho già sentita. Lasciamo perdere. Se sei il solito studente/stessa che vuol fare il furbo per avere una soluzione ti ripeto che qui non si danno soluzioni ma si discute dei problemi (anche peggio se sei il padre della studentessa ...).

    Perché ci sono due input e due cicli uno per le minuscole e uno per le maiuscole?
    La stringa dev essere inserita una sola volta e controllata con un solo ciclo. E le due righe sotto la if devono essere racchiuse in un blocco tra parentesi.

    Usa questi consigli per riscrivere il codice modificato e mostrarlo usando i tag code
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    Grazie per aver risposto, che lei creda o meno che io a 45 anni non vado più a scuola ma mi mancano pochi anni alla pensione, poco importa. Se qualche vostro collega che fa il professore sapesse insegnare non mi troverei qui a chiedere delucidazione su argomenti che non mi interessano. Comunque ringrazio nuovamente per le delucidazioni.
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    Pochi anni alla pensione e ne ha 45 ? E' fortunato.

    Comunque se chi va a scuola studiasse di più e non si facesse aiutare da papà, otterrebbe molto di più.

    Magari qualche giorno discuteremo di programmazione direttamente con la figlia ...
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    Tempesta0675 ha scritto:


    Grazie per aver risposto, che lei creda o meno che io a 45 anni non vado più a scuola ma mi mancano pochi anni alla pensione, poco importa. Se qualche vostro collega che fa il professore sapesse insegnare non mi troverei qui a chiedere delucidazione su argomenti che non mi interessano. Comunque ringrazio nuovamente per le delucidazioni.
    Da studente quale ero (e sono tutt'ora) ti posso assicurare che malgrado esistono professori che non sappiano spiegare, tramite lo studio autonomo con libri e materiale su internet si possono capire gli argomenti ugualmente, specie se sono le basi della programmazione.Poi certo capita sempre quell'errore che ti fa impazzire, e non lo comprendi malgrado tu abbia studiato bene un determinato argomento, e solo a quel punto entra in gioco il forum, dove persone con molta più esperienza di te ti aiutano a capire dove hai sbagliato e ti danno delle dritte, che è diverso da farsi correggere un esercizio. Se tu dessi tua figlia l'esercizio corretto ti posso assicurare che lei non imparerebbe nulla, l'unico modo per imparare a programmare è studiare dai libri e stare giornate sui codici cercando di capire gli errori.
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    Sicuramente condivido il tuo pensiero, il professore non utilizza il testo scolastico perchè dice che non serve, gli da solo appunti da lui fatti. Per di più non fa informatica ma è allo scientifico "scienze applicate". Quando corregge gli esercizi gli dice che ci sono dei bug e continua a spiegare senza dare ulteriori informazioni. Purtroppo io mi occupo di hardware ed elettronica e non riesco nel poco tempo che sono a casa a dargli spiegazioni concrete.
    L'ho mandata a ripetizioni da tre diversi insegnanti ma non riuscivano a stare al passo con il prof.. Pensa un pò che adesso le lezioni le fa su meet in 20 minuti a settimana!
    comunque grazie lo stesso ho sbagliato io ad iscrivermi al forum, non volevo sfruttare le vostre conoscenze ma cercare in breve tempo di dare una mano a mia figlia.
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    Come genitore telefonerei al professore e affronterei il problema con lui, non mi iscriverei ad un forum. Un forum non sostituisce i professori o i libri.

    E comunque hai avuto delle indicazioni e non hai detto nulla su come li hai utilizzate. Non hai postato codice modificato, non hai detto se le modifiche sono state comprese e/o sono servite.

    Lamentarsi del "sistema" e basta è un comportamento poco utile a te, a tua figlia e assolutamente inutile per il forum.
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    #include <stdio.h>
    #define DIM 100
    #define ALFABETO 57
    int main ()
    {
    int i=0,
    k=3,
    s=0;
    char stringa [DIM]={'\0'};
    printf("Inserire una stringa: ");
    fgets(stringa, DIM, stdin);
    for (i = 0; i < DIM && stringa != '\0'; i++){
    if (stringa >= 'A' && stringa <='z')
    s = (stringa - 65 + k) % ALFABETO;
    stringa = s+ 65;
    }
    printf("%s\n", stringa);
    return 0;
    }

    le indicazioni le ha seguite, ed è riuscita a fare il codice con una sola stringa, ma gli resta il problema di come evitare che il programma
    trasformi anche i caratteri non alfabetici compresi tra le maiuscole e le minuscole.
    non accetto consigli su come fare il genitore, anche perchè se non conosci tutti i retroscena che ci sono non puoi dare consigli.
    Su questo forum vedo che c'è molta arroganza o presunzione, pertanto non so come uscirne, ma di sicuro non ci rientrerò più. Forse dietro tante critiche c'è anche una carenza di preparazione visto che tranne quel consiglio di oregon tutti gli altri fanno solo chiacchiere.
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    Non hai letto bene e seguito tutti i consigli.

    A cominciare dai tag code per il codice. Rileggili
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    #include <stdio.h>
    #include <stdlib.h>
    
    
    int main()
        {
            char maiuscolo[25]={};
            char minuscolo[25]={};
        for(int i=0; i<=255; ++i)
        {
            if(i>=65 && i<=90)
            {
                int j=0;
                maiuscolo[j]=i;
                printf("%c",maiuscolo[j]);
                ++j;
            }
            if(i>=97 && i<=122)
            {
                int j=0;
                minuscolo[j]=i;
                printf("%c",minuscolo[j]);
                ++j;
            }
        }
        return 0;
        }
  • Re: Chiedo aiuto per correggere questo programma di mia figlia. grazie

    Grazie mille.
Devi accedere o registrarti per scrivere nel forum
18 risposte