Vc++, string in int 'codieren'

hallo
ich versuche einen string bestehend aus 6 buchstaben zu einer zahlenfolge zu codieren.
dabei soll di jeweilige zahl die aus dem aplhabet sein + 10
also zb
a= 1 +10 =11
b= 2 +10=12

z=26+10=36

dazu habe ich mir schon ein paar gedanken gemacht, klappt allerdings nicht

wenn er versucht den namen zu einer zahl zu codieren, springt er im vba ausm code und sagt: zu komplex
wenn er versucht die zahl zurückzu codieren (selbst eingestetzt stürzt das vba prog ab

hier der code:

int ziffernfolge( char *name)
{
alphabet=„aaaaaaaaaaabcdefghijklmnopqrstuvwxyz“;
ziffern=0;
for (j=10;j

hallo

wenn er versucht den namen zu einer zahl zu codieren, springt
er im vba ausm code und sagt: zu komplex

Hallo,

hier läufst Du in das Problem hinein, dass
ein int nur bis 2 hoch 31 geht, 100 hoch 5
ist da eine zu große Zahl, die nicht in einen int hineinpasst.

Statt „pow“ ist es einfacher die Ziffer immer mit 37 (oder 100) zu multiplizieren und dann das neue Zeichen drauf zu addieren.

Hier noch ein schmutziger C+±Trick:

char *text=„hallo“;
int ziffer = text[0] - ‚a‘ + 11; // ergibt 18

wenn er versucht die zahl zurückzu codieren (selbst
eingestetzt stürzt das vba prog ab

Hast Du für char * name Speicher reserviert,
also name = new char[6+1]; ?

name[6]=0 nicht vergessen :smile:

Es könnte auch sein, dass j zu groß ist für alphabet[j],
am besten mal einen Breakpoint (Haltepunkt) setzen und den Wert von j anschauen.

Viele Grüße
Thorsten

hier der code:

int ziffernfolge( char *name)
{
alphabet=„aaaaaaaaaaabcdefghijklmnopqrstuvwxyz“;
ziffern=0;
for (j=10;j