Delucidazione programma semplice

di il
5 risposte

Delucidazione programma semplice

Sto iniziando adesso a programmare in C++ e mi sono imbattuta in questo programma, che ha lo scopo di comporre una parola di 10 caratteri con i precedenti immessi da tastiera.
L'algoritmo è questo:
#include <stdio.h>
#include <iostream>
#include <cstdlib>
#include <cstring>

//char StringaTemp; sarebbe variabile globale. quali modifiche necessarie? quale impatto sull'algoritmo?

char LeggiDaTastiera() {
char StringaTemp;
printf("\n Premi un tasto e poi invio: ");
scanf("%c", &StringaTemp);
fflush(stdin); //occorre per eliminare il carattere newline nello stream di ingresso
printf("\nStringaTemp vale %c\n", StringaTemp);
return(StringaTemp);
}

main (){
char TastoPremuto;
char ParolaLetta[10];
int indice1;


indice1=0;
do {
TastoPremuto = LeggiDaTastiera();
printf("\n TastoPremuto vale %c\n",TastoPremuto); //esempio di istruzione utile per il debug
ParolaLetta[indice1]= TastoPremuto;
indice1++;
} while ((indice1<10) && (TastoPremuto!='F'));

ParolaLetta[indice1]='\0';

printf("La stringa letta e' %s \n", ParolaLetta);

printf("Ho terminato l'esecuzione del programma.");

system("PAUSE");
return 0;
}
Non ho capito bene cosa sia "char" e a cosa serve, non mi è chiaro neanche fflush(stdin) (ho letto che cancella i dati immessi da input ma in questo caso come mai salva un solo carattere?).
Grazie in anticipo per la pazienza!
(...mi sento molto incapace)

5 Risposte

  • Re: Delucidazione programma semplice

    Se non sai cosa sia un char la vedo dura ... non ti si può fare un corso da zero di C in una risposta di un forum, ti rendi conto ...

    P.S. Inserisci i tag CODE per il codice ...
  • Re: Delucidazione programma semplice

    @*maria*, puoi ben immaginare che programmare non sia proprio un'attivita' semplice: e' come imparare una nuova lingua.

    Conosci il cinese?

    Devi imparare la sintassi, la grammatica ed il modo di ragionare di un computer (o di un cinese , supponendo che tu non abbia il ragazzo cinese, ovviamente ).

    Queste cose non si imparano mettendot=si li a scrivere un programma, senza avere minimamente una base di qualche genere.

    E per avere una base c'e' una sola soluzione accettabile: acquistare e studiare da un libro.

    Un forum, per quanto frequentato da persone gentili, non e' un'alternativa al libro.

    Un utente del forum, che ha studiato e si e' rotto la testa sui libri, ti dara' volentieri una mano su un argomento che sa perfettamente essere ostico, perche' lo e' stato anche per lui. Ma difficilmente si prendera' la briga di spiegarti i concetti fondamentali, acquisibili nei primi capitoli di qualunque libro di testo sull'argomento.
  • Re: Delucidazione programma semplice

    *maria* ha scritto:


    (...mi sento molto incapace)
    Se parti dicendo mi sento incapace, ti convinci di esserlo e non riuscirai mai. Quindi via quest'approcio, sono capace ma devo studiare è un approcio migliore.

    La programmazione come tutte le discipline è una materia che richiede dedizione, disciplina e impegno graduale.
    Certo un char è uno dei mattoncini fondamentali, quindi è bene cominciare a studiare un buon libro di testo così da comprendere bene, sin da subito e dalle basi, il linguaggio; per poi far propria la logica.
    Tanto programmare non è conoscere la sintassi di un linguaggio: la sintassi si apprende più o meno in fretta dipende da ciascuno noi; programmare è sì saper utilizzare opportunamente il linguaggio ma soprattutto saper far uso ti tutti i costrutti e tecniche necessari per risolvere in maniera appropriata il problema in questione.

    Ritornando al char, vedila in questi termini, è lo spazio di memoria elementare per memorizzare un'informazione informazione.
  • Re: Delucidazione programma semplice

    *maria* ha scritto:


    (...mi sento molto incapace)
    Non l'avevo letto!

    Ma schiocchezza/stupidaggine/fesseria!!!

    Come pensi abbiano fatto il 99.999999999% di quelli che oggi sanno programmare un computer?

    Semplice, dirai tu, e' stata dato loro la conoscenza per endovena! Oppure per illuminazione divina!

    Ebbene, mi dispiace deluderti, ma il sistema utilizzato e' sempre lo stesso:

    1) studio,
    2) esercizio,
    3) non funziona
    4) sbattimento di corna,
    5) demoralizzazione,
    6) ristudio,
    7) idea sgangherata,
    8 ) prova,
    9) FUNZIONA!!!!!
    10) comprensione!
    11) si ricomincia da 1)

    Non preoccuparti se non capisci le cose all'istante: ci siamo passatti tutti!

    Tieni duro e insisti!

    Per il char: un char e' lo spazio necessario al computer per memorizzare un carattere cioe' una lettera dell'alfabeto italiano (veramente e' quello americano, ma al momento non cambia gran che'), piu' le cifre 0...9, piu' i segni di interpunzione, le parentesi ecc. per un totale di 256 simboli diversi.
  • Re: Delucidazione programma semplice

    Scusate, sono stata assente ad una lezione e pensavo fosse stato spiegato questo programma, che usava concetti non ancora spiegati, e mi sono sentita in difficoltà.
    Nelle lezioni successive ho avuto modo di capirlo.
    Scusate ancora!
Devi accedere o registrarti per scrivere nel forum
5 risposte