Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-09-2009, 18:18   #1
emanuele.g
Junior Member
 
Iscritto dal: Sep 2009
Messaggi: 4
[C] un neofita cerca aiuto, si chiude il prompt dei comandi

Salve a tutti, spero di non aver sbagliato sezione, ma sono nuovo
Vado al dunque subito, frequento ing. civile, e stiamo facendo il corso di programmazione, per il momento non ci sono state spiegate molte cose, ma nonostante tutto volevo provare a fare qualcosa a casa...
Mi è venuto in mente un programma che visualizzasse semplicemente la somma di due numeri, vi posto il codice:

#include<stdio.h>
main()
{
printf("Inserire il primo numero");
scanf("x");
printf("Inserire il secondo numero");
scanf("y");
printf("x+y");

}


peccato che c'è un problema, non appena inserisco il primo numero e premo invio, non faccio quasi neanche in tempo a leggere inserire il secondo numero che il prompt dei comandi si chiude, come mai? come lo risolvo?

Ultima modifica di emanuele.g : 30-09-2009 alle 18:23.
emanuele.g è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 18:39   #2
Energy++
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 1059
a parte il fatto che quello non è assolutamente un codice funzionante

sintassi di scanf, variabili e cose del genere, mai sentite eh?

Ultima modifica di Energy++ : 30-09-2009 alle 19:29.
Energy++ è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 18:45   #3
emanuele.g
Junior Member
 
Iscritto dal: Sep 2009
Messaggi: 4
usandolo con dev C++ sembra funzionare...
almeno l'inizio
emanuele.g è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 18:50   #4
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Energy++, in effetti se ci pensi é vero
prima legge degli input dallo standard input (sconquassando lo stack ), poi stampa "x+y" e alla fine si chiude

bah, sono senza parole

la mia versione:
Codice:
#include <stdlib.h>
#include <stdio.h>

int main()
{
    int x, y;
    printf("inserire il primo numero: ");
    scanf("%d", &x);
    printf("inserire il secondo numero: ");
    scanf("%d", &y);
    printf("la somma é %d\n", x + y);
    return 0;
}
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 18:53   #5
emanuele.g
Junior Member
 
Iscritto dal: Sep 2009
Messaggi: 4
della serie perculiamo uno se non è capace, bel comportamento, complimenti
per il momento me l'han spiegata così,non credevo mancassero dei pezzi, del resto l'avevo detto che ero all'inizio...

cazzo sfottete poi...:-|
emanuele.g è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 19:10   #6
Energy++
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 1059
Quote:
Originariamente inviato da emanuele.g Guarda i messaggi
della serie perculiamo uno se non è capace, bel comportamento, complimenti
per il momento me l'han spiegata così,non credevo mancassero dei pezzi, del resto l'avevo detto che ero all'inizio...

cazzo sfottete poi...:-|
il fatto è che, da quello che hai scritto, si capisce che:

1. o non hai letto nemmeno 1 pagina di teoria
2. o quelli che che ti hanno detto che si fa in quel modo sono degli incompetenti
3. o tu hai capito male e quindi ti consiglio di cominciare a prendere il bel libro di C e iniziare a studiare
Energy++ è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 19:16   #7
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
Quote:
Originariamente inviato da Energy++ Guarda i messaggi
il fatto è che, da quello che hai scritto, si capisce che:

1. o non hai letto nemmeno 1 pagina di teoria
2. o quelli che che ti hanno detto che si fa in quel modo sono degli incompetenti
3. o tu hai capito male e quindi ti consiglio di cominciare a prendere il bel libro di C e iniziare a studiare
Quote:
Originariamente inviato da emanuele.g
Vado al dunque subito, frequento ing. civile, e stiamo facendo il corso di programmazione, per il momento non ci sono state spiegate molte cose, ma nonostante tutto volevo provare a fare qualcosa a casa...
L'utente ha specificato che è alle prime basi (anzi, che non ha neanche quelle) ma nonostante ciò sta provando a fare qualcosa: mi pare un tentativo lodevole, perchè piuttosto non gli spiegate gli errori che ha commesso, così li capisce anche lui ?
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 19:17   #8
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da Energy++ Guarda i messaggi
apparte il fatto che quello non è assolutamente un codice funzionante

sintassi di scanf, variabili e cose del genere, mai sentite eh?
e a parte che non si scrive "apparte" ma "a parte".

Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 19:29   #9
Energy++
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 1059
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
e a parte che non si scrive "apparte" ma "a parte".

chiedo scusa per la svista

Ultima modifica di Energy++ : 30-09-2009 alle 19:36.
Energy++ è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 21:19   #10
Y3PP4
Member
 
Iscritto dal: Jul 2009
Messaggi: 210
Ciao,

questo codice non può funzionare perchè non usi in modo appropriato le varie funzioni. Non ti compare la seconda stringa "Inserire il secondo numero" perchè il programma và in crash per via dell'utilizzo improprio, appunto, della funzione scanf.
Il mio consiglio, prima di continare è quello di cercare a mano a mano, su Google le varie funzioni e cercare di capire come si usano, quali parametri accettano e quali risultati restituiscono. Ovviamente la base, ovvero, i principi elementari di un programma, il significato di una return perchè si deve usare per forza main() etc, tra cui i tipi di dati esistenti nel C sono d'obbligo.
La prima riga:
Codice:
#include <stdio.h>
è giusta, ed è una direttiva del preprocessore (presente nei maggiori compilatori oggi esistenti, appunto pre-processa il sorgente).
Praticamente gli dice includi nel sorgente da compilare il contenuto del file header di nome "stdio" (standard I/O).
Questo header contiene le dichiarazioni (che si differenzia dalla definizione, per maggiori info su wiki cerca i due termini) delle funzioni primarie per la gestione dello standard input e output (in C referenziati come stdin e stdout)
Codice:
main()
io ti consiglio di cambiarlo con:
Codice:
int main(){
int preposto al nome della funzione, specifica che la funzione restituisce un valore intero (return 0. In vari compilatori la sua mancanza (non dell'int, ma del tipo di dato restituito -nel caso sia assente o indefinito è di tipo void-) genera un errore che impedisce di ottenere l'eseguibile -sinceramente non ricordo se è compito del compilatore o del linker-.
Il programma deve necessariamente contenere una funzione di nome main in quanto è l'entry point, la locazione di memoria da cui comincerà l'esecuzione del programma. In assenza riceverai un errore durante la compilazione dell'eseguibile.
Codice:
printf("Inserire il primo numero");
Questa funzione è usata in modo proprio. Tieni a mente che verrà stampata esattamente com'è -al termine dell'istruzione non verrà effettuato il ritorno a capo-, pertanto potresti voler separare di almeno uno spazio la stringa dal numero che devi immettere
Codice:
printf("Inserire il primo numero: ");
Ecco qui l'utilizzo improprio della funzione scanf.
Innanzitutto, la scanf è dichiarata come:
Codice:
 int scanf(char *format, args ...)
Accetta come primo parametro un identificatore del tipo di formato che verrà immesso dall'utente (nel tuo caso sarà %d -intero-) e come secondo argomento la variabile che conterrà il valore. In verità come vedi i puntini indicano che puoi immettere più variabili, ma tralasciamo le cose, attualmente, inutili.
Ora sapendo che: per forza di cose una variabile deve essere dichiarata PRIMA del suo utilizzo, capirai che prima di usare quella funzione te devi dichiarare una variabile per contenere il valore.
Per ordine le variabili andrebbero poste all'inizio del programma. Adesso con i nuovi standard è possibile mettere le varibili appena prima del loro utilizzo, ma, prendi con le pinze quanto stò per dirti, una volta era obbligatorio definire all'inizio del blocco di codice (un blocco è racchiuso tra {} -semplice terminologia, niente di chè-).
Alla fine ti mostro un esempio funzionante ora, invece, riscrivo solo la funzione in una funzionante:
Codice:
scanf("%d", &x);//supponendo di aver già dichiarato X come int
//la e commerciale dice al compilatore di passare l'indirizzo della variabile anzichè passarne una copia.
Idem per il secondo printf e scanf che quindi tralascio ora.
Codice:
printf("x+y");
E' errato in quanto stai dicendo: stampa la stringa (definita dalle virgolette, o doppi apici) "x+y".
Per ottenere il risultato che ti aspetti devi usare una piccola convenzione C:
Codice:
printf("%d", (x+y))//ecco che ritorna %d che indica ancora una volta che verrà passato un intero
//per maggiori info basta una semplice impolverata sulle basi di I/O
A questo punto il sorgente è quasi pronto.
Quasi perchè manca la funzione return, che restituisce un valore intero. 0 indica terminazione con successo, altri valori indicano uno stato d'errore.

A questo punto il sorgente funzionante è:
Codice:
#include <stdio.h>
int main()
{ //apro il blocco di istruzioni
  int x,y; //la virgola mi permette di istanziare più variabili in una sola istruzione;
  printf("Inserisci il primo numero: ");
  scanf("%d", &x); //salvo il valore immesso nella var x
  printf("Inserisci ora il secondo numero: ");// qui, curiosità ti trovi a capo la stringa
// poichè la pressione di Enter o Invio per la scanf causa un ritorno a capo.
  scanf("%d", &y); //ora salvo in y
  printf("Il risultato della addizione di x(%d) + y(%d) è:%d", x, y, (x+y));
// Come vedi per ogni occorrenza della sequenza di caratteri %d ho immesso 
// dopo un valore del tipo intero (avendo usato %d). In caso contrario si
// solleverebbe una eccezione
  return 0;//restituisco 0, terminazione con successo
}//chiudo il blocco di istruzioni
Questo è quanto. Aggiungo solo che // permette di scrivere commenti che terminano a fine riga.
Buona serata.
__________________
La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
Isaac Asimov
Y3PP4 è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 21:23   #11
Y3PP4
Member
 
Iscritto dal: Jul 2009
Messaggi: 210
Chiedo scusa per il doppio post consecutivo. Ma ho sbagliato a cliccare tra modifica e quote.
Un consiglio:
Codice:
ca**o sfottete poi...:-|
Non usare certe espressioni volgari, rischi di rimetterci solo tu sia come immagine che per eventuali interventi della moderazione. Semplicemente ignora ciò che ti infastidisce o segnala alla moderazione le repliche che ritieni fuori luogo o offensive, qualora dovessero mai esserci. Io non mi riferisco a nessuno in particolare, parlo in generale.
__________________
La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
Isaac Asimov
Y3PP4 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
Black Friday Amazon: la GeForce RTX 5070...
EcoFlow, il Black Friday porta grande ri...
Gli sconti più pesanti del Black ...
Smart #5 BRABUS segna il nuovo record di...
Incentivi auto elettriche 2025, a volte ...
Oura apre una maxi disputa sui brevetti ...
Tre gruppi criminali si uniscono e crean...
BMW iX3: la Neue Klass supera i 1.000 km...
LinusTechTips pensa che Steam Machine do...
Black Friday Amazon: avviatori auto e ac...
Warner e Udio depongono le armi: l'IA di...
Snapdragon 8 Gen 5: il nuovo processore ...
Black Friday OPPO: prezzi a picco su sma...
Arriva il nuovo Amazon Haul per il Black...
Mafia: Terra Madre: arriva il Free Ride ...
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: 15:13.


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