Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-11-2008, 11:47   #1
Nehel
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 () ;
  }
Pelles C , quando clicco su Compile File o su Build File dice :

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.
A proposito che differenza c'è tra Build File e Compile File?

Grazie a tutti .
Nehel è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 11:54   #2
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Quote:
Originariamente inviato da Nehel Guarda i messaggi
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 () ;
  }
la riga in grassetto è sbagliata sicuramente volevi fare
Codice:
scanf("%f", &addendo2);
un'altra cosa, io metterei
Codice:
int main()
e prima della fine del programma
Codice:
return 0;
e se fossi in te userei codeblocks come ide.. se vuoi provarlo lo trovi qui
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 11:57   #3
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
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;
L'errore vero e proprio è un semplice errore di sintassi:

Codice:
scanf ("%f , &addendo2");

//dev'essere:
scanf("%f", &addendo2);
P.S: ndakota mi hai bruciato sul tempo
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 12:03   #4
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
P.S: ndakota mi hai bruciato sul tempo
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 12:54   #5
Nehel
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.
Nehel è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 14:16   #6
ndakota
Senior Member
 
L'Avatar di ndakota
 
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();
prima del
Codice:
return 0;
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 14:45   #7
Nehel
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?
Nehel è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 15:41   #8
royaleagle
Senior Member
 
L'Avatar di royaleagle
 
Iscritto dal: Jan 2007
Messaggi: 1237
Quote:
Originariamente inviato da Nehel Guarda i messaggi
Nada ho provato anche a togliere getchar , ma non funziona.

Codice:
#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?
Il problema è lo statement evidenziato, sostituiscilo con:
Codice:
scanf ("%f",  &addendo2);
cioè togli lo spazio dopo %f.

Ci
ao
__________________
59 trattative ok (ultimo: IntoTrouble)
royaleagle è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 16:31   #9
Nehel
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;
 }
Nehel è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 16:44   #10
royaleagle
Senior Member
 
L'Avatar di royaleagle
 
Iscritto dal: Jan 2007
Messaggi: 1237
Hai fatto lo stesso errore di prima...

Codice:
scanf ("%f , &addendo2");
//dev'essere:
scanf("%f", &addendo2);
Inoltre sarebbe meglio che tu imparassi ad usare il costrutto if-elseif-else.
__________________
59 trattative ok (ultimo: IntoTrouble)
royaleagle è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 21:31   #11
Nehel
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
Il programma mi chiede il parametro a , lo inserisco poi mi chiede il b e poi il cursore rimane lampeggiante senza chiedermi il c se premo invio me lo chiede ma poi si ferma l'esecuzione.

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;
 }
Nehel è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 21:42   #12
royaleagle
Senior Member
 
L'Avatar di royaleagle
 
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);
__________________
59 trattative ok (ultimo: IntoTrouble)
royaleagle è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 21:43   #13
vizzz
Senior Member
 
L'Avatar di vizzz
 
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.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 22:18   #14
Nehel
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;
 }
Scusate il codice che ho citato prima era senza spazi ma quando lo cito me li fa!!Ho provato a usare modifica ma una volta che faccio salva ci risono .Ho dovuto riscrivere la riga.
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.
Nehel è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2008, 23:11   #15
vizzz
Senior Member
 
L'Avatar di vizzz
 
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.
vizzz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Addio a Margaret Hamilton: il suo codice...
I nuovi iPhone 18 e Duo avrebbero dovuto...
FSR 4 sulle APU entro fine anno: AMD pre...
Anche Vivo si arrende: il nuovo mid-rang...
Windows punta sull'intelligenza ibrida: ...
NVIDIA DGX Station arriva su Windows, in...
Per Nadella e Huang, CEO di Microsoft e ...
Microsoft Surface Laptop Ultra, ufficial...
TP-Link, quattro Stati americani fanno c...
Fino a 45.000 dollari di vantaggi per le...
Cooler Master V8 ACE 3DHP: un'unica torr...
SpaceX vuole 40 miliardi per i chip Nvid...
Power Station portatile EcoFlow DELTA 2 ...
Full Self-Driving di Tesla, la Germania ...
Nobel per la Fisica 2026 a Francis Halze...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:23.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v