Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
h>
#include <string.h>
struct patente
{
char cod[12], data[11], tipo;
int punti;
}
int canc (struct patente *v,. int n, char *canc, char *data)
{
int i, k;
for(i=0;i<n;i++)
if(strcmp(v[i].cod,canc)==0 %% strcmp(v[i].data,data)<0)
{
for(k=i;k<n-1;k++)
{
v[i]=v[i+1];
}
n--;
}
return n;
}
char acq_tipo()
{
char tipo;
do{
printf("inserisci tipo");
scanf("%c",&tipo);
}while(tipo!='A'&&tipo!='B'&&tipo!='C'&&tipo!='D');
return tipo;
}
int main()
{
int scelta,n;
struct patente V[100];
do{
printf("menu")
scelta(&scelta);
switch(scelta)
{
case1:
{
if(n<100)
{
v[n]=nuova();
n++;
bubble(v,n);
}
else
printf("impossibile aggiungere")
break;
}
case 2:
{
char canc[12], data[11];
scanf("%s",canc);
scanf("%s",data);
n=canc(V,n,canc,data);
break;
}
case 4:
{
cahr cod[12];
int sanz,pos;
printf("%s",cod);
sanzione(&sanz);
pos=trova(V,cod,n);
if(pos==-1)
printf("codice non trovato");
else
{
V[pos].punti=V[pos].punti - sanz;
if(V[pos].punti<5)
printf("attenzione");
}
break;
}
case 5;
{
char type;
int k,i;
struct patente N[100];
type=acq_tipo();
k=0; i=0;
for(i=0;i<n;i++)
{
if(V[i].tipo==type)
{
N[k].punti=V[i].punti;
strcpy(N[k].cod,V[i].cod);
k++
}
}
for(i=0;i<k;i++)
{
printf("%d",N[i].punti);
printf("&s",N[i].cod);
}
break;
}
}
}while(scelta!=6);
return 0;
}