Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Primo Anno
 Programmazione
 Esercizio di programmazione
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

morfeus
Utente giovane

Razzappart


Regione: Puglia
Prov.: Bari
Città: Monopoli


Inserito il - 29/07/2011 : 10:56:38  Mostra Profilo  Visita l'Homepage di morfeus  Clicca per vedere l'indirizzo MSN di morfeus Invia a morfeus un Messaggio Privato  Rispondi Quotando
Salve ragazzi, ho creato questo semplice programma:
/*
============================================================================
Name : MorraCinese.c
Author :
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/

#include <stdio.h>
#include <time.h>
#include <locale.h>
#include <ctype.h>

char morraAutomatica(); //prototipo funzione

int main(void) {
char scelta;
char sceltaComputer;
char r;
int vinte = 0;
int perse = 0;
int pareggiate = 0;

do{
system("clear");// comando LINUX serve per pulire in WINDOWS si utilizza cls
printf("Questo e' il gioco della Morra Cinese\n");
printf("Carta = c | Forbice = f | Sasso = s\n");
printf("Inserisci la tua scelta: ");
scanf("%c",&scelta);
printf("\n");

sceltaComputer = morraAutomatica();
switch(sceltaComputer){
case 'c':
printf("Il computer ha scelto Carta\n");
break;
case 'f':
printf("Il computer ha scelto Forbice\n");
break;
case 's':
printf("Il computer ha scelto Sasso\n");
break;
}


if((scelta == 'c') && (sceltaComputer == 'c')){
printf("Pari\n");
pareggiate++;
}
if((scelta == 'f') && (sceltaComputer == 'f')){
printf("Pari\n");
pareggiate++;
}
if((scelta == 's') && (sceltaComputer == 's')){
printf("Pari\n");
pareggiate++;
}
if((scelta == 'c') && (sceltaComputer == 'f')){
printf("Ha vinto il computer!!\n");
perse++;
}
if((scelta == 'c') && (sceltaComputer == 's')){
printf("Hai vinto!!\n");
vinte++;
}
if((scelta == 'f') && (sceltaComputer == 'c')){
printf("Hai vinto!!\n");
vinte++;
}
if((scelta == 'f') && (sceltaComputer == 's')){
printf("Ha vinto il computer!!\n");
perse++;
}
if((scelta == 's') && (sceltaComputer == 'c')){
printf("Ha vinto il computer!!\n");
perse++;
}
if((scelta == 's') && (sceltaComputer == 'f')){
printf("Hai vinto!!\n");
vinte++;
}
printf("Partite vinte: %d\n",vinte);
printf("Partite perse: %d\n",perse);
printf("Partite pareggiate: %d\n",pareggiate);

printf("Vuoi giocare ancora?(s|n): ");

scanf("%c",&r);

}while(r == 's');

printf("\nCiao!!\n");
return 0;
}

/* Scelta del computer */
char morraAutomatica() {
char s[3];
int secondi;
int x;
time_t t = time(NULL);
struct tm *tp = localtime(&t);
strftime (s, 3, "%S",tp);
secondi = atoi(s);
x = secondi % 3;
switch(x) {

case 0:
return 'c';
break;
case 1:
return 'f';
break;
case 2:
return 's';
break;

}
}

la cosa che non riesco a capire, perché non mi prende la scanf("%c",&r); Grazie

Onora la tua città!
Difendi i tuoi colori!!

Monopoli City Firm........

morfeus
Utente giovane

Razzappart


Regione: Puglia
Prov.: Bari
Città: Monopoli


Inserito il - 29/07/2011 : 10:59:37  Mostra Profilo  Visita l'Homepage di morfeus  Clicca per vedere l'indirizzo MSN di morfeus Invia a morfeus un Messaggio Privato  Rispondi Quotando
L'eseguibile è questo:
Questo e' il gioco della Morra Cinese
Carta = c | Forbice = f | Sasso = s
Inserisci la tua scelta: c

Il computer ha scelto Forbice
Ha vinto il computer!!
Partite vinte: 0
Partite perse: 1
Partite pareggiate: 0
Vuoi giocare ancora?(s|n):
Ciao!!

come potete vedere non mi da la possibilità di scegliere s o n..

Onora la tua città!
Difendi i tuoi colori!!

Monopoli City Firm........
Torna all'inizio della Pagina

coma
Utente medio


Regione: Puglia
Prov.: Bari


Inserito il - 29/07/2011 : 18:17:16  Mostra Profilo  Visita l'Homepage di coma Invia a coma un Messaggio Privato  Rispondi Quotando
Allora, innanzitutto vorrei invitarti ad utilizzare dei nopaste online quando posti del codice ma soprattutto dovresti imparare ad identarlo perchè altrimenti risulta essere assolutamente illeggibile per gli altri utenti portandoli così a trascurare completamente il tuo codice vista la difficoltà nella lettura!
Allora fondamentalmente il tuo codice è corretto a parte alcune formalità del tutto non trascurabili quali, l'utilizzo di chiamate di sistema che sono strettamente vincolate al sistema operativo sul quale viene eseguito il codice e per tale ragione ti invito a dare un'occhiata in giro per vedere come implementare una funzione di pulitura dello schermo sia su UNIX system che su Windows oppure potresti tranquillamente adoperare delle specifiche del preprocessore per poter rilevare il sistema operativo sul quale viene eseguito il tuo codice e lanciare eventualmente il comando "cls" o "clear", nei diversi casi!
Per quanto riguarda invece puramente la struttura del codice, non è tanto bella da vedere quella cascata di if che potrebbero essere tranquillamente sostituiti da uno switch sicuramente molto più funzionale!!
Perdonami ma mi son preso la briga di modificare leggermente il tuo codice per poterlo rendere funzionante( io l'ho appena eseguito su Kubuntu 11.04 e compilato con gcc accompagnato da tante simpatiche flag come ansi, Wall e pedantic). Eccolo qui!! ;)
http://ideone.com/SELas

coma
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,13 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000