|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Nov 2016
Messaggi: 3
|
[C++] "Convertitore" Alfabeto-Binario
Salve a tutti, vorrei fare una specie di convertitore, però solamente con i comandi che ci hanno insegnato a scuola(if, while, do-while, for), faccio il 3 superiore, probabilmente sarà impossibile, anche perche so che come l'ho iniziato io non è il massimo e potrebbe essere tutto sbagliato. Ecco quello che o scritto fin'ora:
#include<iostream> #include<conio.h> using namespace std; main() { int n; char l; //Lettere Minuscole-Binario cin >> l; if(l='a') {cout << "01100001";} else{ if(l='b') {cout << "01100010";} else{ if(l='c') {cout << "01100011";} else{ if(l='d') {cout << "01100100";} else{ if(l='e') {cout << "01100101";} else{ if(l='f') {cout << "01100110";} else{ if(l='g') {cout << "01100111";} else{ if(l='h') {cout << "01101000";} else{ if(l='i') {cout << "01101001";} else{ if(l='j') {cout << "01101010";} else{ if(l='k') {cout << "01101011";} else{ if(l='l') {cout << "01101100";} else{ if(l='m') {cout << "01101101";} else{ if(l='n') {cout << "01101110";} else{ if(l='o') {cout << "01101111";} else{ if(l='p') {cout << "01110000";} else{ if(l='q') {cout << "01110001";} else{ if(l='r') {cout << "01110010";} else{ if(l='s') {cout << "01110011";} else{ if(l='t') {cout << "01110100";} else{ if(l='u') {cout << "01110101";} else{ if(l='v') {cout << "01110110";} else{ if(l='w') {cout << "01110111";} else{ if(l='x') {cout << "01111000";} else{ if(l='y') {cout << "01111001";} else{ if(l='z') {cout << "01111010";}}}}}}}}}}}}}}}}}}}}}}}}}} ("pause"); return 0; } ovviamente non l'ho finito, perche mi da un errore, quando lo avvio e metto una qualsiasi lettera, mi da il codice binario che corrisponde alla lettera "a". Spero possiate aiutarmi a risolvere, grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2001
Messaggi: 9538
|
1)Nella condizione dell'if stai facendo un assegnazione e non un confronto.
2)Il confronto mi pare che non si possa fare così in c ma si debba usare uno strcmp. 3)Questa caterva di if, sarebbe molto meglio fare giusto un mini algoritmo per la conversione da intero a binario. |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Nov 2016
Messaggi: 3
|
Grazie mille per la risposta, e ho appena risolto, mi è bastato mettere if(l=='lettera') per tutti gli if
|
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Prova questo:
Codice:
#include <iostream>
#include <bitset>
using namespace std;
int main() {
unsigned char ch;
cin >> ch;
cout << bitset<8>(ch) << endl;
return 0;
}
|
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Se non puoi usare std::bitset ti tocca fare così:
Codice:
#include <iostream>
using namespace std;
int main() {
unsigned char ch;
cin >> ch;
for (int i = 0; i < 8; i++, ch <<= 1) {
if (ch & 128) {
cout << '1';
} else {
cout << '0';
}
}
cout << endl;
return 0;
}
|
|
|
|
|
|
#6 |
|
Junior Member
Iscritto dal: Nov 2016
Messaggi: 3
|
grazie di aver risposto, io vorrei finirlo nel metodo che stavo facendo io, anche se piu lungo e complesso, come avevo gia scritto, avevo risolto quel problema, ora vorrei sapere come faccio a dirgli che se viene inserito lo spazio mostra il corrispettivo numero?
|
|
|
|
|
|
#7 | |
|
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Quote:
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
In realtà sono solo le lettere (A-Z e a-z) quindi tipo 24 if / else if... almeno usa lo switch che è leggermente meglio:
Codice:
{
int n; char l;
//Lettere Minuscole-Binario
cin >> l;
switch (l) {
case 'a':
cout << "01100001";
break;
case 'b':
cout << "01100010";
break;
[...]
default:
cout << "Please insert only letters";
break;
}
Codice:
case ' ': ...
__________________
Cosmos C# Open Source Managed Operating System Cosmos Thread Ufficiale Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat! Ultima modifica di fano : 25-11-2016 alle 19:12. |
|
|
|
|
|
#9 |
|
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Qui muore l'informatica. 23 Giugno 1912 - 25 Novembre 2016.
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
Io nei miei sorgenti ho visto roba quasi peggiore
(no, non l'avevo scritta io!)
__________________
Cosmos C# Open Source Managed Operating System Cosmos Thread Ufficiale Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat! |
|
|
|
|
|
#11 |
|
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Mi ricorda quando un regazzino che partecipò a Genius di Mike Bongiorno, per far vedere che era intelligente, disse che stava creando un programma di intelligenza artificiale che dialoga con l'utente. Che naturalmente si scoprì essere un raccapricciante catenaccio di if che testava tutte le possibili domande che a un utente italiano potrebbero mai venire in mente e faceva cilecca al minimo errore ortografico.
E Mike compiaciuto delle meraviglie che i giovani d'oggi riescono a fare con il compiuter.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:33.




















