Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C] Segmentation Fault

    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;  }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Hai visto che il codice è illeggibile ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Ho usato il tag code...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Sì ... ma il sorgente è in una sola linea ... l'hai visto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di sotoli
    Registrato dal
    Mar 2008
    Messaggi
    150
    Ciao....concordo pienamente con oregon, postando il tuo codice in un'unica linea non faciliti per niente il lavoro di chi potrebbe darti una mano a trovare l'errore.

    Comunque scorrendo velocemente "la riga" di codice, mi è saltato subito all'occhio questo:
    codice:
    printf("What do you want to do ?\n"); scanf("%d", choice);
    Ti manca un '&' nella scanf.
    Crestron Control Systems and AMX Control Systems Programmer

  6. #6
    grazie e scusate per il codice su una riga..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.