03/02/14 16:44
pila ricaricabile
sto scrivendo un prototipo di programma, lo faccio partire e non mi segna nessun errore, si apre la finestra console, scelgo la modalità tiro al Bersaglio gioco la partita e ritorno al mio menu, scelgo nuovamente la modalità 2 e mi va in crash tutto.
Siccome il compilatore (Visual studio 2013 professional ) non mi dà nessun errore ma solo un warning, credo che l'errore sia nel fatto che la variabile segreta sia piena anche se lo dubito in quanto nella modalità multi giocatore non succede nulla di anomalo.
posto di seguito il codice (Attenzione è un prototipo):
Il warning scrive questo:
l'impiccato.cpp(83): warning C4244: 'argomento': conversione da 'time_t' a 'unsigned int'. Possibile perdita di dati.
chiedo gentilmente il vostro aiuto al fine di capire dove ho sbagliato.
codice sorgente scaricabile.
Siccome il compilatore (Visual studio 2013 professional ) non mi dà nessun errore ma solo un warning, credo che l'errore sia nel fatto che la variabile segreta sia piena anche se lo dubito in quanto nella modalità multi giocatore non succede nulla di anomalo.
posto di seguito il codice (Attenzione è un prototipo):
#include "stdafx.h" int main(void) { int car1 = 133; int comando; char segreta[20], l, vispar[40]; char patch[20][20]; int i, k, giusto, ncarat, nerr = 0, nind = 0; int gamemode, level, e, vittorie = 0, sconfitte = 0; printf("Benvenuto in questo gioco:\n" "premi invio per continuare...\n"); getchar(); do { system("CLS"); printf(" !!MENU!! \n"); printf("Modalit%c multigiocatore <1>\n", car1); printf("Modalit%c tiro al bersaglio <2>\n", car1); printf("Gioca la partita con un amico <1>\n"); printf("Gioca i livelli <1>\n"); printf("Vai al negozio <3>\n"); printf(""); scanf("%d", &comando); getchar(); switch (comando) { case 1: system("CLS"); printf("Giocatore 1!!!\n"); printf("Inserisci la parola segreta (e conferma premendo invio):\n"); gets(segreta); ncarat = strlen(segreta); for (i = 0; i <= ncarat; i++) { if (i < ncarat) { vispar[i] = '-'; } else { vispar[i] = 'sto scrivendo un prototipo di programma, lo faccio partire e non mi segna nessun errore, si apre la finestra console, scelgo la modalità tiro al Bersaglio gioco la partita e ritorno al mio menu, scelgo nuovamente la modalità 2 e mi va in crash tutto.
Siccome il compilatore (Visual studio 2013 professional ) non mi dà nessun errore ma solo un warning, credo che l'errore sia nel fatto che la variabile segreta sia piena anche se lo dubito in quanto nella modalità multi giocatore non succede nulla di anomalo.
posto di seguito il codice (Attenzione è un prototipo):#include "stdafx.h" int main(void) { int car1 = 133; int comando; char segreta[20], l, vispar[40]; char patch[20][20]; int i, k, giusto, ncarat, nerr = 0, nind = 0; int gamemode, level, e, vittorie = 0, sconfitte = 0; printf("Benvenuto in questo gioco:\n" "premi invio per continuare...\n"); getchar(); do { system("CLS"); printf(" !!MENU!! \n"); printf("Modalit%c multigiocatore <1>\n", car1); printf("Modalit%c tiro al bersaglio <2>\n", car1); printf("Gioca la partita con un amico <1>\n"); printf("Gioca i livelli <1>\n"); printf("Vai al negozio <3>\n"); printf(""); scanf("%d", &comando); getchar(); switch (comando) { case 1: system("CLS"); printf("Giocatore 1!!!\n"); printf("Inserisci la parola segreta (e conferma premendo invio):\n"); gets(segreta); ncarat = strlen(segreta); for (i = 0; i <= ncarat; i++) { if (i < ncarat) { vispar[i] = '-'; } else { vispar[i] = '{parsed_message}'; } } system("CLS"); for (k = 0; nerr != 10 && nind < ncarat; k++) { printf("Digita la lettera: "); scanf("%c", &l); giusto = 0; for (i = 0; segreta[i] != '{parsed_message}'; i++) { if (segreta[i] == l) { vispar[i] = l; giusto = 1; nind++; } } printf("%s\n", vispar); if (giusto == 0) { nerr++; } printf("numero errori %d\n", nerr); getchar(); } if (nerr == 10) { system("CLS"); printf("Hai perso!!!!"); printf("\n\nla parola era: %s", segreta); sconfitte = 1; } if (nind == ncarat) { system("CLS"); printf("\nHai vinto!!!!"); } getchar(); break; case 2: printf("estrazione della parola in corso....."); char parole[200][20]; strcpy(parole[0], "carabinieri"); strcpy(parole[1], "polizia"); strcpy(parole[2], "vigiledelfuoco"); //continuare; srand(time(NULL)); e = rand() % 3; strcpy(segreta, parole[e]); ncarat = strlen(segreta); for (i = 0; i <= ncarat; i++) { if (i < ncarat) { vispar[i] = '-'; } else { vispar[i] = '{parsed_message}'; } } system("CLS"); for (k = 0; nerr != 10 && nind < ncarat; k++) { printf("Digita la lettera: "); scanf("%c", &l); giusto = 0; for (i = 0; segreta[i] != '{parsed_message}'; i++) { if (segreta[i] == l) { vispar[i] = l; giusto = 1; nind++; } } printf("%s\n", vispar); if (giusto == 0) { nerr++; } printf("numero errori %d\n", nerr); getchar(); } if (nerr == 10) { system("CLS"); printf("Hai perso!!!!"); printf("\n\nla parola era: %s", segreta); sconfitte = 1; } if (nind == ncarat) { system("CLS"); printf("\nHai vinto!!!!"); } getchar(); getchar(); break; default: break; } } while (comando != 0); getchar(); return 0; }
Il warning scrive questo:
l'impiccato.cpp(83): warning C4244: 'argomento': conversione da 'time_t' a 'unsigned int'. Possibile perdita di dati.
chiedo gentilmente il vostro aiuto al fine di capire dove ho sbagliato.
codice sorgente scaricabile.'; } } system("CLS"); for (k = 0; nerr != 10 && nind < ncarat; k++) { printf("Digita la lettera: "); scanf("%c", &l); giusto = 0; for (i = 0; segreta[i] != 'sto scrivendo un prototipo di programma, lo faccio partire e non mi segna nessun errore, si apre la finestra console, scelgo la modalità tiro al Bersaglio gioco la partita e ritorno al mio menu, scelgo nuovamente la modalità 2 e mi va in crash tutto.
Siccome il compilatore (Visual studio 2013 professional ) non mi dà nessun errore ma solo un warning, credo che l'errore sia nel fatto che la variabile segreta sia piena anche se lo dubito in quanto nella modalità multi giocatore non succede nulla di anomalo.
posto di seguito il codice (Attenzione è un prototipo):#include "stdafx.h" int main(void) { int car1 = 133; int comando; char segreta[20], l, vispar[40]; char patch[20][20]; int i, k, giusto, ncarat, nerr = 0, nind = 0; int gamemode, level, e, vittorie = 0, sconfitte = 0; printf("Benvenuto in questo gioco:\n" "premi invio per continuare...\n"); getchar(); do { system("CLS"); printf(" !!MENU!! \n"); printf("Modalit%c multigiocatore <1>\n", car1); printf("Modalit%c tiro al bersaglio <2>\n", car1); printf("Gioca la partita con un amico <1>\n"); printf("Gioca i livelli <1>\n"); printf("Vai al negozio <3>\n"); printf(""); scanf("%d", &comando); getchar(); switch (comando) { case 1: system("CLS"); printf("Giocatore 1!!!\n"); printf("Inserisci la parola segreta (e conferma premendo invio):\n"); gets(segreta); ncarat = strlen(segreta); for (i = 0; i <= ncarat; i++) { if (i < ncarat) { vispar[i] = '-'; } else { vispar[i] = '{parsed_message}'; } } system("CLS"); for (k = 0; nerr != 10 && nind < ncarat; k++) { printf("Digita la lettera: "); scanf("%c", &l); giusto = 0; for (i = 0; segreta[i] != '{parsed_message}'; i++) { if (segreta[i] == l) { vispar[i] = l; giusto = 1; nind++; } } printf("%s\n", vispar); if (giusto == 0) { nerr++; } printf("numero errori %d\n", nerr); getchar(); } if (nerr == 10) { system("CLS"); printf("Hai perso!!!!"); printf("\n\nla parola era: %s", segreta); sconfitte = 1; } if (nind == ncarat) { system("CLS"); printf("\nHai vinto!!!!"); } getchar(); break; case 2: printf("estrazione della parola in corso....."); char parole[200][20]; strcpy(parole[0], "carabinieri"); strcpy(parole[1], "polizia"); strcpy(parole[2], "vigiledelfuoco"); //continuare; srand(time(NULL)); e = rand() % 3; strcpy(segreta, parole[e]); ncarat = strlen(segreta); for (i = 0; i <= ncarat; i++) { if (i < ncarat) { vispar[i] = '-'; } else { vispar[i] = '{parsed_message}'; } } system("CLS"); for (k = 0; nerr != 10 && nind < ncarat; k++) { printf("Digita la lettera: "); scanf("%c", &l); giusto = 0; for (i = 0; segreta[i] != '{parsed_message}'; i++) { if (segreta[i] == l) { vispar[i] = l; giusto = 1; nind++; } } printf("%s\n", vispar); if (giusto == 0) { nerr++; } printf("numero errori %d\n", nerr); getchar(); } if (nerr == 10) { system("CLS"); printf("Hai perso!!!!"); printf("\n\nla parola era: %s", segreta); sconfitte = 1; } if (nind == ncarat) { system("CLS"); printf("\nHai vinto!!!!"); } getchar(); getchar(); break; default: break; } } while (comando != 0); getchar(); return 0; }
Il warning scrive questo:
l'impiccato.cpp(83): warning C4244: 'argomento': conversione da 'time_t' a 'unsigned int'. Possibile perdita di dati.
chiedo gentilmente il vostro aiuto al fine di capire dove ho sbagliato.
codice sorgente scaricabile.'; i++) { if (segreta[i] == l) { vispar[i] = l; giusto = 1; nind++; } } printf("%s\n", vispar); if (giusto == 0) { nerr++; } printf("numero errori %d\n", nerr); getchar(); } if (nerr == 10) { system("CLS"); printf("Hai perso!!!!"); printf("\n\nla parola era: %s", segreta); sconfitte = 1; } if (nind == ncarat) { system("CLS"); printf("\nHai vinto!!!!"); } getchar(); break; case 2: printf("estrazione della parola in corso....."); char parole[200][20]; strcpy(parole[0], "carabinieri"); strcpy(parole[1], "polizia"); strcpy(parole[2], "vigiledelfuoco"); //continuare; srand(time(NULL)); e = rand() % 3; strcpy(segreta, parole[e]); ncarat = strlen(segreta); for (i = 0; i <= ncarat; i++) { if (i < ncarat) { vispar[i] = '-'; } else { vispar[i] = 'sto scrivendo un prototipo di programma, lo faccio partire e non mi segna nessun errore, si apre la finestra console, scelgo la modalità tiro al Bersaglio gioco la partita e ritorno al mio menu, scelgo nuovamente la modalità 2 e mi va in crash tutto.
Siccome il compilatore (Visual studio 2013 professional ) non mi dà nessun errore ma solo un warning, credo che l'errore sia nel fatto che la variabile segreta sia piena anche se lo dubito in quanto nella modalità multi giocatore non succede nulla di anomalo.
posto di seguito il codice (Attenzione è un prototipo):#include "stdafx.h" int main(void) { int car1 = 133; int comando; char segreta[20], l, vispar[40]; char patch[20][20]; int i, k, giusto, ncarat, nerr = 0, nind = 0; int gamemode, level, e, vittorie = 0, sconfitte = 0; printf("Benvenuto in questo gioco:\n" "premi invio per continuare...\n"); getchar(); do { system("CLS"); printf(" !!MENU!! \n"); printf("Modalit%c multigiocatore <1>\n", car1); printf("Modalit%c tiro al bersaglio <2>\n", car1); printf("Gioca la partita con un amico <1>\n"); printf("Gioca i livelli <1>\n"); printf("Vai al negozio <3>\n"); printf(""); scanf("%d", &comando); getchar(); switch (comando) { case 1: system("CLS"); printf("Giocatore 1!!!\n"); printf("Inserisci la parola segreta (e conferma premendo invio):\n"); gets(segreta); ncarat = strlen(segreta); for (i = 0; i <= ncarat; i++) { if (i < ncarat) { vispar[i] = '-'; } else { vispar[i] = '{parsed_message}'; } } system("CLS"); for (k = 0; nerr != 10 && nind < ncarat; k++) { printf("Digita la lettera: "); scanf("%c", &l); giusto = 0; for (i = 0; segreta[i] != '{parsed_message}'; i++) { if (segreta[i] == l) { vispar[i] = l; giusto = 1; nind++; } } printf("%s\n", vispar); if (giusto == 0) { nerr++; } printf("numero errori %d\n", nerr); getchar(); } if (nerr == 10) { system("CLS"); printf("Hai perso!!!!"); printf("\n\nla parola era: %s", segreta); sconfitte = 1; } if (nind == ncarat) { system("CLS"); printf("\nHai vinto!!!!"); } getchar(); break; case 2: printf("estrazione della parola in corso....."); char parole[200][20]; strcpy(parole[0], "carabinieri"); strcpy(parole[1], "polizia"); strcpy(parole[2], "vigiledelfuoco"); //continuare; srand(time(NULL)); e = rand() % 3; strcpy(segreta, parole[e]); ncarat = strlen(segreta); for (i = 0; i <= ncarat; i++) { if (i < ncarat) { vispar[i] = '-'; } else { vispar[i] = '{parsed_message}'; } } system("CLS"); for (k = 0; nerr != 10 && nind < ncarat; k++) { printf("Digita la lettera: "); scanf("%c", &l); giusto = 0; for (i = 0; segreta[i] != '{parsed_message}'; i++) { if (segreta[i] == l) { vispar[i] = l; giusto = 1; nind++; } } printf("%s\n", vispar); if (giusto == 0) { nerr++; } printf("numero errori %d\n", nerr); getchar(); } if (nerr == 10) { system("CLS"); printf("Hai perso!!!!"); printf("\n\nla parola era: %s", segreta); sconfitte = 1; } if (nind == ncarat) { system("CLS"); printf("\nHai vinto!!!!"); } getchar(); getchar(); break; default: break; } } while (comando != 0); getchar(); return 0; }
Il warning scrive questo:
l'impiccato.cpp(83): warning C4244: 'argomento': conversione da 'time_t' a 'unsigned int'. Possibile perdita di dati.
chiedo gentilmente il vostro aiuto al fine di capire dove ho sbagliato.
codice sorgente scaricabile.'; } } system("CLS"); for (k = 0; nerr != 10 && nind < ncarat; k++) { printf("Digita la lettera: "); scanf("%c", &l); giusto = 0; for (i = 0; segreta[i] != 'sto scrivendo un prototipo di programma, lo faccio partire e non mi segna nessun errore, si apre la finestra console, scelgo la modalità tiro al Bersaglio gioco la partita e ritorno al mio menu, scelgo nuovamente la modalità 2 e mi va in crash tutto.
Siccome il compilatore (Visual studio 2013 professional ) non mi dà nessun errore ma solo un warning, credo che l'errore sia nel fatto che la variabile segreta sia piena anche se lo dubito in quanto nella modalità multi giocatore non succede nulla di anomalo.
posto di seguito il codice (Attenzione è un prototipo):#include "stdafx.h" int main(void) { int car1 = 133; int comando; char segreta[20], l, vispar[40]; char patch[20][20]; int i, k, giusto, ncarat, nerr = 0, nind = 0; int gamemode, level, e, vittorie = 0, sconfitte = 0; printf("Benvenuto in questo gioco:\n" "premi invio per continuare...\n"); getchar(); do { system("CLS"); printf(" !!MENU!! \n"); printf("Modalit%c multigiocatore <1>\n", car1); printf("Modalit%c tiro al bersaglio <2>\n", car1); printf("Gioca la partita con un amico <1>\n"); printf("Gioca i livelli <1>\n"); printf("Vai al negozio <3>\n"); printf(""); scanf("%d", &comando); getchar(); switch (comando) { case 1: system("CLS"); printf("Giocatore 1!!!\n"); printf("Inserisci la parola segreta (e conferma premendo invio):\n"); gets(segreta); ncarat = strlen(segreta); for (i = 0; i <= ncarat; i++) { if (i < ncarat) { vispar[i] = '-'; } else { vispar[i] = '{parsed_message}'; } } system("CLS"); for (k = 0; nerr != 10 && nind < ncarat; k++) { printf("Digita la lettera: "); scanf("%c", &l); giusto = 0; for (i = 0; segreta[i] != '{parsed_message}'; i++) { if (segreta[i] == l) { vispar[i] = l; giusto = 1; nind++; } } printf("%s\n", vispar); if (giusto == 0) { nerr++; } printf("numero errori %d\n", nerr); getchar(); } if (nerr == 10) { system("CLS"); printf("Hai perso!!!!"); printf("\n\nla parola era: %s", segreta); sconfitte = 1; } if (nind == ncarat) { system("CLS"); printf("\nHai vinto!!!!"); } getchar(); break; case 2: printf("estrazione della parola in corso....."); char parole[200][20]; strcpy(parole[0], "carabinieri"); strcpy(parole[1], "polizia"); strcpy(parole[2], "vigiledelfuoco"); //continuare; srand(time(NULL)); e = rand() % 3; strcpy(segreta, parole[e]); ncarat = strlen(segreta); for (i = 0; i <= ncarat; i++) { if (i < ncarat) { vispar[i] = '-'; } else { vispar[i] = '{parsed_message}'; } } system("CLS"); for (k = 0; nerr != 10 && nind < ncarat; k++) { printf("Digita la lettera: "); scanf("%c", &l); giusto = 0; for (i = 0; segreta[i] != '{parsed_message}'; i++) { if (segreta[i] == l) { vispar[i] = l; giusto = 1; nind++; } } printf("%s\n", vispar); if (giusto == 0) { nerr++; } printf("numero errori %d\n", nerr); getchar(); } if (nerr == 10) { system("CLS"); printf("Hai perso!!!!"); printf("\n\nla parola era: %s", segreta); sconfitte = 1; } if (nind == ncarat) { system("CLS"); printf("\nHai vinto!!!!"); } getchar(); getchar(); break; default: break; } } while (comando != 0); getchar(); return 0; }
Il warning scrive questo:
l'impiccato.cpp(83): warning C4244: 'argomento': conversione da 'time_t' a 'unsigned int'. Possibile perdita di dati.
chiedo gentilmente il vostro aiuto al fine di capire dove ho sbagliato.
codice sorgente scaricabile.'; i++) { if (segreta[i] == l) { vispar[i] = l; giusto = 1; nind++; } } printf("%s\n", vispar); if (giusto == 0) { nerr++; } printf("numero errori %d\n", nerr); getchar(); } if (nerr == 10) { system("CLS"); printf("Hai perso!!!!"); printf("\n\nla parola era: %s", segreta); sconfitte = 1; } if (nind == ncarat) { system("CLS"); printf("\nHai vinto!!!!"); } getchar(); getchar(); break; default: break; } } while (comando != 0); getchar(); return 0; }
Il warning scrive questo:
l'impiccato.cpp(83): warning C4244: 'argomento': conversione da 'time_t' a 'unsigned int'. Possibile perdita di dati.
chiedo gentilmente il vostro aiuto al fine di capire dove ho sbagliato.
codice sorgente scaricabile.
aaa