PDA

View Full Version : [C]Programma Gioco Simil Impiccato


skyline147
14-02-2008, 17:17
Sera A Tutti.
Avrei Un Problema Con Questo Programmino,In quanto Non mi accetta in ingresso il carattere da cercare,e se sostituisco il %c con il %s mi dice sepre di nn aver trovato il carattere:confused: #include <stdio.h>
#include <stdlib.h>
#define I 9
main()
{
int t=3,v,s,f,c=0;
char parola[9],lett;
do
{
printf("Inserisci La Parola di max 10 lettere,per fermarti premi *\n");
for (f=0;f<=I;f++)
{
scanf("%c",&parola[f]);
if (parola[f]=='*')
{
f=I;
for (s=0;s<=1000;s++)
{
printf("\n");
c=1;
}
}
}
if (c==0)
{
for (s=0;s<=1000;s++)
printf("\n");
}
printf("Inserisci La Lettera Da Cercare\n");
scanf("%c",&lett);
f=-1;
while ((parola[++f]!=lett)&&(f<(I-1)));
if (parola[f]==lett)
printf("Hai Indovinato,La Lettera %c Si Trova Nella Casella Numero %d\n",lett,f);
else
{
t--;
printf("Lettera Non Trovata,Hai Ancora %d Tentativi\n",t);
}
}
while (t!=0);
system("PAUSE");
return 0;
}


Altra Richiesta,Perchè Se Con Qualunque Programma Usando Un Funzione,ad esempio
#include <stdio.h>
int funzione (int,int)
.
s=funzione(a,b);
.
}
{
int funzione (int a,int b);
corpo funzione
}

mi dice non è possibile usare come funzione??????????
sarebbe gradito anche un link dove sono spiegate bene le procedure e le funzioni,così me la vedo io.
Grazie In Anticipo

wingman87
14-02-2008, 18:00
Per la prima domanda guarda quest'altra discussione:
http://www.hwupgrade.it/forum/showthread.php?t=1677137
Per la seconda invece non ho capito cosa intendi, fai un esempio completo di codice non funzionante.

skyline147
14-02-2008, 18:58
Per la prima domanda guarda quest'altra discussione:
http://www.hwupgrade.it/forum/showthread.php?t=1677137
Per la seconda invece non ho capito cosa intendi, fai un esempio completo di codice non funzionante.
tnx ha funzionato.
ora avrei un problema che mi ero dimenticato :muro:
#include <stdio.h>
#include <stdlib.h>
#define I 9
main()
{
int t=3,v,s,f,c=0;
char parola[9],lett,esci;
do {
printf("Inserisci La Parola di max 10 lettere,per fermarti premi *\n");
for (f=0;f<=I;f++)
{
scanf("%c",&parola[f]);
while (getchar() != '\n');
if (parola[f]=='*')
{
f=I;
for (s=0;s<=1000;s++)
{
printf("\n");
c=1;
}
}
}
if (c==0)
{
for (s=0;s<=1000;s++)
printf("\n");
}
do
{
printf("Inserisci La Lettera Da Cercare\n");
scanf("%c",&lett);
while (getchar() != '\n');
if (lett=='*'){
t--;
printf("Lettera Non Trovata,Hai Ancora %d Tentativi\n",t);
}
else{
f=-1;
while ((parola[++f]!=lett)&&(f<(I-1)));
if (parola[f]==lett)
{
printf("Hai Indovinato,La Lettera %c Si Trova Nella Casella Numero %d\n",lett,f);
}
else
{
t--;
printf("Lettera Non Trovata,Hai Ancora %d Tentativi\n",t);
}
}
}
while (t!=0);
printf("Vuoi Continuare?Non Premere [E]...\n");
scanf("%c",&esci);
while (getchar() != '\n');
}
while ((esci!='e')||(esci!='E'));
}


Dovrei Inserire Un Controllo Che Una Volta Indovinata La Squenza Di lettere comunichi che il gioco sia terminato,qualche idea?
p.s.ho risolto il problema errori miei (naturalmente :D )

xblitz
14-02-2008, 20:01
Opps! :muro:

xblitz
14-02-2008, 20:01
Altra Richiesta,Perchè Se Con Qualunque Programma Usando Un Funzione,ad esempio
#include <stdio.h>
int funzione (int,int)
.
s=funzione(a,b);
.
}
{
int funzione (int a,int b);
corpo funzione
}

mi dice non è possibile usare come funzione??????????

se quelli nel codice non sono errori di battitura è logico che ti dia un'errore:


int miafunz(); //questo è il prototipo della funzione (nota il ";" a fine riga

int miafunz() //questa è l'implementazione della funzione (nota l'assenza di ";"
{
codice
}

skyline147
14-02-2008, 20:07
grave errore mio :muro: