[Utilità del Cavolo] Programma Gestione Figurine [RISOLTO]
Inviato: gio 6 mag 2010, 7:08
Stamane ho buttato giù di stomaco un programmino per gestire da console una collezione di figurine..
Sicuramente suscettibile di notevoli migliorire (soprattutto come "formattazione" generale del codice)..ma funzia
Per chi servisse 
EDIT: corrette alcune cosine, il programma funzionava ma ho aggiunto qualche comodità in più
Sicuramente suscettibile di notevoli migliorire (soprattutto come "formattazione" generale del codice)..ma funzia
Codice: Seleziona tutto
#include <stdio.h>
#include <stdlib.h>
#define N 734
int main()
{
FILE *fp;
int *vect;
int opt, i=0, chs=0, chs_2=0;
if((vect=calloc(N, sizeof(int)))==NULL)
{
printf("Errore Allocazione Memoria!");
return EXIT_FAILURE;
}
if((fp=fopen("figu.txt","r"))==NULL)
{
printf("Il file non esiste! Che vuoi fare?\n");
printf("1:Crea Nuovo File\n");
printf("2:Esci\n");
scanf("%d", &opt);
if(opt==1)
{
if((fp=fopen("figu.txt","w"))==NULL)
{
printf("Errore Apertura File!");
return EXIT_FAILURE;
}
fclose(fp);
}
else if(opt==2)
{
printf("Uscita");
return EXIT_SUCCESS;
}
}
while((fscanf(fp, "%d", &vect[i]))==1 && !feof(fp))
i++;
//fclose(fp);
while(chs==0)
{
printf("1:Aggiungi Figurine\n");
printf("2:Rimuovi Figurine\n");
printf("3:Quante Sono Le Mancanti\n");
printf("4:Controlla Figurina\n");
printf("5:Genera Mancanti\n");
printf("6:Esci\n");
scanf("%d", &opt);
if(opt==1)
{
printf("Terminare con 0\n");
while(scanf("%d", &chs_2)==1)
{
if(chs_2==0 || chs_2 > N)
break;
else
{
if(vect[chs_2-1]==1)
printf("Già presente\n");
else
vect[chs_2-1]=1;
}
}
}
else if(opt==2)
{
printf("Terminare con 0\n");
while(scanf("%d", &chs_2)==1)
{
if(chs_2==0 || chs_2 > N)
break;
else
{
if(vect[chs_2-1]==0)
printf("Già Assente\n");
else
vect[chs_2-1]=0;
}
}
}
else if(opt==3)
{
chs_2=0;
for(i=0;i<N;i++)
if(vect[i]==0)
chs_2++;
printf("%d\n", chs_2);
}
else if(opt==4)
{
while((scanf("%d", &chs_2))==1)
{
if(chs_2==0 || chs_2 > N)
break;
else
{
if(vect[chs_2-1]==1)
printf("Presente\n");
else
printf("Assente\n");
}
}
}
else if(opt==5)
{
if((fp=fopen("mancanti.txt","w"))==NULL)
{
printf("Errore Apertura File!");
return EXIT_FAILURE;
}
for(i=0;i<N;i++)
if(vect[i]==0)
fprintf(fp, "%d ", i+1);
fclose(fp);
}
else if(opt==6)
{
if((fp=fopen("figu.txt","w"))==NULL)
{
printf("Errore Apertura File");
return EXIT_FAILURE;
}
for(i=0;i<N;i++)
fprintf(fp, "%d ", vect[i]);
chs=1;
fclose(fp);
}
}
free(vect);
return EXIT_SUCCESS;
}
EDIT: corrette alcune cosine, il programma funzionava ma ho aggiunto qualche comodità in più