S
Benutze am besten die C/C++ Tags fuer den Code, die haben auch Syntaxhighlighting.
Hab jetzt (erstmal) nur die main ueberflogen (grad nur Mittagspause in der Schule)
1. In der Regel deklariert man Variablen in C++ ab da wo man sie braucht (siehe deklaration von basis2 und summe)
cout<<""<<endl;
Wozu das "" wenn du eh ein endl machst??
const int max=10;
du verwendest max nur an einer Stelle, da kannst du die Zahl auch gleich hinschreiben ODER besser du schreibst diese Deklaration an eine leicht zu findende Stelle (und nicht direkt ueber die Stelle wo du sie brauchst) Dies steht ausnahmwesie im gegensatz zu dem was ich unter 1 gesagt hat, weil du const int max nicht irgendwie ab dann brauchst sondern es eher verhindern soll, dass du sogenannte magic numbers verwendest)
do{
cout<<"Zahl eingeben"<<endl;
cin>>zahl;
daten[zaehler]=zahl;
zaehler++;
}
while(zaehler<=10);
Das kannst du in eine for Schleife umwandeln. Ausserdem WENN du schon cont int max degfinierst um nicht 10 schreiben zu muessen solltest du die Variable auch hier verwenden.
summe=summe+0;
Also, das ist sinnfrei. Das else kannst du da gleich weglassen.
return summe;
Hmm, nee... return ist fuer den Rueckgabewert von Funktionen gedacht. Keine Ahnung was du jetzt damit machen wolltest.
summe=summe+zahl*basis^i;
Solltest du basis hoch i meinen dann ist das falsch! ^ ist in C++ NICHT fuer exponente gedacht!! Ausserdem meinst meienr Meinung nach nicht zahl sondern daten[i], oder?
char itoa(summe,char *daten[zaehler],basis2); HIER GIBT FEHLERMELDUNG WEGEN CHAR
Logisch, nee? siehe:
int daten[max]={0};
Du hast ein int array und ploetlich deklarierst du das neu als char*. Falls du aus dem int array ein char array machen wollen muesstest du casten.
for(int i=0;i<zaehler;i++)
ebenso, hier solltest du wieder dein max verwenden.
Den Rest wird sich, ebvor ich wieder schreiben kann, wohl sowieso schon ein anderer angesehen haben.
PS: ich bin selbst noch Anfaenger, denke aber, dass das soweit alles stimmt.