|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Nov 2012
Città: Guidizzolo
Messaggi: 3
|
[C] Piccoli problemi...
Buongiorno a tutti, sono nuovo ! Da poco più di una settimana ho incominciato a seguire delle videolezioni per imparare le basi del linguaggio C, quindi sono alle prime armi e lo vedrete dai progetti che vi illusterò. Premetto che come compilatore uso Notepad++, poi una volta salvato il file, attraverso il prompt dei comandi e grazie al GCC Compiler, lo trasformo in un eseguibile (.exe) per poi eseguirlo. I problemi che riscontro nei miei progetti non sono errori nella compilazione che non capisco, dato che sono riuscito a trasformare tutti i progetti in eseguibili e questo vuol dire che non ci sono errori, ma sono errori (credo) del prompt. Vi illustro il primo progetto:
#include <stdio.h> #include <conio.h> int main() { int a, b, somma; printf("Inserire un numero intero: ", a); scanf("%d", &a); printf("\nInserire un secondo numero intero: ", b); scanf("%d%", &b); somma = a + b; printf("\nLa somma dei due numeri inseriti e' %d", somma); _getch(); return 0; } Si tratta di sommare due numeri: inserisco il primo numero, clicco invio; inserisco il secondo numero, clicco invio ma non mi fa il calcolo. Solo se inserisco un altro numero staccandolo dall'ultimo e poi premendo invio mi fa il calcolo, es: 2 --> Invio --> 2 --> Invio --> Stacco ed inserisco --> Invio --> E me lo calcola. Ecco un altro problema: #include <stdio.h> #include <conio.h> int main() { int num, cif1, cif2, cif3, cif4, cif5; printf("Digita un numero di cinque cifre, questo verra' scritto cifra per cifra: ", num); scanf("%d", &num); cif1 == num/10000; printf("%d", &cif1); cif2 == (num-cif1*10000)/1000; printf(" %d", &cif2); cif3 == (num-cif1*10000-cif2*1000)/100; printf(" %d", &cif3); cif4 == (num-cif1*10000-cif2*1000-cif3*100)/10; printf(" %d", &cif4); cif5 == (num-cif1*10000-cif2*1000-cif3*100-cif4*10)/1; printf(" %d", &cif5); if(num < 10000) { printf("\nErrore: il numero inserito e' minore di cinque cifre."); } if(num > 99999) { printf("\nErrore: il numero inserito e' maggiore di cinque cifre."); } _getch(); return 0; } Quando premo invio dopo aver inserito il numero, mi escono cinque numeri strani: 2293336 2293332 2293338 2293334 2293330... Ultima modifica di Evolvix : 01-12-2012 alle 14:02. |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Nov 2012
Città: Guidizzolo
Messaggi: 3
|
Per la somma dei due numeri ho risolto togliendo quel % in più, grazie mille !
Per il secondo esercizio, devo mettere solo un = e togliere tutte le & ? O devo rimanere qualcosa ? Magari scrivimi il codice con le modifiche (comunque senza conio e getch quando apre mi si chiude subito, quindi per me sono necessari). Grazie ancora per la risposta comunque ! Edit: risolto anche per l'altro progetto, ho messo solo un = da tutte le parti e ho tolto l'& da tutte le cif tranne che a num... non so davvero come ringraziarti ! Ultima modifica di Evolvix : 01-12-2012 alle 13:57. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Nov 2012
Città: Guidizzolo
Messaggi: 3
|
E' vero, mi sono confuso... Grazie per avermelo fatto notare
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:59.




















