PDA

View Full Version : [C] Piccoli problemi...


Evolvix
01-12-2012, 11:15
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...
:confused:

Evolvix
01-12-2012, 12:49
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 !

clockover
01-12-2012, 14:14
Premetto che come compilatore uso Notepad++

occhio che Notepad++ è un editor, GCC è un compilatore ;)

Evolvix
01-12-2012, 14:45
E' vero, mi sono confuso... Grazie per avermelo fatto notare :).