Oppure

Loading
13/08/10 14:30
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-|








#include <stdio.h>
#include <stdlib.h>
#define P 3.14
void VT();
void N();
int main(int argc, char *argv[])
{
   int selezione;
  inizio:
  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");
  scanf("%d",&selezione);
  switch (selezione)
  {
      case 1:
          VT(); //funzione per il calcolo della velocita di taglio
          break;
      
      case 2:
          N(); // funzione per il calcolo dei numero di giri al minuto
          break;
      case 3:
          exit(0);
          break;
      default:
          printf("scelta non valida !\n");
          goto inizio;   
           break;       
      }
      goto inizio;
  system("PAUSE");	
  return 0;
}



void VT()
{
    float D,vt,n; // D è il diametro pezzo o utensile vt è la velocita di taglio 
	// n sono i numero di giri al minuto
    printf("inserisci il DIAMETRO pezzo o utensile per il calcolo della velocita di taglio VT\n");
    scanf("%f",&D);
    printf("inserisci il NUMERO GIRI  per il calcolo della velocita di taglio VT\n");
    scanf("%f",&n);
    vt=(D*P*n)/1000;
    printf("la velocita di taglio VT corrisponde a %d metri al minuto \n",vt);
    
    
    }
    
    
    
void N()
{
    float vt,D,n;/* D è il diametro pezzo o utensile vt è la velocita di taglio 
	 n sono i numero di giri al minuto  */
    printf("inserisci la velocita di taglio per il calcolo del numero di giri\n");
    scanf("%f",&vt);
    printf("inserici il diametro per il calcolo del numero di giri\n");
    scanf("%f",&D);
    n=((vt*1000)/(D*P));
    printf("il numero di giri corrisponde a %d\n",n);
    printf("%f\n",vt);
    printf("%f\n",D);
    
    }    













aaa
13/08/10 15:19
torn24
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-|








#include <stdio.h>
#include <stdlib.h>
#define P 3.14
void VT();
void N();
int main(int argc, char *argv[])
{
   int selezione;
  inizio:
  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");
  scanf("%d",&selezione);
  switch (selezione)
  {
      case 1:
          VT(); //funzione per il calcolo della velocita di taglio
          break;
      
      case 2:
          N(); // funzione per il calcolo dei numero di giri al minuto
          break;
      case 3:
          exit(0);
          break;
      default:
          printf("scelta non valida !\n");
          goto inizio;   
           break;       
      }
      goto inizio;
  system("PAUSE");	
  return 0;
}



void VT()
{
    float D,vt,n; // D è il diametro pezzo o utensile vt è la velocita di taglio 
	// n sono i numero di giri al minuto
    printf("inserisci il DIAMETRO pezzo o utensile per il calcolo della velocita di taglio VT\n");
    scanf("%f",&D);
    printf("inserisci il NUMERO GIRI  per il calcolo della velocita di taglio VT\n");
    scanf("%f",&n);
    vt=(D*P*n)/1000;
    printf("la velocita di taglio VT corrisponde a %d metri al minuto \n",vt);
    
    
    }
    
    
    
void N()
{
    float vt,D,n;/* D è il diametro pezzo o utensile vt è la velocita di taglio 
	 n sono i numero di giri al minuto  */
    printf("inserisci la velocita di taglio per il calcolo del numero di giri\n");
    scanf("%f",&vt);
    printf("inserici il diametro per il calcolo del numero di giri\n");
    scanf("%f",&D);
    n=((vt*1000)/(D*P));
    printf("il numero di giri corrisponde a %d\n",n);
    printf("%f\n",vt);
    printf("%f\n",D);
    
    }    















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

grazie comunque
aaa
28/08/10 4:23
matteo88roma
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

int n;

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



Diventa molto più elegante :k:
aaa
29/08/10 12:05
torn24
grazie del consiglio matteo88roma :)
cercherò di seguirlo , anche se al dire il vero trovo naturale usare il goto
GWBASIC lascia il segno :asd:
aaa