Oppure

Loading
30/01/10 18:08
giuseppe90
1>.\addizione.cpp(18) : error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &;)': impossibile dedurre un argomento di modello per 'std::basic_istream<_Elem,_Traits> &' da 'std::basic_ostream<_Elem,_Traits>'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\string(424): vedere la dichiarazione di 'std::operator >>'
1>.\addizione.cpp(18) : error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &;)': impossibile dedurre un argomento di modello per 'std::basic_istream<_Elem,_Traits> &' da 'std::basic_ostream<_Elem,_Traits>'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\string(424): vedere la dichiarazione di 'std::operator >>'
1>.\addizione.cpp(18) : error C2784: 'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &;)': impossibile dedurre un argomento di modello per 'std::basic_istream<_Elem,_Traits> &' da 'std::basic_ostream<_Elem,_Traits>'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\string(424): vedere la
aaa
30/01/10 18:10
Lawliet
Postato originariamente da giuseppe90:
ok....sicuramente ci sarà qualche buon'anima ke mi aiuterà ancora!!!

Ti sbagli, se per aiutarti intendi dare codice pronto.. allora ti sbagli.
La politica del forum è aiutare. Qui non è dare codice pronto, come puoi capire dalla firma che ho (e guarda caso chi l'ha scritta :rofl:, vabbè non andiamo OT)
Intanto ascolta ciò che ha detto nessuno e posta gli errori che appaiono.

EDIT: mi hai anticipato.

cout <<  cin >> cifraA >> cifraB;

Non puoi fare così.
separa in:
cin >> cifraA;
cin >> cifraB;

Sai a cosa servono cout e cin!?


cifraA=a;
cifraB=b;

Cosa vuoi fare!? cifraA e cifraB sono interi e a e b sono stringhe due cose diverse!
Ultima modifica effettuata da Lawliet 30/01/10 18:22
aaa
30/01/10 18:46
giuseppe90
questo è il programma ke si compila correttamente ma non funziona...


#include <iostream>
#include <cmath>
#include <string>

using namespace std;

int main()
{
    string a("00001000");
	string b("00001101");
	string risultato("00000000");
	int cifraA, cifraB, somma;
	int riporto=0;
	

	 cout << endl << " inserisci cifraA" << endl;
     cout << endl << " inserisci cifraB" << endl;
	 cin >> a >> b;
	int i;
	for (i=7; i >= 0; i--);
	{
		cifraA=(int)a[i] - 48;
		cifraB=(int)b[i] - 48;
	 somma =cifraA + cifraB + riporto;
	 switch(somma)
	 {
		 case 0:
	           risultato[i] = '0';
			   riporto = 0;
			   break;
		 case 1:
			   risultato[i] = '1';
			   riporto = 0;
			   break;
		 case 2:
			   risultato[i] = '0';
			   riporto = 1;
			   break;
		 case 3:
			   risultato[i] = '1';
			   riporto = 1;
			   break;
	 }
	    cout << "\n" << " Risultato: " << risultato <<"\n";

}
}

Ultima modifica effettuata da HeDo 01/02/10 21:25
aaa
30/01/10 19:34
Se non usi i tag CODE il codice NON SI CAPISCE !

Nel codice c'è scritto

[ i ]

e senza gli spazi il codice scompare e viene visualizzato in corsivo ... e NON SI CAPISCE ...

Li vuoi inserire 'sti tag ?

Oppure ... posta il codice scrivendo

[ i ]

dove serve, CON GLI SPAZI
31/01/10 8:26
giuseppe90
nn so come funzionano questi tag ma ecco il programma funzionante...ringrazio TheKaneB e manvb.net per il loro prezioso apporto...grazie ragazzi!!!


#include <iostream>
#include <cmath>
#include <string>

using namespace std;

int main()
{
    string a("00001000");
	string b("00001101");
	string risultato("00000000");
	int cifraA, cifraB, somma;
	int riporto=0;
	

	 cout << endl << " inserisci cifraA" << endl;
     cout << endl << " inserisci cifraB" << endl;
	 cin >> a >> b;
	int i;
	for (i=7; i >= 0; i--)
	{
		cifraA=(int)a[i] - 48;
		cifraB=(int)b[i] - 48;
	 somma =cifraA + cifraB + riporto;
	 switch(somma)
	 {
		 case 0:
	           risultato[i] = '0';
			   riporto = 0;
			   break;
		 case 1:
			   risultato[i] = '1';
			   riporto = 0;
			   break;
		 case 2:
			   risultato[i] = '0';
			   riporto = 1;
			   break;
		 case 3:
			   risultato[i] = '1';
			   riporto = 1;
			   break;
	 }
	}
	    cout << "\n" << " Risultato: " << risultato <<"\n";
}



grazie ancora ragazzi....senza di voi ero rovinato!!!!ora farò la sottrazione!!!a presto
Ultima modifica effettuata da HeDo 01/02/10 21:25
aaa
01/02/10 16:20
giuseppe90
ho fatto la sottrazione....vorrei aiutato a individuare gli errori....grazie!!!


#include <iostream>
#include <cmath>
#include <string>
#include <iostream>

using namespace std;
int sott_binaria (int op1, int op2);
void main()
{
	string b("00001101");
    string a("00001000");
	string risultato("00000000");
	int cifraA, cifraB, ris_sott;
	int riporto=0;
	cout << endl << "inserisci cifraA " << endl;
	cin >> ("%d",&cifraA);
	cout << endl << "inserisci cifraB " << endl;
	cin >> ("%d",&cifraB);
	ris_sott = sott_binaria(cifraA, cifraB);
	cout << endl << "il risultato e' %d\n ", ris_sott);
}

//funzione sottrazione binaria
int sott_binaria (int op1, int op2)
{
	int prestito, sottrazione;
	prestito = 1; //inizializzazione che serve per avviare il ciclo while
	if (op1>op2)
		while (prestito >=1)
		{
			sottrazione = op1^op2;
			prestito &= (op1,op2);
			prestito = prestito << 1; //aggiunge un bit meno significativo 0
			op1=sottrazione;
			op2=prestito;
		}
		return sottrazione;
}


Ultima modifica effettuata da HeDo 01/02/10 21:26
aaa
01/02/10 21:28
HeDo

Purtroppo mi costringi a farlo, è palese che stai scopiazzando a destra e a manca il codice.
Non hai la più pallida idea di cosa stai facendo e del perchè lo stai facendo, sul forum non si chiedono programmi pronti e il tuo atteggiamento non mi è piaciuto fin dall'inizio, oltre al fatto che non hai nemmeno letto il regolamento.

Concludo qui questa farsa.
aaa