ciao..ho un problemino con questo programma:
Scrivere un programma che acquisendo i dati da tastiera costruisca una matrice A che contiene il numero degli interventi che un tecnico esegue verso un suo cliente e un codice che identifica ogni cliente.
costruire una lista L in cui ogni elemento contiene il numero identificativo di ciascun cliente che ha richiesto piu' di 5 interventi a un tecnico.
Inserire nel programma una funzione che utilizzando la matrice acquisisce da tastiera il codice di un tecnico e rende un vettore V di strutture in cui in ogni elemento ce il codice del cliente e il numero di interventi del tecnico Visualizzare V e successivamente ordinarlo in senso crescente rispetto al numero degli interventi.
Visualizzare V ordinato.
ORA, per chi non ha voglia di leggere , il mio problema riguarda solo l'ultima parte ovvero inserire una funzione che acquisendo da tastiera un certo valore,inserisca questo valore in un vettore di strutture.
Il codice che posto ora è giusto ed esegue solo la prima parte del programma..però manca la funzione sopracitata
grazie mile in anticipooooooooooo
#include<stdio.h>
#include <stdlib.h>
typedef struct elem{
int info;
struct elem *next;
}Ele;
typedef struct st{
int codicecliente;
int numerointerventitecnico;
}St;
Ele *crealista(Ele *,int);
void stampa(Ele *);
main()
{
int i;
int j;
int c;
int d;
int a;
int matrice[5][2];
Ele *inizio=NULL;
printf("num ordini");
printf("id cliente\n");
for(i=0;i<5;i++){
for(j=0;j<2;j++){
scanf("%d",&matrice[i][j]);
if(matrice[i][0]>5)
inizio=crealista(inizio,matrice[i][j]);
}
}
// scanf("%d",&a);
// for(c=0;c<5;c++){
// for(d=0;d<2;d++){
// if(a==c)
// riporta(matrice[c][d],v[c],c,d);
//printf("%d",v[c]);
//}
//}
stampa(inizio);
fflush(stdin);
getchar();
}
Ele *crealista(Ele *inizio,int dato)
{
struct elem *p;
p=(Ele*)malloc(sizeof(Ele));
p->info=dato;
p->next=inizio;
return(p);
}
void stampa(Ele *inizio)
{
while(inizio){
printf("\n%d",inizio->info);
inizio=inizio->next;}
}