Ciao a tutti. sto imparando ad usare le liste ma ho alcuni problemi...
uno di questi è ad esempio la stampa!
l'esercizio dice di trattare una "catena di montaggio"... fatto sta che devo immagazinare dei dati in una lista e poi stamparla. vi allego i due moduli che ho scritto. sapete dirmi anche solo dove sbaglio? grazie!
main.c
coda.hcodice:#include <stdio.h> #include <stdlib.h> #include "coda.h" int main() { int key = -1; while (key != 0) { printf("\n1) Avvio Job."); printf("\n2) Termino Job."); //non sviluppato printf("\n3) Stampa lista Job."); printf("\n\t... o '0' per terminare. "); printf("\n\t Inserisci comando: "); fscanf(stdin, "%d", &key); switch (key) { case 1: new_job(); break; case 2: //termino job break; case 3: print_job(); case 0: break; default: printf("\n Comando Errato. Riprova!\n"); } } return (EXIT_SUCCESS); }
coda.ccodice:#include <stdio.h> #include <stdlib.h> #include "Item.h" typedef struct nodo* Link; typedef struct nodo{ Job job; Link next; } nodo; void new_job(); void print_job();
codice:#include <stdio.h> #include <stdlib.h> #include "coda.h" struct queue { Link head; Link tail; } record; void new_job() { Link nuovo_job; nuovo_job = (nodo*) malloc(sizeof (Link)); get_item(&(nuovo_job->job)); if (record.head == NULL) { record.head = nuovo_job; } else while (record.tail != NULL) record.tail = (record.tail)->next; printf("\n\tjob in processo!"); return; } void print_job() { Link scroll; scroll = record.head; do { print_item(scroll->job); scroll=scroll->next; } while(scroll!=NULL);*/ return; }
Item.h
codice:#include <stdio.h> #include <stdlib.h> typedef struct Job{ char lavoro[30]; int priority; }Job; void get_item(Job* nodo); void print_item(Job nodo);
Item.c
codice:#include <stdio.h> #include <stdlib.h> #include "Item.h" void get_item(Job* nodo) { printf("\nInserisci nome job: "); fscanf(stdin, "%s", nodo->lavoro); printf("\nInserisci la sua priorita': "); fscanf(stdin, "%d", &(nodo->priority)); return; } void print_item(Job nodo) { printf("%s %d\n", nodo.lavoro, nodo.priority); return; }

Rispondi quotando