Sto scrivendo questo programmino, ma mi va in Segmentation Fault, qualche idea? Il problema dovrebbe stare nel ciclo while..però non so dove posso aver sbagliato..??
codice:
#include<stdio.h> #include<stdlib.h> #include<time.h> void card(int wDeck[4][13], const char *wFace[], const char *wSuit[], int cost); void raise(int num); int main () { const char *suit[ 4 ] = { "Hearts", "Diamonds", "Clubs", "Spades" }; const char *face[ 13 ] = {"Ace", "Deuce", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King" }; int a = 1; int i, z; int choice; int valore = 0; int puntata = 0; int deck [ 4 ][ 13 ] = { 0 }; for( i = 0 ; i < 4 ; i++ ) { for( z = 0 ; z < 13 ; z++ ) { deck[i][z] = a; if( z <= 8 ) { a++; } if( z == 12 ) { a = 1; } } } printf("Black Jack v0.1\n"); printf("Premi:\n 1. Per una carta\n 2. Per alzare la puntata\n 3. Per mostrare la puntata e le carte 4. Per uscire\n"); scanf("%d",&choice); while(choice != 4 ) { if(choice == 1) { card(deck,face,suit,valore); } else if (choice == 2) { raise( puntata); } else if (choice == 3 ) { printf("money: %d e carte: %d\n",puntata,valore); } printf("What do you want to do ?\n"); scanf("%d", choice); } printf("Program execution completed\n"); return 0; } void card(int wDeck[4][13], const char *wFace[], const char *wSuit[], int cost) { int row; int column; int i,z; srand( time( NULL ) ); row = rand() % 4; column = rand() % 13; printf(" %5s of %-8s\n",wSuit[row], wFace[column]); cost = cost + wDeck[row][column]; printf("%d",cost); } void raise( int num) { int scommessa; printf(" Quanto vuoi scommettere?\n"); scanf("%d",&scommessa); num = num + scommessa; }