|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2001
Città: DAJE ROMA DAJE
Messaggi: 1508
|
Aiuto Programma In C!!!!!
#include <stdio.h>
#include <stdlib.h> #include <string.h> #define NUMVIAGGI 15 #define LUNGTARGA 7 /*typedef int Tipocodice[NUMVIAGGI];*/ typedef char Tipotarga[LUNGTARGA+1]; struct posti{ int codice; int postioccupati; int postitotali; }; typedef struct posti Tipoposti; struct veicolo{ char a; char b; }; typedef struct veicolo Tipoveicolo; struct file{ Tipotarga targa; char veicolo; int codice; }; typedef struct file Tipofile; struct lista{ Tipotarga targa; int codice; struct lista *next; }; typedef struct lista Nodolista; typedef Nodolista *Tipolista; typedef int bool; #define TRUE 1 #define FALSE 0 /**********PUNTO 2**************/ int trasformacodice(char veicolo) { int occ; if(veicolo== 'a') occ=1; else occ=2; return occ; } int trovanave(Tipoposti viaggio,int occupazione,int codice) { int nuovocodice=-1; bool trovato = FALSE; /****************************/ /****************************/ while(!trovato && (codice <=14)){ /*<-------ERRORE!!!!???******/ /****************************/ if((viaggio.postioccupati)+(occupazione)<= (viaggio.postitotali)){ /*Dopo più di 3 volte che fai il ciclo*/ nuovocodice=codice+1; /*invece che andare avanti, il codice torna*/ viaggio.postioccupati=viaggio.postioccupati+(occupazione); /* indietro!!!!*/ trovato=TRUE; } else { printf("Inserire il numero di posti totali del traghetto numero %d :\n",codice+1); scanf("%d", &viaggio.postitotali); printf("Inserire il numero di posti occupati del traghetto numero %d :\n",codice+1); scanf("%d", &viaggio.postioccupati); trovanave(viaggio,occupazione,(codice+1)); } } return nuovocodice; } /*********PUNTO 3*************/ Tipolista crealista(char *nomefile, Tipoposti viaggio) { FILE *fp; Tipofile file; Tipolista aux, lista=NULL; int occupaz=0; if((fp=fopen(nomefile,"r"))==NULL){ printf("ERRORE!!!!!\n"); exit(1); } fscanf(fp,"%7s%2c%d", file.targa,&file.veicolo,&file.codice); while(!feof(fp)){ occupaz=trasformacodice(file.veicolo); aux= malloc(sizeof(Nodolista)); strcpy(aux->targa,file.targa); aux->codice=trovanave(viaggio,occupaz,(file.codice)-1); aux->next=lista; lista = aux; fscanf(fp,"%7s%2c%d", file.targa,&file.veicolo,&file.codice); } fclose(fp); return lista; } /* FUNZIONI AUSILIARIE USATE NEL DRIVER */ void stampalista(Tipolista lis) { while(lis!=NULL){ printf("%-7s%d\n", lis->targa,lis->codice); lis=lis->next; } } int main() { char nomefile[256]; char veicolo; int occupazione=0; Tipoposti viaggio; int codice=0; int nuovocodice; Tipolista lis; bool giusto=FALSE; printf("Inserire il tipo di veicolo(a= 1posto/ b=2 posti):\n"); scanf("%c", &veicolo); printf("Inserire il codice del traghetto da prendere(compreso tra 0 e 14): \n"); scanf("%d", &codice); while(giusto!=TRUE){ if(codice>14){ printf("Errore!!\nRiprovare!!\n"); printf("Inserire il codice del traghetto da prendere(compreso tra 0 e 14): \n"); scanf("%d", &codice); }else giusto=TRUE; } occupazione= trasformacodice(veicolo); printf("Inserire il numero di posti totali del traghetto numero %d :\n",codice); scanf("%d", &viaggio.postitotali); printf("Inserire il numero di posti occupati del traghetto numero %d :\n",codice); scanf("%d", &viaggio.postioccupati); /*printf("occupazione = %d\n", occupazione);*/ nuovocodice= trovanave(viaggio,occupazione,codice); printf("%d\n", nuovocodice); printf("Inserire il nome del file da aprire:\n"); scanf("%s", nomefile); lis= crealista(nomefile,viaggio); stampalista(lis); return 0; } +--------------------------------------------------------------+ non riesco a capire il problema nella funzione trovanave!! perchèèèé!!!???? grazie!!
__________________
Non devo avere paura.La paura uccide la mente.La paura è la piccola morte che porta con sè l'annullamento. Guarderò in faccia la mia paura e la affronterò; e quando sarà passata non ci sarà più nulla.Soltanto io ci sarò. --->www.chebios.it <--- |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2001
Messaggi: 1047
|
Mi piacerebbe darti una mano ma ho poco tempo e non faccio in tempo a leggerlo.
Ma a che serve? |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jun 2001
Città: DAJE ROMA DAJE
Messaggi: 1508
|
Quote:
__________________
Non devo avere paura.La paura uccide la mente.La paura è la piccola morte che porta con sè l'annullamento. Guarderò in faccia la mia paura e la affronterò; e quando sarà passata non ci sarà più nulla.Soltanto io ci sarò. --->www.chebios.it <--- |
|
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 158
|
mi piacerebbe aiutarti ma da ieri sto imparando il c! cmq spostatelo in porgrammazione!!
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Varese
Messaggi: 2369
|
Re: Aiuto Programma In C!!!!!
Quote:
__________________
Tutto rigorosamente IMHO Per i messaggi contrassegnati da *: IMHO un par di balle! Salva un albero, uccidi un castoro. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:55.



















