Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Funzione per la stampa di una parola in C

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[1] Funzione per la stampa di una parola in C

Messaggioda Foto Utentehuyol » 17 set 2016, 11:14

ciao a tutti,

ho iniziato da poco a studiare il linguaggio di programmazione C ed avrei progettato un mini programma che "dovrebbe" dapprima chiedere qual è la parola che si vuole stampare a video, l'utente digita la parola, il sistema la acquisisce e la restituisce a video con la frase "la frase da te scelta è.........".
Il programma l'ho chiamato stampaParola, è stato compilato da gcc, però se da Terminale digito "stampaParola" appare la scritta "comando non trovato" anche se l'eseguibile è regolarmente presente.....sicuramente c'è qualcosa di sbagliato e se il compilatore non mi ha dato nessun warning non dovrebbe trattarsi di errore di sintassi, bensì di errore logico, per il quale occorrerebbe un debugger...che io ancora non ho perché non so qual è il migliore fra di essi per un principiante come me.
Potreste cortesemente dare un'occhiata al programmino dicendomi se e dove c'è qualche errore....e...già che ci siete :mrgreen: ...il debugger migliore per un principiante qual è?....grazie infinite O_/
Codice: Seleziona tutto
/* PROGRAMMA PER LA STAMPA DI UNA PAROLA */

#include<stdio.h>
main ()
{
char parola;
printf ("quale parola vuoi digitare?");
scanf ("%c", &parola);
printf ("la parola da te scelta è %c", parola);
}
Avatar utente
Foto Utentehuyol
120 2 5
Frequentatore
Frequentatore
 
Messaggi: 203
Iscritto il: 30 gen 2011, 19:24

0
voti

[2] Re: Funzione per la stampa di una parola in C

Messaggioda Foto UtenteMassimoB » 17 set 2016, 11:32

non hai dichiarato int il main e non hai chiuso con return 0

Codice: Seleziona tutto
#include<stdio.h>
int main ()
{
    char parola;
    printf ("quale parola vuoi digitare?");
    scanf ("%s", &parola);
    printf ("la parola da te scelta è: %s\n", &parola);
    return 0;
}


Esegui il file .exe

Ps.

Cerca di prendere l' abitudine a scrivere il codice in modo ordinato.
MCSA Windows Server 2012 R2
Cisco CCNA R&S - Cisco CCNA Security - Cisco CCNA Cyber Ops
CompTia A+ - CompTia Linux+ - CompTIA Systems Support Specialist CSSS
CompTia Pentest+ LPIC-1 - VCP VMware - Cisco CCNP Enterprise
Avatar utente
Foto UtenteMassimoB
14,2k 6 12 13
Expert free
 
Messaggi: 3163
Iscritto il: 28 ott 2012, 9:56
Località: Milano

0
voti

[3] Re: Funzione per la stampa di una parola in C

Messaggioda Foto UtenteMassimoB » 17 set 2016, 11:39

il debugger migliore per un principiante qual è?


Installa Netbeans e vivi felice.

E' un ottimo IDE gratuito
MCSA Windows Server 2012 R2
Cisco CCNA R&S - Cisco CCNA Security - Cisco CCNA Cyber Ops
CompTia A+ - CompTia Linux+ - CompTIA Systems Support Specialist CSSS
CompTia Pentest+ LPIC-1 - VCP VMware - Cisco CCNP Enterprise
Avatar utente
Foto UtenteMassimoB
14,2k 6 12 13
Expert free
 
Messaggi: 3163
Iscritto il: 28 ott 2012, 9:56
Località: Milano

0
voti

[4] Re: Funzione per la stampa di una parola in C

Messaggioda Foto Utenteluxinterior » 17 set 2016, 11:42

Sull'ambiente gcc purtroppo non so aiutarti ma passatemi l'osservazione secondaria, nulla risolve del quesito attuale Sbaglio io o il carattere di formattazione è sbagliato %s (string) non %c (carattere)

huyol hai cercato il file .exe nella directory di output del progetto? Controlla la data e verifica sia coerente con la tua compilazione.
Avatar utente
Foto Utenteluxinterior
4.311 3 4 9
Master EY
Master EY
 
Messaggi: 2690
Iscritto il: 6 gen 2016, 17:48

0
voti

[5] Re: Funzione per la stampa di una parola in C

Messaggioda Foto Utentehuyol » 17 set 2016, 11:57

ragazzi, prima di tutto grazie infinite....ho effettuato le correzioni suggeritomi da MassimoB e da luxinterior, però il compilatore mi dà sempre errore....
però ho pensato una cosa....non è che devo dichiarare la variabile parola come array, considerato che la variabile parola non è composta da un solo carattere, ma può essere composta da n caratteri?
Codice: Seleziona tutto
franco@HP-15-Notebook-PC:~/Scrivania$ gcc STAMPAPAROLA.c -o stampaParola
STAMPAPAROLA.c: In function ‘main’:
STAMPAPAROLA.c:10:1: warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘int’ [-Wformat=]
printf ("la parola da te scelta è %s", parola);
^
STAMPAPAROLA.c:12:1: error: expected ‘;’ before ‘}’ token
}
^
franco@HP-15-Notebook-PC:~/Scrivania$
Allegati
screenshot.png
Ultima modifica di Foto Utentehuyol il 17 set 2016, 12:01, modificato 1 volta in totale.
Avatar utente
Foto Utentehuyol
120 2 5
Frequentatore
Frequentatore
 
Messaggi: 203
Iscritto il: 30 gen 2011, 19:24

0
voti

[6] Re: Funzione per la stampa di una parola in C

Messaggioda Foto UtenteMassimoB » 17 set 2016, 12:00

Vero mi era sfuggito.
C' era anche un errore nel comando di stampa.
Mi ero fermato agli errori più grossolani

Ho corretto il codice come deve essere
MCSA Windows Server 2012 R2
Cisco CCNA R&S - Cisco CCNA Security - Cisco CCNA Cyber Ops
CompTia A+ - CompTia Linux+ - CompTIA Systems Support Specialist CSSS
CompTia Pentest+ LPIC-1 - VCP VMware - Cisco CCNP Enterprise
Avatar utente
Foto UtenteMassimoB
14,2k 6 12 13
Expert free
 
Messaggi: 3163
Iscritto il: 28 ott 2012, 9:56
Località: Milano

0
voti

[7] Re: Funzione per la stampa di una parola in C

Messaggioda Foto Utentemax75 » 17 set 2016, 12:06

manca il punto e virgola dopo il return 0
Avatar utente
Foto Utentemax75
5 1 3
 
Messaggi: 11
Iscritto il: 13 ago 2014, 14:37

0
voti

[8] Re: Funzione per la stampa di una parola in C

Messaggioda Foto UtenteMassimoB » 17 set 2016, 12:08

Hai sbagliato qui

Codice: Seleziona tutto
printf ("la parola da te scelta è: %s\n", &parola);


&parola non parola

Oltre al ;
MCSA Windows Server 2012 R2
Cisco CCNA R&S - Cisco CCNA Security - Cisco CCNA Cyber Ops
CompTia A+ - CompTia Linux+ - CompTIA Systems Support Specialist CSSS
CompTia Pentest+ LPIC-1 - VCP VMware - Cisco CCNP Enterprise
Avatar utente
Foto UtenteMassimoB
14,2k 6 12 13
Expert free
 
Messaggi: 3163
Iscritto il: 28 ott 2012, 9:56
Località: Milano

0
voti

[9] Re: Funzione per la stampa di una parola in C

Messaggioda Foto Utentehuyol » 17 set 2016, 12:17

Codice: Seleziona tutto
/* PROGRAMMA PER LA STAMPA DI UNA PAROLA */

#include<stdio.h>

int main ()
{
char parola;
printf ("quale parola vuoi digitare?");
scanf ("%s", &parola);
printf ("la parola da te scelta è %s\n", &parola);
return 0;
}


Codice: Seleziona tutto
franco@HP-15-Notebook-PC:~/Scrivania$ gcc STAMPAPAROLA.c -o stampaParola
franco@HP-15-Notebook-PC:~/Scrivania$ stampaParola
stampaParola: comando non trovato
franco@HP-15-Notebook-PC:~/Scrivania$


ci deve essere una limaturina da fare ancora.......posso mettere char parola[15] lasciando inalterato il resto?
Avatar utente
Foto Utentehuyol
120 2 5
Frequentatore
Frequentatore
 
Messaggi: 203
Iscritto il: 30 gen 2011, 19:24

0
voti

[10] Re: Funzione per la stampa di una parola in C

Messaggioda Foto UtenteMassimoB » 17 set 2016, 12:29

Il codice così come è è giusto

Prova a compilarlo così

Codice: Seleziona tutto
gcc -o stampaParola  STAMPAPAROLA.c
MCSA Windows Server 2012 R2
Cisco CCNA R&S - Cisco CCNA Security - Cisco CCNA Cyber Ops
CompTia A+ - CompTia Linux+ - CompTIA Systems Support Specialist CSSS
CompTia Pentest+ LPIC-1 - VCP VMware - Cisco CCNP Enterprise
Avatar utente
Foto UtenteMassimoB
14,2k 6 12 13
Expert free
 
Messaggi: 3163
Iscritto il: 28 ott 2012, 9:56
Località: Milano

Prossimo

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti