Oppure

Loading
29/08/09 18:41
steve__92
Postato originariamente da cip:

Ho usato printf e scanf perchè li usa la mia prof....
Scusatemi ma ...sulla funzione void non mi è ancora chiaro.....
Perchè ho provato ad eseguire questo e mi da la stessa cosa


/*QUESTO PROGRAMMA USA UNA FUNZIONE PER SCAMBIARE DUE NUMERI DATI*/
#include <stdio.h>
#include <stdlib.h>
int scambia(int&,int&;);
main()
{int x,y;
printf("\ndammi un numero reale x=";);scanf("%d",&x);
printf("\ndammi un numero reale y=";);scanf("%d",&y);
printf("\n\n ecco i numeri prima dello scambio: ";);
printf("\n\n x=%d e y=%d" ,x,y);
scambia(x,y);
printf("\n\n ecco i numeri dopo lo scambio:%d %d ",x,y);
return 0; }
int scambia(int& a,int& b)
{int aux;
aux=a;a=b;b=aux;
return 0; }

:(:( Xchè?


ed è normale che ti dia la stessa cosa...

return funziona così (spiegato proprio terra terra)

main()
{
x=valore_x(14)
}

valore_x(int a)
{
return a;
}

in questo modo dico che valore_x(14) è esattamente come dire 14


quindi nel tuo programma potresti sostituire scambia(x,y); con 0 (solo che grazie alla chiamata per riferimento riesce anche a scambiare il valore)
aaa
29/08/09 18:51
cip
Ok! Grazie mille !
Finalmente ho capito..
grazie grazie:)
aaa
29/08/09 21:08
Pippo_94
Cip, se vuoi scrivere un programma che sia più volto al C++ dovresti iniziare a cambiare ^^ nel senso, al posto di usare la libreria stdio (che è molto usata in C) prova ad iniziare ad utilizzare i flussi i dati includendo iostream...poi, le funzioni cerca di dichiararle prima del main...^^ ora ti posto una versione di come l'avrei fatto io:

#include <iostream>

using namespace std;

int x;
int y;

void scambiaValori(int & a, int & b)
{
    int i;

    i = a;
    a = b;
    b = i;
}

int main()
{
    cout << "Dammi un numero intero: ";
    cin >> x;

    cout << "Dammi un altro numero intero: ";
    cin >> y;

    cout << '\n' << "Molto bene...ecco i numeri prima dello scambio: " << x << " " << y << endl;

    scambiaValori(x, y);

    cout << '\n' << "Ecco i numeri dopo lo scambio: " << x << " " << y << '\n' << endl;

    system("pause");

    return 0;

}
aaa
30/08/09 11:59
giuseppe93
Postato originariamente da Pipp0_94:



#include <iostream>

using namespace std;

int x;
int y;


è più conveniente dichiarare le 2 variabili dentro l'int main()!
aaa
30/08/09 18:50
cip
Ok grazie!Ho seguito i vostri consigli e ora è tutto molto più chiaro e più semplice grazie....;)
aaa
31/08/09 9:57
giuseppe93
bye!
aaa
01/09/09 9:14
cip
ciao a tutti!!!
Qualcuno mi saprebbe spiegare perchè il seguente programma non gira? non riesco proprio a trovare l' errore....:d

/*CONCATENAZIONE DI DUE STRINGHE*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream.h>
main()
{char *p="MATITA";
char *colore="ROSSA";
char *colore2="E BLU";
cout<<p<<"\n"<<colore<<"\n"<<colore2;
strcat(p,colore);
cout<<p;
strcat(p,colore2);
cout<<p;
system("PAUSE";);return 0; }




ps grazie!!!
aaa
01/09/09 17:01
giuseppe93
la funzione strcat da' qulache problema ma sinceramente non so perchè... :om::om:
aaa