Einführung in Visual C++

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

der Universität Oldenburg
Strukturen in C Spelz, Sievers, Bethke.
1 Funktionstemplates Einbinden von Templates: –Eine *.o Datei, die durch Übersetzen einer Datei nur mit Templates erzeugt wurde, enthält keinen Programmcode.
Objektorientierte Programmierung
Funktionen und Module Einführung anhand des Beispiels Wörter sortieren Timm Grams Fachhochschule Fulda Fachbereich Elektrotechnik und Informationstechnik.
C Tutorium – Fehlerbehandlung – Knut Stolze. 2 Grundsatz Also ist auch nach jedem Funktionsaufruf auf Fehler zu prüfen!! Jeder(!) Funktionsaufruf kann.
Einführung Blue J.
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
Dynamischer Speicher und Struktur
Der Präprozessor. Bevor der Compiler das Programm in Maschinencode übersetzt (nur dieser kann von der CPU, dem Herz des Computers, bearbeitet werden)
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Imperative Programmierung Funktionen und Parameter
By Monika Krolak & Christian Meschke
Excel Kurs Teil I Excel starten, Verknüpfungen auf dem Desktop anlegen. F. Bäumer.
Objektorientierte Programmierung
Concurrent Versions System
Batch-Programmierung Grundlagen
Der C-Präprozessor EDV1 - 04Präprozessor.
EDV1 - Komplexe Datentypen
14StrukturKlasse1 Von der Struktur zur Klasse von C zu C++ Von Jens Hoffmann
Portierung von Java nach C
Arrays,Strings&Pointer in C/C++
Der C-Präprozessor 08-CPräprozessor.
DVG Klassen und Objekte
Arbeiten mit Konstanten in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow CONST.
Programmieren mit MS Small Basic
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Simple Programmierung
Java ohne Kara. Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen.
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
Programmieren in C Zeichen-/Stringfunktionen Dynamischer Speicher
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Dateien Datei = File (engl.) Mögliche Inhalte einer Datei
13. Grundlagen des Seriendrucks
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Einführung in die Programmiersprache C 4
MMIX-Edit Felix Albrecht.
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Programmierung 1. Einführung Seite 1
Interpreter & Compiler
Einführung. Steuerelemente Hier erstellt man das Fenster, mit dem der Anwender später arbeiten soll: Werte eingibt Buttons klickt Auswahlen trifft.
Programmieren in C Grundlagen C 5
Informatik Grundlagen, WS04, Seminar 7
ICT – Modul Textverarbeitung
Programmieren ... in C++ Prof. Dr.-Ing. Franz-Josef Behr, HfT Stuttgart Programmeiren I.
Anna Steinke‌ WG13 ‌‌‌ Köln, Wie sichere ich meine Daten? Wie mache ich meinen PC sicher?
A) Erklären Sie den Datentyp char. b) Erklären Sie den Datentyp Struct c) Erklären Sie die Wirkungsweise des Operators & bei Anwendung im Zusammenhang.
Einführung Blue J. Inhaltsverzeichnis  Definition  Vokabeln.
2 Datenabstraktion Geheimnisprinzip:
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Funktionen, Felder und Parameter- übergabe. Funktionsaufruf mit Feld als Parameter: Parameter = Name des Feldes.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Anforderungen an die neue Datenstruktur
Aufgaben zu Rückgabewerten
Einführung in die Programmierung
 Präsentation transkript:

Einführung in Visual C++ EDV1 - Visual C++

Allgemeines Visual C++ ist integriert in VisualStudio VisualStudio ist eine Oberfläche, die die Entwicklung, Testung und Pflege von Softwareprojekten unterstützt. Intelligenter Editor Projektunterstützung Leistungsfähiger Debugger Leistungsfähiger Profiler Für VisualStudio sind viele Compiler vorhanden. Z.B.: C++ J++ Visual Basic FoxPro InterDev (Internet-Applikationen) Fortran (von Digital Equipment) EDV1 - Visual C++

Einheitliche Oberfläche für viele Sprachen Intelligente Assistenten Vorteile: Einheitliche Oberfläche für viele Sprachen Intelligente Assistenten Leistungsfähiger Editor Integration verschiedener Sprachen in einem Projekt Projektunterstützung (make-Funktion) Umfangreiche Debug-Möglichkeiten Umfangreiche Profiler-Möglichkeiten Nachteile: Assistenten erzeugen Texte, die viele Microsoft/Windows-spezifische Anteile Enthalten  geringere Portabilität. Automatisch generierte Texte sind schwer durchschaubar und sind daher schwer zu modifizieren. EDV1 - Visual C++

Starten von Visual C++ Start Programme  Microsoft Visual Studio 6.0 Visual C++ 6.0 Datei Neu Projekte Win32Konsolanwendung Pfad auswählen in dem das Projekt gespeichert werden soll Projektname eintragen OK ‚Eine „Hallo, Welt“-Anwendung erstellen‘ auswählen Es wird ein Projekt erstellt, das das fertige „Hallo, Welt“-Programm enthält. „!“ drücken Alle Programme werden übersetzt, gelinkt und in einem DOS-Fenster abgearbeitet. EDV1 - Visual C++

Teile des VisualStudio-Fensters Links: Anzeige des offenen Projektes Karten: Klassen: zeigt die logische Struktur des Projektes Dateien: zeigt die Dateistruktur des Projektes Ressourcen: zeigt allgemeine Ressourcen, wie z.B. Zeichenketten, Grafiken u.s.w. Rechts: Bearbeitung von Inhalten (Quelltexte, Grafiken, Steuerelement u.s.w.) Unten: Mitteilungsfenster EDV1 - Visual C++

EDV1 - Visual C++

Beispiel für Strukturen Es soll eine Struktur entwickelt werden, die Personendaten (Name, Adresse, Geburtsdatum) speichert und zugreifbar macht. Die Bestandteile sind wiederum Strukturen: Name: Anrede, Vorname, Nachname Adresse: Strasse, Postleitzahl, Ort Geburtsdatum: Tag, Monat, Jahr Bestandteile der Strukturen sind Zeichenketten bzw. int-Variable Zeichenketten können beliebig lang sein. Alternative: Es werden maximale Längen festgelegt. Nachteil: Es wird oft zu viel oder zu wenig Speicherplatz belegt. Es ist günstig für jede der benötigten Strukturen einen eigenen Modul zu definieren (analog Klassen in JAVA). Um Implementierung und Definition voneinander trennen zu können benutzt man header-Dateien. EDV1 - Visual C++

Header-Datei Enthält die nach außen sichtbaren Definitionen: Datentypen, Prozedurköpfe, Macros. Z.B.: datum.h #ifndef _P_DATUM #define _P_DATUM struct datum_struct { int tag; int monat; int jahr; }; typedef struct datum_struct datum; datum create_datum(int tag, int monat, int jahr); void destroy_datum(datum d); int datum_toString(char *buffer, int len, datum d); #endif // _P_DATUM EDV1 - Visual C++

CPP-Datei Enthält die Implementierung der Prozeduren. Z.B.: datum.cpp #include "stdafx.h" datum create_datum(int tag, int monat, int jahr) { datum d={tag,monat,jahr}; return d; } void destroy_datum(datum d){} int datum_toString(char *buffer, int len, datum d) if (11>len) return 1; sprintf(buffer,"%2u.%2u.%4u",d.tag,d.monat,d.jahr); return 0; EDV1 - Visual C++

Stdafx.h Diese Datei kann benutzt, werden um include-Dateien nur in einer Datei angeben zu müssen. ... #include <stdio.h> #include <stdlib.h> #include <string.h> #include "datum.h" #include "adresse.h" #include "name.h" #include "person.h" EDV1 - Visual C++

Adress-Struktur adresse.h #ifndef _P_ADRESSE #define _P_ADRESSE struct adresse_struct { char *strasse; int plz; char *ort; }; typedef struct adresse_struct adresse; adresse create_adresse(char *strasse, int plz, char *ort); void destroy_adresse(adresse a); int adresse_toString(char *buffer, int len, adresse a); #endif // _P_ADRESSE EDV1 - Visual C++

adresse create_adresse(char *strasse, int plz, char *ort) { adresse a; adresse.cpp #include "stdafx.h" adresse create_adresse(char *strasse, int plz, char *ort) { adresse a; a.strasse=(char *)malloc(strlen(strasse)+1); strcpy(a.strasse,strasse); a.plz=plz; a.ort=(char *)malloc(strlen(ort)+1); strcpy(a.ort,ort); return a; } void destroy_adresse(adresse a) free(a.strasse); free(a.ort); EDV1 - Visual C++

int adresse_toString(char *buffer, int len, adresse a) { char b[20]; l=strlen(a.strasse)+1; if (l>len) return 1; strcpy(buffer,a.strasse); l++; if (l>len) return 2; strcat(buffer,"\n"); sprintf(b,"%u",a.plz); l+=strlen(b); if (l>len) return 3; strcat(buffer,b); l++; if (l>len) return 4; strcat(buffer," "); l+=strlen(a.ort); if (l>len) return 5; strcat(buffer,a.ort); return 0; } EDV1 - Visual C++

Mit VisualStudio Debuggen Debuggen ist das Entfernen von Bugs aus Programmen. Häufige Fehler sind z.B.: Fehlerhafte Tests (< statt <= ...) Syntaktische Fehler (= statt ==, fehlende break-Anweisung) Fehlerhafte Indizes Schreiben über das Ende des Feldes oder der Zeichenkette. Negative Indizes bei Feldern. Fehlen des 0-Zeichens am Ende von Zeichenketten. Fehlerhafte Parameter beim Aufruf von Prozeduren. EDV1 - Visual C++

Kommandos im Debug-Modus Erneut [im Debug-Modus] starten (Ctrl+Shift+F5) Debug beenden (Shift+F5) Ausführung anhalten Code-Änderung zuweisen (Alt+F10) Nächste Anweisung anzeigen (Alt+Num*) In Aufruf springen (F11) Aufruf als ein Schritt (F10) Ausführen bis Rücksprung (Shift+F11) Ausführen bis Cursor (Alt+F10) Schnellüberwachung (Shift+F9) Es können verschiedene Fenster für unterschiwdliche Anzeigen geöffnet werden. EDV1 - Visual C++

Profilen Profilen dient der Optimierung von Programmen. Es können z.B. folgende Fragen beantwortet wird: Welche Module werden wirklich benötigt? Welche Anweisungen werden abgearbeitet? Welche Module verbrauchen am meisten Rechenzeit? In weichen Abschnitten wird am meisten Rechenzeit verbraucht? EDV1 - Visual C++