|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
[C++] problemi vari con un codice per crittare/decrittare
oggi pomeriggio mi è tornato in mente il motivo per cui ho imparato il c++: scrivere un programma che critti/decritti le frasi.
infatti cercando su internet lessi qualcosa sul c++ e cosi iniziai a impararlo. ora pero sto incontrando diverse difficolta e mi servirebbe il vostro aiuto. al momento ho 'solo' due problemi: 1)come faccio a prendere i caratteri da un cin uno alla volta? 2)come faccio a modificare i caratteri di una stringa uno alla volta, modificarli e rimetterli al loro posto nella stringa? grazie in anticipo |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 392
|
se ho ben capito quello che devi fare, ti conviene usare un array di char (che tecnicamente non e' molto diverso da una stringa, anzi): fai un ciclo e cosi' prendi da cin un carattere alla volta, idem quando devi modificarli.
__________________
lol wut |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
grazie.
poi anziche fare il while faccio un for, giusto? ah un'altra cosa: come faccio a prendere il cin e metterlo in questo array di caratteri? Ultima modifica di AngeL) : 05-07-2006 alle 22:12. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
se ti posso consigliare leggiti thinking in c++
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
lo sto leggendo ma non vado oltre la fine del capitolo 3 perche e complicato
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
mmmmmh... probabilmente allora prima ti servirebbe qualcosa tipo thinnking in c
se capisci discretamente l'inglese è decisamente ben fatto ciao! |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
l'inglese lo conosco abbastanza bene ma il C non mi piace
il mio problema è che non riesco a capire classi e strutture |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
anzi io le leverei ... C e C++ sarebbero piú semplici cosí
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
Quote:
edit: non mi serve piu, faccio inserire una parola per volta quando finisco (se ci riesco entro quest anno) posto il codice Ultima modifica di AngeL) : 06-07-2006 alle 09:15. |
|
|
|
|
|
|
#10 | ||
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
ancora ancora il C senza strutture potrebbe andare (da matti cmq) ma se levi le classi al C++ che ti rimane ??? Quote:
per cose del genere utilizzo ancora il C e neanche le scanf, di cui non mi fido. Se vuoi ti faccio una semplice funzioncina in C che fa quello che ti serve. Se invece vuoi usare le classi standard del C++ aspetta qualcun altro
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
||
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
Quote:
|
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
mi serve ancora aiuto..
qualcuno puo convertire questa Codice:
char* reverse (char *s)
{
int i, j, l;
char c;
for (i=0,l=strlen(s),j=l-1; i<l/2; c=s[i], s[i++]=s[j], s[j--]=c);
return s;
}
Codice:
void critt(char *v)
{
char *p;
for(int i=0;i<strlen(v);i++)
{
p=&v[i];
switch(*p)
{
case'A':
case 'a':
*p='k';
break;
case'B':
case 'b':
*p='c';
//ecc...
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
|
ho fatto tutto ma appena inserisco la prima parola si blocca tutto..
questa è la parte incriminata Codice:
do{
cout << "Inserire una parola alla volta, exit per uscire: ";
cin >> par;
if(par[0]!='e'&&par[1]!='x'&&par[2]!='i'&&par[3]!='t')
{
critt(par);
reverse(par);
cout << par;
}
}
while(par[0]!='e'&&par[1]!='x'&&par[2]!='i'&&par[3]!='t');
Codice:
void reverse (char *s)
{
int i, j, l;
char *c;
for (i=0,l=strlen(s),j=l-1; i<l/2;)
{
*c=s[i], s[i++]=s[j], s[j--]=*c;
}
}
Ultima modifica di AngeL) : 06-07-2006 alle 10:50. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:05.


















