Helpdesk
Menschen Wissenschaft Politik Mystery Kriminalfälle Spiritualität Verschwörungen Technologie Ufologie Natur Umfragen Unterhaltung
weitere Rubriken
PhilosophieTräumeOrteEsoterikLiteraturAstronomieHelpdeskGruppenGamingFilmeMusikClashVerbesserungenAllmysteryEnglish
Diskussions-Übersichten
BesuchtTeilgenommenAlleNeueGeschlossenLesenswertSchlüsselwörter
Schiebe oft benutzte Tabs in die Navigationsleiste (zurücksetzen).

Bin ich gut oder schlecht im Programmieren?

17 Beiträge ▪ Schlüsselwörter: GUT, Schlecht, Programmieren ▪ Abonnieren: Feed E-Mail
Seite 1 von 1
Satansdrache Diskussionsleiter
ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Bin ich gut oder schlecht im Programmieren?

20.09.2014 um 00:58
Ich programmiere im Informatik-Unterricht (2 Stunden pro Woche, entfällt hin und wieder) in der Programmiersprache C++. Ich bin noch Anfänger und weiß nicht ob ich gut oder schlecht im Programmieren bin. Mein Informatiklehrer sagt, dass ich gut bin. Es ist nur so: An einem Programm bin ich 3 Monate lang gesessen (2 Stunden/Woche) und es war immer falsch. Das nächste Programm hab ich in 5 Minuten runtergetippt und alles war richtig.

Letzte Woche hab ich ein Programm angefangen, welches das kleine Einmaleins ausgeben soll, wenn man es startet. Ich hab Fehler gemacht, war schlecht drauf usw. Heute ging es mir besser und es gibt wirklich das kleine Einmaleins aus (zwei verschachtelte Schleifen nötig). Es gibt nur einen winzig kleinen Bug: Das Programm gibt zum Schluss noch 1*11=11 aus, obwohl es bei 10*10=100 aufhören sollte. Den will ich noch beheben.

Das ist der Code von dem Programm, das ich nie geschafft habe (der Code ist falsch!):

#include<iostream>;
using namespace std;
void main(){
int a, b, c, d = a-1;
do{b=1;
cout << "Bitte geben Sie eine natuerliche Zahl von 0 bis 100 ein.";
cin >> a;
if (a < 0 || a > 100){
cout << "Error";
}
if (a == 1){
cout << 1;
}
if (a >= 2 && a <= 100){
//z.B.:4=1+3+5+7=(1+(0*2))+(1+(1*2))+(1+(2*2))+(1+(3*2))=4+(1*2)+(2*2)+(3*2)=4+2*(1+2+3):c=a+2*(a-1)!//
b = b+1;
d--;
c=a+2*b;
cout << "xxx";
cout << b;
}
}while(a != 0);
fflush stdin;
getchar();
}

Das ist der Code von dem Programm, das ich in 5 Minuten geschafft hab (Keine Bugs!):

#include <iostream>;
using namespace std;
void main(){
int x, y;
cout << "Bitte geben Sie eine natuerliche Zahl von 3 bis 100 ein.";
do{y=0;
cin >> x;
if (x < 3 || x > 100){
cout << "Error";
}
if (x > 2 && x < 101){
while (y < x){
y = y + 1;
cout << y;
cout << ",";
}
cout << "Bitte geben Sie eine natuerliche Zahl von 3 bis 100 ein.";
}}while (x != 0);
fflush stdin;
getchar();
}

Und das ist der Code des Einmaleins-Programms, das noch einen kleinen Bug hat:
#include<iostream>;
using namespace std;
void main(){
int a=0, b=1, c, d=10;
while (a < 11 && b < 11){ // Fehler: nach &&: "b < 11" verursacht Fehler: Ausgabe nach 10*10=100: 1*11=11;//
a=a+1;
if (a == 11){
b=b+1;
a=a-d;
}
c=a*b;
cout << a;
cout << "*";
cout << b;
cout << "=";
cout << c;
cout << " ";
}
fflush stdin;
getchar();
}

Bin ich jetzt gut oder schlecht im Programmieren? Ich will nämlich Spieleprogrammierer werden, aber wenn ich zu schlecht bin, sollte ich besser nicht mit dem Studium anfangen...


3x zitiertmelden

Bin ich gut oder schlecht im Programmieren?

20.09.2014 um 10:10
das ist schon etwas dürftig....
Aber, wenn es dir Spaß macht, dann programmiere einfach öfter als nur 2h/Woche. Dann wird das schon.

Deine Schleife mit deinem Bug:

while (a < 11 && b < 11){
a=a+1; <=====HIER KOMMT DEINE 11 HER
if (a == 11){ <==== kannst du weglassen
b=b+1;
a=a-d;
}
c=a*b;
cout << a;
cout << "*";
cout << b;
cout << "=";
cout << c;
cout << " ";
}

Deine Abbruchbedingung solle eigentlich so lauten (a <= 10 && b <= 10)


melden

Bin ich gut oder schlecht im Programmieren?

20.09.2014 um 16:27
@Satansdrache

Die Frage ist nicht, ob du jetzt gut oder schlecht bist, sondern wie viel spass es dir macht und wie sehr du dich dafür begeistern kannst. Jeder Programmierer hat mal mit so einfachen schleifen angefangen. Die meisten (spiele)programmierer haben aber in deinem alter vermutlich schon eigene spiele und programme entwickelt. Die ich so kenne machen das aus passion. Wenn die einen bug haben, dann wird auch mal eine nacht dran gearbeitet bis es läuft und nicht nur 2h pro woche.


melden

Bin ich gut oder schlecht im Programmieren?

20.09.2014 um 16:51
Die Frage kannst du selbst am Besten beantworten, wenn du auf ein konkretes Problem eine Lösung programmieren musst und wie hoch dabei Dein Zeitaufwand ist bzw. wie sehr du auf Hilfe angewiesen bist.
Entscheidend ist Dein Ehrgeiz besser zu werden.


melden
Satansdrache Diskussionsleiter
ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Bin ich gut oder schlecht im Programmieren?

21.09.2014 um 02:48
@stbase

Danke für den Hinweis, werd ich ausprobieren.


melden

Bin ich gut oder schlecht im Programmieren?

21.09.2014 um 14:55
Programmieren ist keine Kunst, programmieren ist eine Wissenschaft, auch wenn es häufig umgekehrt formuliert wird.
Lese Bücher über Algorithmen, es gibt für viele Problemklassen bereits optimale Lösungsverfahren.
Dein Compiler kann auch einiges optimieren, diese Option ist allerdings manchmal, je nach Compiler, nicht aktiviert.
Jeder Entwicklungsschritt kann mathematisch formalisiert werden, von der Planung, zur Implementierung bis hin zur Sicherheitsüberprüfung.


melden
Bodo ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Bin ich gut oder schlecht im Programmieren?

22.09.2014 um 10:41
Zitat von SatansdracheSatansdrache schrieb:int a, b, c, d = a-1;
a hat keinen wert, d wird von dem "keinen wert" eins abgezogen. Da ist die erste Zeile schon mal total Banane und ein Anfängerfehler :|

Wie ist die genaue Aufgabenstellung zum ersten Beispiel?

EDIT:
Zitat von SatansdracheSatansdrache schrieb:cout << 1;
:ask:

EDIT2:
Nimm sprechende Variablen, keine a oder b oder x oder y. Du wirst das in ein paar Jahren verstehen, wenn du zB die Variable i in 12.000 Zeilen Programmcode suchen musst :D


melden

Bin ich gut oder schlecht im Programmieren?

22.09.2014 um 11:01
Du solltest den Eingangspost besser formatieren, also v.a. die C-styled lang-typischen Einrückungen verwenden.
Dazu kannst Du im Allmy-Editor den pre-Tag verwenden


#include; [I]using namespace std;[/I] void main(){ int a, b, c, d = a-1; do{ b=1; cout << "Bitte geben Sie eine natuerliche Zahl von 0 bis 100 ein."; cin >> a; if (a < 0 || a > 100){ cout << "Error"; } if (a == 1){ cout << 1; } if (a >= 2 && a <= 100){ //z.B.:4=1+3+5+7=(1+(0*2))+(1+(1*2))+(1+(2*2))+(1+(3*2))=4+(1*2)+(2*2)+(3*2)=4+2*(1+2+3):c=a+2*(a-1)!// b = b+1; d--; c=a+2*b; cout << "xxx"; cout << b; } }while(a != 0); fflush stdin; getchar(); } Das ist der Code von dem Programm, das ich in 5 Minuten geschafft hab (Keine Bugs!): #include ; [I]using namespace std;[/I] void main(){ int x, y; cout << "Bitte geben Sie eine natuerliche Zahl von 3 bis 100 ein."; do{ y=0; cin >> x; if (x < 3 || x > 100){ cout << "Error"; } if (x > 2 && x < 101){ while (y < x){ y = y + 1; cout << y; cout << ","; } cout << "Bitte geben Sie eine natuerliche Zahl von 3 bis 100 ein."; }}while (x != 0); fflush stdin; getchar(); } //Und das ist der Code des Einmaleins-Programms, das noch einen kleinen Bug hat: #include; [I]using namespace std;[/I] void main(){ int a=0, b=1, c, d=10; while (a < 11 && b < 11){ // Fehler: nach &&: "b < 11" verursacht Fehler: Ausgabe nach 10*10=100: 1*11=11;// a=a+1; if (a == 11){ b=b+1; a=a-d; } c=a*b; cout << a; cout << "*"; cout << b; cout << "="; cout << c; cout << " "; } fflush stdin; getchar(); }


melden

Bin ich gut oder schlecht im Programmieren?

22.09.2014 um 11:09
Bei Error würd ich ein "continue" in die Schleife einbauen,
du willst ja nixht mit der fehleingabe weiterrechnen


do { b=1; cout << "Bitte gib eine natuerliche Zahl von 0 bis 100 ein."; cin >> a; if (a < 0 || a > 100){ cout << "Error"; [I][B]continue;[/B][/I] } / * ... * / }


melden

Bin ich gut oder schlecht im Programmieren?

22.09.2014 um 11:42
Zitat von SatansdracheSatansdrache schrieb:. Es gibt nur einen winzig kleinen Bug: Das Programm gibt zum Schluss noch 1*11=11 aus, obwohl es bei 10*10=100 aufhören sollte. Den will ich noch beheben.
Das liegt daran, dass du nach der while Bedingung (a < 11) a nochmal hochzählst (inkrementierst)
von 10 auf 11 und dann wenn a == 11 ist b hochzählst, von 10 auf 11 und a auf 1 setzt also 1*11

Ich würd das Inkrement am Ende der Scheilfe machen dann klappts

void main(){ int a=1, b=1, c; while (b < 11){ c=a*b; cout << a; cout << "*"; cout << b; cout << "="; cout << c; cout << " "; a++; // ==> a=a+1; if (a == 11){ b++; a = 1; // d brauchst du gar nicht. } } fflush stdin; getchar(); }


Das kleine Einmal-Eins (1 x 1 bis 10 x 10) würd ich plump und straight-forward durch zwei for-schleifen abbilden:

[code]
int a, b, c;
for (a = 1; a < 11; a++)
{
for (b = 1; b < 11; b++)
{
c = a * b;
cout << a;
cout << "*";
cout << b;
cout << "=";
cout << c;
cout << " ";
}
}
[code]


melden
Bodo ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Bin ich gut oder schlecht im Programmieren?

22.09.2014 um 11:55
@z3001x
Noch ein bisschen vereinfachen und wir können auf ein Bier gehen :D

int a, b; for (a = 1; a < 11; a++) { for (b = 1; b < 11; b++) { cout << a << " * " << b << " = " << a*b << "\n"; } }


melden

Bin ich gut oder schlecht im Programmieren?

22.09.2014 um 12:21
@Bodo
Jap so ists optimiert. C++ ist bei mir lange her, bin mehr so ein C#-Fritze :)
Aber sehr gute Idee, so ein code-review beim Bier :D


melden

Bin ich gut oder schlecht im Programmieren?

22.09.2014 um 12:22
@Satansdrache

,,Gut" oder ,,schlecht" ist relativ.

Vor allem lernt man mit der Zeit und wird immer besser und aufmerksamer. Nur von ein paar kleinen Versuchen kannst du noch nicht ermessen, wie gut oder wie schlecht du bist.

Einfach mal einige Zeit üben und gucken, wie es läuft, dann weisst du mehr. Vieles ist auch ganz einfach Fleissarbeit und Konzentrationssache, man muss nicht immer phantasievolle Funktionen selbst schaffen. Es ist auch eine Leistung, auf Kleinigkeiten zu achten oder Codes von anderen auf Fehler zu untersuchen.


melden

Bin ich gut oder schlecht im Programmieren?

22.09.2014 um 22:40
@Satansdrache
Programmieren lernt man meiner Meinung nach am besten durch learning by doing. Alles eine Frage wie viel Zeit man investieren möchte. Ich habe auf der Arbeit (neben 4 Stunden Java in der Berufsschule) mit VBA angefangen. Dann arbeitet man sich langsam hoch zu .NET Anwendungen mit SQL Anbindung und inzwischen mache ich viel in Objective-C für Mac und iOS.

Anfangs habe ich zum Beispiel einfach in excel mit Makros Ordnerstrukturen ausgelesen um eine Tabelle meiner Filme zu haben. Später kleine Tools um über SSH versteckte Netzlaufwerke meines NAS zu mounten. Auf der Arbeit Datenbanken mit .Net Oberfläche um schnellen Überblick über große Datenmengen zu bekommen. Das ganze wurde dann irgendwann mit multithreading verbessert und so kam viel zusammen. Alles um tägliche arbeiten zu vereinfachen.

Ich stöber oft durch Foren und sehe Probleme von Usern, die mich selbst auch betreffen, und denke mir: das kann man mit einem kleinen Programme alles vereinfachen.
So hilft man sich selbst und vielen anderen.

Und auch wenn ein sauberer kommentierter Code beruflich und für Schule wichtig ist, verfällt man gerade bei so kleinen privaten Dingen in das Quick & Dirty Schema. Wenn das Projekt dann wächst, kann das dann schon nervig werden.

Immer wenn du alltägliche Aufgaben hast, die unnötig kompliziert und zeitfressend sind, versuch sie zu automatisieren.

Da ist es keine Schande, wenn man mal öfters auf Stackoverflow Hilfe sucht. Solange man nicht nur stumpf kopiert sondern sich anguckt, was der gefundene Code macht. Man lernt so oft so viel dazu, das man später brauchen kann, oder womit man alte Projekte verbessern kann.

Also ransetzen und machen. Ich habe auch schon oft Wochenenden in Visual Studio oder Xcode verbracht, aber dadurch entwickelt man sich weiter. Wenn das Interesse da ist, kommt das können irgendwann von alleine.


1x verlinktmelden
AnGSt ehemaliges Mitglied

Link kopieren
Lesezeichen setzen

Bin ich gut oder schlecht im Programmieren?

23.07.2015 um 13:14
Ich hab in jahrelanger gelegentlicher Arbeit ein GUI-Toolkit geschrieben, in Assembler. Alles selbst gelernt, kein Unterricht.

fs-uae-full-1507231312-01


melden

Bin ich gut oder schlecht im Programmieren?

26.07.2015 um 22:29
Zitat von SatansdracheSatansdrache schrieb am 20.09.2014:2 Stunden pro Woche, entfällt hin und wieder
Versuchs mit Gipser, oder Fleischereifachverkäufer. Im ersten Fall brauchste nicht viel Engagment und kannste trotzdem mit Schwarzarbeit viel Verdienen, im zweiten Fall kannste den ganzen Tag Leute anschnauzen und arbeitest nur 9to5.

Falls dui Progra,mmier werden willst sollte das nicht "2h die Woche" stehen sondern sowas wie "bin 14 und habe seit 3 Tage nicht geschlafen weil ich an nem Bug hänge".


Aber die Antwort hat eigentlich nichts mit dem Programmieren zu tun, sondern mit dem "Gut sein Wollen". Wer in seiner Sache gut sein will braucht Engagment, egal was das für ne Sache ist. Und 2h die Woche ist das Gegenteil von Engagment, da kann nur Scheiße dabei raus kommen.

Ansonsten RTFM und versuchs noch mal.


1x zitiertmelden

Bin ich gut oder schlecht im Programmieren?

29.07.2015 um 02:38
@UffTaTa
Zitat von UffTaTaUffTaTa schrieb:Falls dui Progra,mmier werden willst sollte das nicht "2h die Woche" stehen sondern sowas wie "bin 14 und habe seit 3 Tage nicht geschlafen weil ich an nem Bug hänge".
Oder ich hab mein PC erschossen weil ich am 4 Tag ausgeflippt bin.

Ich arbeite an eine Prgramm mit dem ich meine PC fernsteuern kann ( Das Programm ist auf der PS Vita )
Die verbindung ist verschlüsselt und ab und zu gab / gibt es fehler !
Es werden immer 4 - 32 BYTE verschluckt und ich weiss nicht warum.

-> Fehler ist nicht reproduzierbar
-> Bei Test File´s kommt es in 2-7% zu diesem fehler
-> Es hat nichts mit der Uhrzeit / Datum / Ram zu tun
-> Ohne verschlüsselung kommt es auch zu diesen fehler
-> Es kommt auch zu dem Fehler ohne MD5 Hash & CRC checksum berechnung
-> Alle Buffer sind Dynamisch
[+1]( 1. Rohdaten Buffer, 2. verschlüsseltedatenBuffer, 3. SendeBuffer )


Ach ja:
[+1] -> byte[]
Und bei Zahlen wird "double" genutzt !

Bei sowas kommt laune auf ....


@Satansdrache
Ich würde dir zu C# empfehlen es ist sehr leicht zu lernen und es funzt auf "fast jeden System" ;)


melden

Ähnliche Diskussionen
Themen
Beiträge
Letzte Antwort
Helpdesk: Programmieren: Hilfe & Austausch
Helpdesk, 920 Beiträge, am 16.03.2024 von THX1138
accrec am 13.04.2011, Seite: 1 2 3 4 ... 43 44 45 46
920
am 16.03.2024 »
Helpdesk: Powershell Interaktive Ein-Ausgabe
Helpdesk, 5 Beiträge, am 11.02.2016 von kokablue
neverbesuccess am 31.12.2015
5
am 11.02.2016 »
Helpdesk: Sourcecode kompilieren zu .jar Datein
Helpdesk, 5 Beiträge, am 01.05.2023 von Dancingfool
NordicStorm am 30.04.2023
5
am 01.05.2023 »
Helpdesk: Auftrag: Kurze Animation erstellen
Helpdesk, 3 Beiträge, am 08.10.2023 von anonymus88
RalfWitsker am 03.10.2023
3
am 08.10.2023 »
Helpdesk: Wie kann man in Notepad++ Zufallszahlen erstellen?
Helpdesk, 18 Beiträge, am 19.03.2017 von Tiho
Sascha81 am 14.03.2017
18
am 19.03.2017 »
von Tiho