Korrektur des Codes
-
Hallo,
könnt ihr mir helfen den Code zu korrigieren? Ich erhalte immer sehr viele Fehlermeldungen und weiß nicht genau was ich noch machen soll.
Danke.
#include <stdio.h> int main () { int n; int numberToText(n); char *firstTwenty[n]={"null","eins","zwei","drei","vier","fünf","sechs","sieben","acht","neun","zehn","elf","zwölf","dreizehn","vierzehn","fünfzehn","sechzehn","siebzehn","achtzehn","neunzehn"}; char *zehner[n]={"zwanzig","dreißig","vierzig","fünfzig","sechzig","siebzig","achtzig","neunzig"}; printf("Bitte Nummer eingeben: "); scanf("%d", &numberToText); if (n<0) {return "minus " +numberToText(abs(n)); } if (n<20)return firstTwenty[n]; if (n<100) { if (n%10==0)return zehner[n/10-2]; if (n%10==1)return "einund"+numberToText(n/10*10); return numberToText(n%10)+"und"+numberToText(n/10*10); } if (n<1000) { if (n==100)return "hundert"; if (n%100==0)return numberToText(n/100)+"hundert"; if (n/100==1)return "einhundert"+numberToText(n%100); return numberToText(n/100)+"hundert"+numberToText(n%100); } if (n<1000000) { int t=n/1000; int r=n%1000; std::string str; if (t>1)str=numberToText(t); str+="tausend"; if (r>0)str+=numberToText(r); return str; } return "kann ich nicht"; }
-
Das hast du schön abgeschrieben. Leider hast du es nicht verstanden, was wohl eigentlich Sinn dieser Aufgabe gewesen wäre.
Die abgeschriebene Funktion muss vor deine main-Funktion, nicht mittenrein.
-
fang nochmal von vorn an, mit einer einfachen variablendeklaration.
dann erweitere deinen code schritt für shit, kompiliere, lies die fehlermeldungen deines kompilers und lerne sie zu beseitigen.
lies nach, wie die syntax einer arraydeklaration lautet und wie dei klammern auzusehen haben.
in einer nicht initialisierten variable stehen undefinierte werte die negativ sein können, was wohl passiert wenn man so ein n für die deklration eines arrays vewendet?
das waren zusammenfassend die fehler der ersten beiden zeilen, es gibt noch einiges zu tun...
-
MMueller schrieb:
könnt ihr mir helfen den Code zu korrigieren? Ich erhalte immer sehr viele Fehlermeldungen und weiß nicht genau was ich noch machen soll.
Versuch die Fehlermeldung zu verstehen. Wenn du kein Handbuch/Hilfe dafür hast, veruch den Google-Überstzer oder Babelfish.
Da du keine Fehlermeldungen angegeben hast kann man nur raten.
#include <stdio.h> int main () { int n; int numberToText(n); // Was soll das sein? EIne Funktionsdeklaration gehört vor main. // Ein Array hat eckige Klammern. char *firstTwenty[n]={....}; // welchen Wert hat n an dieser Stelle ? char *zehner[n]={....}; // Und hier. Wie groß wird dann das Array? printf("Bitte Nummer eingeben: "); scanf("%d", &numberToText); // Was ist numberToText eigentlich? Eine Variable? if (n<0) // Welchen Wert hat n an dieser Stelle? {return "minus " +numberToText(abs(n)); // Was ist numberToText eigentlich? Eine Funktion? Wo ist abs() deklariert? } ... }