SOFTWARE HOUSE Il gruppo è composto da: Gasparini Simone (Capo Progetto) Cipolli Giulio (Programmatore Logico) Franciosi Federico (Programmatore Grafico) Luppi Riccardo (....) Lo scopo di questo gruppo è quello di: realizzare un programma che riceva in ingresso N numeri reali e li stampi in modo ordinato. Su richiesta, il programma stamperà anche l'indirizzo di memoria in cui è memorizzato. TESTO DEL PROGRAMMA #include #include #include "mialib.h" #define Max 100 void Ordseqsel(int A[], int N); void main () { int A[Max],n,i,pag,Valore,N; char car; int elenco[Max]; textcolor(LIGHTGREEN); gotoxy (27,5); cprintf("LA MITICA SOFTWARE HOUSE"); textcolor(GREEN); gotoxy (8,8); cprintf("Il gruppo e' composto da:"); gotoxy (30,10); cprintf("1_ Gasparini Simone (Capo Progetto)"); gotoxy (30,13); cprintf("2_ Cipolli Giulio (Programmatore Logico)"); gotoxy (30,16); cprintf("3_ Franciosi Federico (Programmatore Grafico)"); gotoxy (30,19); cprintf("4_ Luppi Riccardo (Assistente Organizzativo)"); getch(); clrscr(); textcolor(13); gotoxy(27,2);cprintf("****************************"); gotoxy(27,3);cprintf("* Programma Software House *"); gotoxy(27,4);cprintf("****************************"); textcolor(14); gotoxy(20,7);cprintf(" 1 - EXIT "); gotoxy(20,9);cprintf(" 2 - Programma di Ordinamento "); textcolor(10); gotoxy(25,14);cprintf("Cosa desideri fare? : "); cscanf("%d",&pag); while (pag>=3) { gotoxy(17,14); clreol(); cprintf("Inserire 1 o 2 ... grazie ...: "); cscanf("%d",&pag); } clrscr(); fflush(stdin); switch (pag) { case 1: getch(); break; case 2: clrscr(); N=LeggiContr(0,50); LeggiElenco(N,elenco); clrscr(); ScriviElenco(N,elenco); Ordseqsel(elenco,N); ScriviElencoCol(N,elenco,YELLOW); gotoxy(25,10); textcolor(13); cprintf("\n\n\nPremi un tasto per uscire ... "); getch(); } } Questo programma lo abbiamo organizzato e diviso in 2 parti; nella prima parte abbiamo scritto direttamente il programma, invece nel secondo programma abbiamo scritto le varie funzioni con gli apposito prototipi per il corretto funzionamento del nostro codice sorgente. La realizzazione del codice è stata prima costruita con il programma Builder, ma vedendo che con Linux tutto questo non andava, lo abbiamo modificato con "Kwrite" per visualizzarlo in tutti e due i sistemi operativi. LIBRERIA CON I PROTOTIPI E LE FUNZIONI /* ----------------- PROTOTIPI DI FUNZIONE ------------------ */ int LeggiContr(int inf, int sup); /* Lettura di inf<=N<=sup */ /* ----------------- GESTIONE ARRAY ------------------------- */ void LeggiElenco(int Dim,int A[]); /* Lettura elenco di Dim valori */ void ScriviElencoCol(int Dim,int A[],int col);/* Vis.elenco dim val.colorati*/ void ScriviElenco(int Dim,int A[]); /* Vis.elenco dim val.*/ void Ordseqsel(int A[], int N); /* Ord. sequenziale selettivo di A */ /* ---------------- DEFINIZIONI DI FUNZIONE ---------------------- */ int LeggiContr(int inf, int sup) /* Lettura di inf<=N<=sup */ { int D; do{ textcolor(LIGHTBLUE); gotoxy(5,5); cprintf(" Inserire un numero compreso tra %d e %d \t--> ",inf,sup); textcolor(CYAN); cscanf(" %d",&D); while ( D<0 || D>50 ){ clreol(); textcolor(13); gotoxy(20,10); cprintf("Non ci siamo capiti! ... riprova ... : "); cscanf("%d",&D); } }while (D>sup||D