Newsgroup: it.comp.lang.c++
Titolo: riecco il problema !!!

sono riuscito a fare il programma di gestione di un laboratorio di ecografie 
radiografie:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "coda_paz.h"    // fa uso di una classe che e' scritta nel file 
coda_paz.h
coda_pazienti coda_cassa, coda_eco, coda_radio;
float prezzi [3]; // vettore che contiene i prezzi
// dichiarazione prototipi
void arrivo (); // non da esiti, poiche riceve solo i dati e li inserisce in 
una variabile paziente
void radio (); // ritorna un esito se la coda e' piena
void eco (); // ritorna un esito se la coda e' piena
void main ()
{
 int scelta, indice, contatore;
 do{
  printf ("\n        *** Programma Laboratorio Ecografie / Radiografie 
***\n\n\t1) Arrivo di un nuovo paziente\n\t2) Inserimento nuovi prezzi\n\t3) 
Uscita da radiografia\n\t4) Uscita da ecografia\n\t5) Uscita dal 
programma");
  printf ("\n\n\tSeleziona comando di menu'\t");
  scanf ("%d",&scelta);
  switch (scelta)
  {
  case 1:  // arrivo di un paziente //
   arrivo ();
   break;
  case 2: // inserimento prezzi //
   for (contatore=1,indice=0;indice<4;indice++, contatore++)
   {
    printf ("Dammi il prezzo n.%d",contatore);
    scanf ("%f",&prezzi[indice]);
   }
   break;
  case 3: // uscita da radiografia
   radio();
   break;
  case 4: // uscita da ecografia
   eco();
   break;
  case 5:
   printf ("\n\tIl programma e' terminato !!!\n\tGrazie per averlo usato 
!!!\n\n\t");
   break;
  case 6: // inserimento prezzi //
   break;
  default:
   printf ("\n\tHai sbagliato, per favore reinserisci\n");
   break;
  }
 }
 while (scelta!=5);
}
void arrivo ()
{
 int n_eco, n_radio, n;
 printf ("\n\tDammi il nome del paziente:\t");
 scanf ("%s",coda_cassa.nuovo.nome);
 printf ("\n\tDammi il cognome del paziente:\t");
 scanf ("%s",coda_cassa.nuovo.cognome);
 printf ("\n\tChe operazione/i deve fare ?\n\t(0 per radiografie, 1 
ecografie, 2 entrambi):\t");
 scanf ("%d",&coda_cassa.nuovo.fare); // 0 per radiografie, 1 ecografie, 2 
entrambi //
 if ( (coda_cassa.nuovo.fare) == 0) // se 0 lo mando alla coda delle 
radiografie
 {
  coda_radio.nuovo=coda_cassa.nuovo;
  n_radio = coda_radio.inserimento ();
  if (n_radio==0)
   printf ("Il paziente %s %s e' stato inserito nella coda delle 
radiografie",coda_radio.nuovo.nome, coda_radio.nuovo.cognome);
 }
 else if ( (coda_cassa.nuovo.fare) == 1) // se 1 lo mando alla coda delle 
ecografie
 {
  coda_eco.nuovo=coda_cassa.nuovo;
  n_eco = coda_eco.inserimento ();
  if (n_radio=0)
  printf ("Il paziente %s %s e' stato inserito nella coda delle 
radiografie",coda_eco.nuovo.nome, coda_eco.nuovo.cognome);
 }
 else if ( (coda_cassa.nuovo.fare) == 2) // se 2 controllo quale coda e' 
piu' libera e lo inserisco
 {
  n_eco = coda_eco.conteggio();
  n_radio = coda_radio.conteggio();
  srand( (unsigned)time( NULL ) ); // mi serve se le 2 code contengono lo 
stesso numero di elementi
  n = rand () %2; // genero un numero, che puo essere 0 o 1, per mandarlo in 
una coda qualsiasi, nel caso le 2 code contengono lo stesso numero di 
elementi
  if (n_eco>n_radio)
  {
   coda_radio.nuovo=coda_cassa.nuovo;
   coda_radio.inserimento ();
   printf ("Il paziente %s %s e' stato inserito nella coda delle radiografie 
poiche' era quella piu' vuota",coda_radio.nuovo.nome, 
coda_radio.nuovo.cognome);
  }
  else if (n_eco<n_radio) {
   coda_eco.nuovo=coda_cassa.nuovo;
   coda_eco.inserimento ();
   printf ("Il paziente %s %s e' stato inserito nella coda delle ecografie 
poiche' era quella piu' vuota",coda_radio.nuovo.nome, 
coda_radio.nuovo.cognome);
  }
  else if (n_eco=n_radio)
  {
   coda_eco.nuovo=coda_cassa.nuovo;
   if (n==0)
   {
    coda_radio.inserimento();
    printf ("Il paziente %s %s e' stato inserito nella coda delle 
radiografie",coda_radio.nuovo.nome, coda_radio.nuovo.cognome);
   }
   else
   {
    coda_eco.inserimento ();
    printf ("Il paziente %s %s e' stato inserito nella coda delle 
ecografie",coda_radio.nuovo.nome, coda_radio.nuovo.cognome);
   }
  }
 }
}
void radio ()
{
 coda_radio.estrazione();
 printf ("[radio] Il paziente %s %s e' stato 
estratto",coda_radio.nuovo.nome, coda_radio.nuovo.cognome);
}
void eco ()
{
 coda_eco.estrazione();
 printf ("[eco] Il paziente %s %s e' stato estratto",coda_eco.nuovo.nome, 
coda_eco.nuovo.cognome);
}
ora mi e' stato chiesto di trasformare questo programma in un programma 
windows (win32 application)
ma non so proprio come fare... non so da dove partire... ho una traccia di 
un programma windows con menu, dialog ecc...
ma non so come fare... aiuto !!! 

 ma non so come fare... aiuto !!!
Nel mondo informatico, prima di gridare aiuto prova ad aiutarti da solo.... 
ad esempio con google:
ecco una ricerca con: "introduzione alle API win32"
Primo risultato:
<QUOTE>
Manuali.it - Manuali - Introduzione alle API Win32 - [ Translate this page ]
Ottima introduzione alla programmazione di Win32 a basso livello (
www.manuali.it/manuali-guide/Informatica-e-Internet/
 
Programmazione/Win32/Introduzione-alle-API-Win32/851.htm - 31k - Cached - 
Similar pages
</QUOTE>
Andando alla pagina:
http://www.manuali.it/manuali-guide/Informatica-e-Internet/Programmazione/Win32/Introduzione-alle-API-Win32/851.htm
ecco che puoi trovare il tutorial di Alex Martell. Alex fino a circa 6 anni 
fa era uno dei piu' grossi contributori del gruppo it.comp.lang.c++ (questo 
per intederci), poi ha deciso di seguire altre mete... ti consiglio i suoi 
libri su Python (cerca Alex Martelli Python su amazon) [gli anni volano!]
Ad ogni modo, il suo tutorial di programmazione win32 e' abbastanza buono, 
il mio consiglio rimane di studiarti il Petzold ma ovviamente questo e' 
gratis ed il Petzold no. Per le MFC non conosco nulla di gratis.
Ti invito a continuare la parte di discussione su win32 su un NG specifico.
Tommaso Galleri

> Il codice C++ e' totalmente in stile C e bug-prone
lui non mi ha detto che era C++, mi ha solo detto che ci insegnava la 
programmazione OO, ma io di partenza ho solo delle buone basi "C"... io non 
so se le classi siano C o C++, sta di fatto che me le ha insegnate, sono 
comode e voglio usarle...
mi sono gia' scaricato Thinking in C++ sia in versione italiana che 
inglese... a volte le traduzioni sono fatte da cani... meno male che 
l'inglese un po' lo mastico !!!
Ho scaricato anche il Petzold, di cui l'unica versione disponibile e' 
l'inglese !!! Mi dovro' mettere sotto per capirci un po'... In 2 anni mi 
hanno insegnato il C, il C++ e ora sto facendo la programmazione windows... 
c'ho la testa che svalvola... prossimo anno mi faranno fare access...
cmq grazie lo stesso... sto mandando avanti il progetto grazie a un NG sul 
win32... vedremo i risultati !!!