PDA

Visualizza la versione completa : [C] Programma per input di valori e stampa


ice-on-fire
30-12-2007, 13:14
salve a tutti.

A scuola, iniziamo a studiare il C, ma solo teoricamente.
Mi diletto a creare programmini in C, relativamente semplici.

Ora, vi pongo una lista di quesiti.

1) Come posso far capire a printf che a è una variabile e non una lettera da stampare? Ad a è stato assegnato un valore intero.

2) I programmi che scrivo, girano sotto DOS, e ho un problema. I miei programmi sono del tipo "Inserisci un numero - premi invio - il quadrato è..." però, non appena scrivo il numero, si chiude la finestra, e sono costretto a richiamare il programma dalla finestra del dos, scrivo il percorso ecc.ecc. C'è un modo per non far chiudere il programma, ad esempio facendo in modo che dopo il calcolo del numero esca "Premi un tasto per uscire"?

Ciao e grazie per ora

MItaly
30-12-2007, 13:30
1.


int a;
/* ... */
printf("%d",a);

2. :sonno: http://forum.html.it/forum/showthread.php?s=&threadid=920377

ice-on-fire
30-12-2007, 16:42
grazie mille per la tua disponibilità.

Ora, il programma è questo:


#include <stdio.h>
#include <stdlib.h>

int a,b,c;

main()
{
printf("Calcolo del quadrato e del cubo di un numero digitato. \n");

printf("Digita il numero. Il numero deve essere intero, cioè senza virgola. \n");
scanf("%d", &a); //assegna il numero alla variabile a
b= a*a;
printf("Il quadrato del numero è ");
printf("%d", b );
c= a*a*a;
printf("Il cubo di a è c");
printf("%d", c );
system("PAUSE");
return 0;

}

Ora, se metto /n o \n per l'interruzione di riga, ad esempio:

printf("Il quadrato del numero è ");
printf("%d", b /n);


dev-c++ non compila. Come posso fare per risolvere il problema?

Altra cosa, perchè il DOS non mostra la è accentata?

ciao e grazie

Irenicus1
30-12-2007, 16:58
Originariamente inviato da ice-on-fire

printf("Il quadrato del numero è ");
printf("%d", b /n);


printf ("%d\n",b);
Ciao

pallinopinco
30-12-2007, 17:05
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int a,b,c;

// Per mostrare stringhe semplici usa la puts al posto della printf (è più efficiente)
puts("Calcolo del quadrato e del cubo di un numero digitato.");

puts("Digita il numero. Il numero deve essere intero (senza virgola): "); // PERCHÈ?!
scanf("%d", &a);

printf("Il quadrato del numero vale %d \n", a*a);
c = a*a*a; // La C standard library prevede una funzione per il calcolo delle potenze
printf("Il cubo di a coincide con c = %d\n", c);

system("PAUSE");
return 0;
}

ice-on-fire
30-12-2007, 17:10
hum.. .grazie mille!!!

mi spieghi cosa significano:

int main(void)


e quel'è la funzione per il calcolo delle potenze??

grazie mille di nuovo

ciaociao

pallinopinco
30-12-2007, 17:22
mi spieghi cosa significano:

int main(void)


Potrei farlo, ma ti ripeterei ciò che è scritto nelle prime 2 pagine di qualsiasi libro sul linguaggio C ed in tutti i tutorial online minimamente decenti. Per approfondire clicca qui (http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?id=1043284376&answer=1044841143).



e quel'è la funzione per il calcolo delle potenze??


Usa la funzione pow definita in math.h (alcuni compilatori richiedono l'aggiunta nella linea di comando dello switch -lm).

Loading