Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - chiedo aiuto per un programmino semplice semplice ma non funziona
Forum - C/C++ - chiedo aiuto per un programmino semplice semplice ma non funziona

Avatar
torn24 (Normal User)
Pro


Messaggi: 138
Iscritto: 04/01/2008

Segnala al moderatore
Postato alle 16:30
Venerdì, 13/08/2010
Salve a tutti , non conosco molto bene il linguaggio c ho creato un piccolo programmino
per il calcolo della velocità di taglio e di rotazione di un utensile (ad esempio una fresa)
occorre utilizzare il p greco  quindi ho usato variabili float  il primo sbaglio che avevo
fatto era l'utilizzo della virgola al posto del punto 3,14  anzichè 3.14 ma i risultati sono
imprevedibili ugualmente :d
praticamente i calcoli parziali le esegue ma il totale non viene , penso di aver sbagliato a scrivere le espressioni, non funziona anche usando i double .
inserisco il codice del programma con i tag code spero di non sbagliare 8-|
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define P 3.14
  4. void VT();
  5. void N();
  6. int main(int argc, char *argv[])
  7. {
  8.    int selezione;
  9.   inizio:
  10.   printf("********************************************\n Premi 1 per il calcolo della velocita di taglio VT\n Premi 2 per il calcolo dei numero di giri N\n Premere 3 per uscire dal programma\n********************************************\n");
  11.   scanf("%d",&selezione);
  12.   switch (selezione)
  13.   {
  14.       case 1:
  15.           VT(); //funzione per il calcolo della velocita di taglio
  16.           break;
  17.      
  18.       case 2:
  19.           N(); // funzione per il calcolo dei numero di giri al minuto
  20.           break;
  21.       case 3:
  22.           exit(0);
  23.           break;
  24.       default:
  25.           printf("scelta non valida !\n");
  26.           goto inizio;  
  27.            break;      
  28.       }
  29.       goto inizio;
  30.   system("PAUSE");     
  31.   return 0;
  32. }
  33.  
  34.  
  35.  
  36. void VT()
  37. {
  38.     float D,vt,n; // D è il diametro pezzo o utensile vt è la velocita di taglio
  39.         // n sono i numero di giri al minuto
  40.     printf("inserisci il DIAMETRO pezzo o utensile per il calcolo della velocita di taglio VT\n");
  41.     scanf("%f",&D);
  42.     printf("inserisci il NUMERO GIRI  per il calcolo della velocita di taglio VT\n");
  43.     scanf("%f",&n);
  44.     vt=(D*P*n)/1000;
  45.     printf("la velocita di taglio VT corrisponde a %d metri al minuto \n",vt);
  46.    
  47.    
  48.     }
  49.    
  50.    
  51.    
  52. void N()
  53. {
  54.     float vt,D,n;/* D è il diametro pezzo o utensile vt è la velocita di taglio
  55.          n sono i numero di giri al minuto  */
  56.     printf("inserisci la velocita di taglio per il calcolo del numero di giri\n");
  57.     scanf("%f",&vt);
  58.     printf("inserici il diametro per il calcolo del numero di giri\n");
  59.     scanf("%f",&D);
  60.     n=((vt*1000)/(D*P));
  61.     printf("il numero di giri corrisponde a %d\n",n);
  62.     printf("%f\n",vt);
  63.     printf("%f\n",D);
  64.    
  65.     }



Se si impara dai propri sbagli
non è cosi drammatico  sbagliare !
PM Quote
Avatar
torn24 (Normal User)
Pro


Messaggi: 138
Iscritto: 04/01/2008

Segnala al moderatore
Postato alle 17:19
Venerdì, 13/08/2010
Testo quotato

Postato originariamente da torn24:

Salve a tutti , non conosco molto bene il linguaggio c ho creato un piccolo programmino
per il calcolo della velocità di taglio e di rotazione di un utensile (ad esempio una fresa)
occorre utilizzare il p greco  quindi ho usato variabili float  il primo sbaglio che avevo
fatto era l'utilizzo della virgola al posto del punto 3,14  anzichè 3.14 ma i risultati sono
imprevedibili ugualmente :d
praticamente i calcoli parziali le esegue ma il totale non viene , penso di aver sbagliato a scrivere le espressioni, non funziona anche usando i double .
inserisco il codice del programma con i tag code spero di non sbagliare 8-|
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define P 3.14
  4. void VT();
  5. void N();
  6. int main(int argc, char *argv[])
  7. {
  8.    int selezione;
  9.   inizio:
  10.   printf("********************************************\n Premi 1 per il calcolo della velocita di taglio VT\n Premi 2 per il calcolo dei numero di giri N\n Premere 3 per uscire dal programma\n********************************************\n");
  11.   scanf("%d",&selezione);
  12.   switch (selezione)
  13.   {
  14.       case 1:
  15.           VT(); //funzione per il calcolo della velocita di taglio
  16.           break;
  17.      
  18.       case 2:
  19.           N(); // funzione per il calcolo dei numero di giri al minuto
  20.           break;
  21.       case 3:
  22.           exit(0);
  23.           break;
  24.       default:
  25.           printf("scelta non valida !\n");
  26.           goto inizio;  
  27.            break;      
  28.       }
  29.       goto inizio;
  30.   system("PAUSE");     
  31.   return 0;
  32. }
  33.  
  34.  
  35.  
  36. void VT()
  37. {
  38.     float D,vt,n; // D è il diametro pezzo o utensile vt è la velocita di taglio
  39.         // n sono i numero di giri al minuto
  40.     printf("inserisci il DIAMETRO pezzo o utensile per il calcolo della velocita di taglio VT\n");
  41.     scanf("%f",&D);
  42.     printf("inserisci il NUMERO GIRI  per il calcolo della velocita di taglio VT\n");
  43.     scanf("%f",&n);
  44.     vt=(D*P*n)/1000;
  45.     printf("la velocita di taglio VT corrisponde a %d metri al minuto \n",vt);
  46.    
  47.    
  48.     }
  49.    
  50.    
  51.    
  52. void N()
  53. {
  54.     float vt,D,n;/* D è il diametro pezzo o utensile vt è la velocita di taglio
  55.          n sono i numero di giri al minuto  */
  56.     printf("inserisci la velocita di taglio per il calcolo del numero di giri\n");
  57.     scanf("%f",&vt);
  58.     printf("inserici il diametro per il calcolo del numero di giri\n");
  59.     scanf("%f",&D);
  60.     n=((vt*1000)/(D*P));
  61.     printf("il numero di giri corrisponde a %d\n",n);
  62.     printf("%f\n",vt);
  63.     printf("%f\n",D);
  64.    
  65.     }




Scusate del disturbo ho trovato l'errore usavo il simbolo %d intero per rappresentare un float  ho risolto

grazie comunque


Se si impara dai propri sbagli
non è cosi drammatico  sbagliare !
PM Quote
Avatar
matteo88roma (Normal User)
Rookie


Messaggi: 25
Iscritto: 15/12/2008

Segnala al moderatore
Postato alle 6:23
Sabato, 28/08/2010
Un consiglio.
I labels e i goto sono orrendi dal punto di vista della programmazione e della memoria :)
Se devi creare un menu testuale, utilizza un costrutto do-while.
Esempio

Codice sorgente - presumibilmente C/C++

  1. int n;
  2.  
  3. do {
  4.          printf("1. Conquista il mondo\n");
  5.          printf("2. Colonizza lo spazio\n");
  6.          printf("Scelta ---> ");
  7.          scanf("%d",&n);
  8. } while ( n != 1 && n != 2);



Diventa molto più elegante :k:


IT Developer/Network Architect /Consultant
Studente di Informatica presso l'Università La Sapienza di Roma
Linguaggi conosciuti: C,C++,Java,Python,VB .NET,C#,Managed C++,*NIX Scripting,Assembly(mips & intel)
E-mail: matteopacini.knopfler@gmail.com
PM Quote
Avatar
torn24 (Normal User)
Pro


Messaggi: 138
Iscritto: 04/01/2008

Segnala al moderatore
Postato alle 14:05
Domenica, 29/08/2010
grazie del consiglio matteo88roma  :)
cercherò di seguirlo , anche se al dire il vero  trovo naturale usare il goto
GWBASIC  lascia il segno :asd:


Se si impara dai propri sbagli
non è cosi drammatico  sbagliare !
PM Quote