Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643

    [C] Semplice programmino di fisica

    Ciao,
    allora devo fare questo semplice programmino e avrei bisogno di qualche consiglio su come impostarlo (non voglio che me lo risolviate...poi ci penso io...ditemi solo se la mia idea va bene).
    Il testo completo dell'esercizio è a questo indirizzo: http://www.roma1.infn.it/people/orga...oratorio_2.pdf

    Praticamente inizialmente chiederò all'utente di immettere il valore della massa di un pianeta e lo andrò a mettere in una variabile chiamata "massa_pianeta", poi chiederò all'utente di inserire il valore del raggio del pianeta e lo andrò ad inserire in una variabile chiamata "raggio_pianeta".
    G invece è sempre pari a: 6.674*10^11 e la posso dichiarare come costante visto che è una costante fisica e non cambia mai.

    Primo problema: G vale: 6.674 10^11 ed anche i valori da inserire per la massa e per il raggio saranno molto grandi...ad esempio massa_pianeta potrebbe valere qualcosa come: 5.9723*10^24 e raggio_pianeta potrebbe valere qualcosa come: 6.37814*10^6

    Che tipo di dato devo usare? int sicuramente no...manco float credo...e sopratutto come posso fare in modo che un utente immetta nel prompt di msdos o di linux un valore espresso nella forma: valore*10^x ?!?! c'è un modo specifico per fare questa cosa?!?!

    Vabbè poi una volta preso l'input credo che il resto del programma si riduca semplicemente a calcolare il valore di g con la prima formuletta e metterlo in una variabile chiamata per esempio: accelerazione_gravitazionale oppure anche g stesso...e poi usare tale valore
    nella formuletta per calcolare t e mettere il valore ottenuto dal calcolo in una variabile chiamata tempo e poi stampare in output tale valore calcolato...

    Mi sapete dire quindi che tipo di dato devo usare per le variabili massa_pianeta, raggio_pianeta e per la costante G?e come eseguire l'input nella corretta forma con le potenze di 10?

    Grazie
    Andrea

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    bè dovrebbe andare bene il long o unsigned long però non so come siano implementati in linux e su win dipende dal compilatore.. (credo)

    per l'input visto che è sempre x*10^y potresti chiedere di inserire x e poi l'esponente y..

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    Originariamente inviato da Stoicenko
    bè dovrebbe andare bene il long o unsigned long però non so come siano implementati in linux e su win dipende dal compilatore.. (credo)

    per l'input visto che è sempre x*10^y potresti chiedere di inserire x e poi l'esponente y..
    si questo ci avevo pensato anche io...usare due variabili...una per il valore che viene moltiplicato per 10^x ed una per x stessa...però mi pare un po' bruttino...se qualcuno conoscesse un altro modo possibilmente non troppo cervellotico per fare questa cosa gleiene sarei grato :-)

    Cmq grazie della dritta sul tipo di dati

  4. #4
    Come tipo di dato userei sicuramente un double o un long double; per ottenere un valore moltiplicato per una potenza di 10 tramite la scanf basta che l'utente usi la notazione numeroEesponentedi10, ad esempio per inserire 5.6*10^66 dovrà inserire 5.6E66.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    Originariamente inviato da MItaly
    Come tipo di dato userei sicuramente un double o un long double; per ottenere un valore moltiplicato per una potenza di 10 tramite la scanf basta che l'utente usi la notazione numeroEesponentedi10, ad esempio per inserire 5.6*10^66 dovrà inserire 5.6E66.
    ti ringrazio tantissimo, poi provo se funziona, era effettivamente quello che volevo fare ;-)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.