|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Nov 2008
Messaggi: 6
|
[C] Aiutino per neofita sfigato!
Salve a tutti , avrei bisogno di alcuni chiarimenti sul C ,premettendo che sono il numero uno dei niubbi , volevo chiedervi come mai nel laboratorio usando Win XP e DEV C++ riesco a compilare i programmi in C e a casa usando Windows Vista e Pelles C lo stesso programma mi da' errori in fase di compilazione?
Vi posto il sorgente e gli errori (tanto è roba corta!) Codice:
#include <stdio.h>
main ()
{
float addendo1,addendo2 ;
printf ("\n CALCOLATRICE PER LA SOMMA \n") ;
printf ("\n Inserire il primo addendo da sommare ") ;
scanf ("%f" , &addendo1) ;
printf ("\n Inserire il secondo addendo da sommare \n");
scanf ("%f , &addendo2");
printf ("La somma è : %f" , addendo1+addendo2);
getch () ;
}
Codice:
C:\Users\Amministrazioe\Desktop\c\calcolasomme\calcolasomme.c(2): warning #2099: Missing type specifier. C:\Users\Amministrazioe\Desktop\c\calcolasomme\calcolasomme.c(9): error #2001: Syntax error: expected ';' but found 'scanf'. C:\Users\Amministrazioe\Desktop\c\calcolasomme\calcolasomme.c(11): warning #2027: Missing prototype for 'getch'. C:\Users\Amministrazioe\Desktop\c\calcolasomme\calcolasomme.c(12): warning #2096: Missing return value. *** Error code: 1 *** Done. Grazie a tutti . |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Quote:
Codice:
scanf("%f", &addendo2);
Codice:
int main() Codice:
return 0; |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Sono quasi tutti warning :
uno credo che te lo indichi perchè la funzione main deve sempre ritornare un valore, quindi dovresti cambiarla in: Codice:
int main() //e farle ritornare un valore return 0; Codice:
scanf ("%f , &addendo2");
//dev'essere:
scanf("%f", &addendo2);
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
|
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Nov 2008
Messaggi: 6
|
Ok problemi quasi risolti .Grazie veramente. Compilato tutto, senza errori ,pero' quando mando in esecuzione il programma mi chiede di inserire addendo1 e addendo2, ma non mi scrive la somma dei due numeri..... Ho provato a inserire la & nella riga printf che fa la somma ....ma non funziona.
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
potrebbe essere che si chiude prima che tu riesca a vedere il risultato? se così, usando codeblocks risolverai il problema perchè tiene aperto la finestra da solo.. altrimenti prova a mettere due
Codice:
getchar(); getchar(); Codice:
return 0; |
|
|
|
|
|
#7 |
|
Junior Member
Iscritto dal: Nov 2008
Messaggi: 6
|
Nada ho provato anche a togliere getchar , ma non funziona.
#include <stdio.h> int main () { float addendo1,addendo2 ; printf ("\n CALCOLATRICE PER LA SOMMA \n") ; printf ("\n Inserire il primo addendo da sommare ") ; scanf ("%f" , &addendo1) ; printf ("\n Inserire il secondo addendo da sommare \n") ; scanf ("%f ", &addendo2); printf ("La somma è : %f" , addendo1 + addendo2); getchar(); return 0 ; } Mancherà mica qualche libreria che non conosco? |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jan 2007
Messaggi: 1237
|
Quote:
Codice:
scanf ("%f", &addendo2);
Ci ao |
|
|
|
|
|
|
#9 |
|
Junior Member
Iscritto dal: Nov 2008
Messaggi: 6
|
Grazie , sto imparando piu' qui a leggere le vostre risposte e le altre discussioni che in una settimana di lezioni!!! Che ci vado a fare a lezione non si sa!!
Per cercare di evolvermi un po' ho scritto quest'altro programma per la soluzione di equazioni di secondo grado , stanamente lo ha compilato al primo colpo senza errori, solo che quando lo mando in esecuzione inserisco il primo parametro e poi windows vista lo chiude forzatamente. Codice:
#include <stdio.h>
#include <math.h>
int main ()
{
float a,b,c,delta,x1,x2 ;
printf ("CALCOLO DI EQUAZIONI DI SECONDO GRADO");
printf ("\n Inserire il parametro a \n");
scanf("\n %g , &a");
printf ("Inserire il parametro b");
scanf("\n %g , &b");
printf ("Inserire il parametro c");
scanf("\n %g , &c");
delta == b*b-4*a*c ;
x1=((-b-sqrt (delta)) /(2*a));
x2=((-b+sqrt (delta)) /(2*a));
if (delta <0) {
printf ("\n Non esistono soluzioni Reali \n") ;
return 0;}
if (delta >0) {
printf ("\n Le soluzioni dell'equazione sono" "\n %g, x1,x2 \n");
return 0; }
if (delta==0) {
printf ( "Esistono due soluzioni coincidenti in x uguale a " "%g , x1"); }
return 0;
}
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jan 2007
Messaggi: 1237
|
Hai fatto lo stesso errore di prima...
Codice:
scanf ("%f , &addendo2");
//dev'essere:
scanf("%f", &addendo2);
|
|
|
|
|
|
#11 |
|
Junior Member
Iscritto dal: Nov 2008
Messaggi: 6
|
Credo ci sia dell'altro perche adesso mi da' questa roba :
Codice:
Building equazion2.obj. C:\Users\Amministrazioe\Desktop\c\equazione\equazion2.c(5): warning #2115: Local 'x1' is initialized but never used. C:\Users\Amministrazioe\Desktop\c\equazione\equazion2.c(5): warning #2115: Local 'x2' is initialized but never used. C:\Users\Amministrazioe\Desktop\c\equazione\equazion2.c(5): warning #2116: Local 'delta' is used but never assigned a value. Building equazion2.exe. Done Codice:
#include <stdio.h>
#include <math.h>
int main ()
{
float a,b,c,delta,x1,x2 ;
printf ("CALCOLO DI EQUAZIONI DI SECONDO GRADO");
printf ("\n Inserire il parametro a \n");
scanf("%f", &a );
printf ("Inserire il parametro b \n");
scanf("%f ", &b);
printf ("\n Inserire il parametro c \n");
scanf(" %f ", &c);
delta == b*b-4*a*c ;
x1=((-b-sqrt (delta)) /(2*a));
x2=((-b+sqrt (delta)) /(2*a));
if (delta <0) {
printf ("\n Non esistono soluzioni Reali \n") ;
return 0;}
if (delta >0) {
printf ("\n Le soluzioni dell'equazione sono" "\n %g, x1,x2 \n");
return 0; }
if (delta==0) {
printf ( "Esistono due soluzioni coincidenti in x uguale a " "%g , x1"); }
return 0;
}
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jan 2007
Messaggi: 1237
|
Te lo avevo già detto prima, stai attento alle correzioni!!
All'interno di scanf non aggiungere spazi oltre a %d, %f ecc... Correggi questi due statement: Codice:
scanf("%f ", &b);
scanf(" %f ", &c);
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
come detto nei post precedenti la funzione scanf non si aspetta spazi nel parametro wildcard (il primo parametro).
questo assegnamento è errato delta == b*b-4*a*c ; devi utilizzare un solo =, e magari mettere qualche parentesi
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
#14 |
|
Junior Member
Iscritto dal: Nov 2008
Messaggi: 6
|
Codice:
#include <stdio.h>
#include <math.h>
int main ()
{
float a,b,c,delta,x1,x2 ;
printf ("CALCOLO DI EQUAZIONI DI SECONDO GRADO");
printf ("\n Inserire il parametro a \n");
scanf("%f", &a );
printf ("Inserire il parametro b \n");
scanf("%f", &b);
printf ("\n Inserire il parametro c \n");
scanf("%f", &c);
delta=(b*b)-(4*a*c) ;
x1=((-b-sqrt (delta)) /(2*a));
x2=((-b+sqrt (delta)) /(2*a));
if (delta <0) {
printf ("\n Non esistono soluzioni Reali \n") ;
return 0;}
if (delta >0) {
printf ("\n Le soluzioni dell'equazione sono" "\n %g, x1,x2 \n");
return 0; }
if (delta==0) {
printf ( "Esistono due soluzioni coincidenti in x uguale a " "%g , x1"); }
return 0;
}
Comunque , nel sorgente non ci sono e nemmeno qui adesso spero . Ho messo le parentesi al delta in riga 13 ....ma il programma si inceppa Ultima modifica di Nehel : 11-11-2008 alle 22:27. |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
sono sbagliate le printf, ad esempio:
printf ("\n Le soluzioni dell'equazione sono" "\n %g, x1,x2 \n"); diventa printf ("\n Le soluzioni dell'equazione sono\nx=%f\nx=%f\n", x1, x2);
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:04.













ho concluso con: kvegeta, doctordb, Leland Gaunt.








