Strömmar och strängar
|
|
- Henrik Eriksson
- för 6 år sedan
- Visningar:
Transkript
1 Strömmar och strängar Strömmar In- och utmatning Strängar Delsträngar Strömmar och strängar Först, grunderna: Utmatning Inmatning Strängar Sedan, mer tillämpningsorienterat: Läsning av rader Stränghantering och delsträngar Att tjuvtitta 2D1458 Problemlösning och programmering under press Johnny Bigert Strömmar Exempel på strömmar: Utmatning #include <iostream> #include <iomanip> // innehåller std::cout // innehåller setw() std::cout << "Demo:" // utmatning av char * << std::setw(10) // sätt storlek på utmatning << 4711 // utmatning av int << std::endl; // radmatning std::cout << "Name\tPts\n" // rubriker << "Joe\t37\n" // '\t' är tabulatortecken << "Anna\t41\n"; // '\n' är radmatning Utmatning med std::cout, std::cerr, std::clog int i, j; std::cin >> i >> j; // hämta int från stdin 2D1458 Problemlösning och programmering under press Johnny Bigert D1387 Programsystemkonstruktion med C++ 1
2 Utmatning med cout, cerr Prefixet c står för character För utmatning används std::cout (skriver till stdout) För felutmatning och loggning använder man std::cerr resp. std::clog (skriver till stderr) Samtliga är globala objekt av typen std::ostream med överlagrad operator<< Utmatning med cout, cerr Den överlagrade operatorn << klarar samtliga inbyggda datatyper. std::string str = "C++"; const void *p = &str; char c = 'a'; std::cout << (int)c << " " // '97' (int) << 3.14 << " " // 3.14 (double) << str << " " // C++ (std::string) << str.c_str() << " " // C++ (const char *) << p << std::endl; // 0012FF60 (adress) std::cerr << "could not open file" // stderr << std::endl; 2D1458 Problemlösning och programmering under press Johnny Bigert D1458 Problemlösning och programmering under press Johnny Bigert Formatväljare för utmatning Man kan variera formatet på sin utmatning: Inmatning double balance = ; // pengar på kontot std::cout.precision(5); // använd fem värdesiffror std::cout << "Balance: " // rubrik << std::setw(10) // tio siffrors fält << std::setfill('*') // fyll tomrum med * << balance // utskrift ger resultat: << std::endl; // Balance: **** Inmatning från std::cin 2D1458 Problemlösning och programmering under press Johnny Bigert D1387 Programsystemkonstruktion med C++ 2
3 Inmatning med cin För inmatning från stdin använder man cin Typen på argumentet till operator>> bestämmer hur indata tolkas Inmatning med cin För att förhindra att man skriver utanför avsett minne kan man använda formatväljare för cin: // antag inmatning för ett bankkonto: // kalle qwerty std::string user, passwd; double balance; std::cin >> user >> passwd >> balance; if(passwd!= "qwerty") std::cout << "wrong password" << std::endl; else std::cout << "balance: " << balance << std::endl; char buf[10]; // läs 9 tecken + '\0' i varje varv while(std::cin >> std::setw(sizeof buf) >> buf) do_something(buf); 2D1458 Problemlösning och programmering under press Johnny Bigert D1458 Problemlösning och programmering under press Johnny Bigert Öppning Läsning Skrivning Accesstyper För att knyta en ström till en fil använder man en filström std::ifstream ger inmatning och tar ett filnamn som argument std::ofstream ger utmatning std::fstream ger en generell filström som klarar att både läsa och skriva 2D1458 Problemlösning och programmering under press Johnny Bigert D1387 Programsystemkonstruktion med C++ 3
4 #include <fstream> // ifstream, ofstream std::ifstream input("my_file.in"); // skapa infil std::ofstream output("my_file.out"); // skapa utfil // kontrollera att filerna gick att öppna if(!input) std::cout << "open failed for input file"; if(!output) std::cout << "open failed for output file"; std::vector<int> v; int i; input >> i; v.push_back(i); output << v.back() << std::endl; // hämta data // lägg i vektorn // skriv element 2D1458 Problemlösning och programmering under press Johnny Bigert Standardbiblioteket bidrar med en kraftfull strängklass std::string std::basic_string är en behållare som håller bokstäver såsom char eller wchar_t std::string är en typdefinition av std::basic_string<char> För minneseffektivitetens skull har de flesta implementationer infört referensräkning Exempel på stränganvändning: #include <string> std::string s("c++"); s += " is great!"; // skapa sträng // lägg till sträng std::cout << "True: " // använd c_str() för << s.c_str() << std::endl; // tillgång till data std::cout << "Predecessor: " // använd oper[] för << s[0] << std::endl; // tillgång till bokstav std::reverse(s.begin(), s.end()); // vänd på strängen std::cout << s << std::endl; 2D1458 Problemlösning och programmering under press Johnny Bigert D1458 Problemlösning och programmering under press Johnny Bigert D1387 Programsystemkonstruktion med C++ 4
5 Exempel på medlemsfunktioner: basic_string& operator+=(const basic_string& s) basic_string& insert(size_type pos, const basic_string& s) iterator erase(iterator first, iterator last) size_type find_first_of(const basic_string& s) bool empty() const size_type size() const Utmatning till / inmatning från minne Om man vill skriva till / från minnet kan man använda stringstream som skriver till / från en STL-sträng #include <stringstream> std::ostringstream message; // mata till minne int i = 17; double d = 33.3; message << "Error: " << i // fyll med data << " is less than " << d; std::cerr << message.str() << std::endl; // skriv ut std::istringstream source("to be or not to be"); std::string str; source >> str; // ett ord i taget 2D1458 Problemlösning och programmering under press Johnny Bigert D1458 Problemlösning och programmering under press Johnny Bigert Tillämpning Läsning av rader Stränghantering och delsträngar Att tjuvtitta Att läsa en hel rad // indata: // den där\tdt.utr.sin.def // denna\tdt.utr.sin.def // dessa\tdt.utr/neu.plu.def #include <iostream> #include <fstream> #include <string> std::ifstream is("in.txt"); std::string str; std::getline(is, str); // cout // ifstream // inström // resultatsträng // hämta en hel rad std::string::size_type pos = str.find('\t'); // hitta tab if(pos == std::string::npos) // hittade ej tab return 0; std::cout << "before tab: " << str.substr(0, pos) // position pos std::cout << "after tab: " << str.substr(pos + 1) // position pos+1...slut 2D1458 Problemlösning och programmering under press Johnny Bigert D1387 Programsystemkonstruktion med C++ 5
6 Tokenisering Tokenisering med whitespace som avskiljare sker automatiskt Till whitespace räknas tabulatortecken (tab), mellanslag och nyrad etc. Läs från inströmmen till en std::string och lägg i en vektor mha push_back() Tokenisering med godtycklig avskiljare // indata: // Far,får får får?nej,får får lamm. std::ifstream is("tokenize.txt"); // inström std::string str; // resultatsträng std::getline(is, str); // hämta en hel rad const char *delim = ",.!? "; // avdelare std::string::size_type old_pos = 0; std::string::size_type pos = str.find_first_of(delim); while(pos!= std::string::npos) // kolla förekomst std::cout << "token: " // klipp ut delsträng << str.substr(old_pos, pos - old_pos) << std::endl; old_pos = pos + 1; // hitta nästa pos = str.find_first_of(delim, old_pos); 2D1458 Problemlösning och programmering under press Johnny Bigert D1458 Problemlösning och programmering under press Johnny Bigert Att tjuvtitta // indata: poster avdelade med, avslut med # // // // 5 3 # #include <ctype.h> // isdigit std::ifstream is("peek.txt"); // inström std::vector<std::vector<int> > v(1); // behållare för data while(is) int c = is.peek(); // tjuvtitta på tecken if(c == '#') break; else if(isdigit(c)) int i; // temporär is >> i; // hämta data v.back().push_back(i); // lägg sist i behållare else if(c == ' ') // ny post, ny behållare v.push_back(std::vector<int>()); char t; // temporär för skräp is.get(t); // kasta bort skräp Formatering av utmatning Ibland kan höger- och vänsterjustering visa sig nyttigt: // utmatning: // hello there 1 // hello there 2 std::cout << std::setw(10) << std::right // högerställ << "hello" << " there " << 1 << std::endl; std::cout << std::setw(10) << std::left // vänsterställ << "hello" << " there " << 2 << std::endl; 2D1458 Problemlösning och programmering under press Johnny Bigert D1458 Problemlösning och programmering under press Johnny Bigert D1387 Programsystemkonstruktion med C++ 6
7 Länkar Användbara webbplatser: Standarden on-line: Bra dokumentation på STL: 2D1458 Problemlösning och programmering under press Johnny Bigert D1387 Programsystemkonstruktion med C++ 7
Kapitel 5. Strömmar. Utmatning
Kapitel 5 Strömmar Kapitel 5 - Strömmar Utmatning med std::ostream och std::ostringstream Inmatning med std::istream och std::istringstream Överlagring av in- och utmatning Iteratorer för in- och utmatning
Del6 Strömmar Ämnesområden denna föreläsning:
2D1387, Programsystemkonstruktion med C++ 01/02 1 Del6 Strömmar Ämnesområden denna föreläsning: Utmatning till ostream och ostringstream Slide 1 Inmatning från istream och istringstream Överlagring av
2D1387, Programsystemkonstruktion med C++ 01/02 1
2D1387, Programsystemkonstruktion med C++ 01/02 1 Slide 1 Del4 Klassmallar, funktionsmallar och STL Ämnesområden denna föreläsning: Funktionsmallar (function templates) Klassmallar Mallar för medlemmar
Kapitel 4. Funktionsmallar. Mallar. Introduktion till mallar STL
Kapitel 4 Introduktion till mallar STL Kapitel 4 - Klassmallar, funktionsmallar och STL Funktionsmallar Klassmallar Mallar för medlemmar Specialisering Standardbiblioteket för mallar (STL): Namnrymden
Kapitel 4 - Mallar. Kapitel 4. Introduktion till mallar STL. 2D1387 Programsystemkonstruktion med C++ 1
Kapitel 4 Introduktion till mallar STL 2D1387 Programsystemkonstruktion med C++ 1 Kapitel 4 - Klassmallar, funktionsmallar och STL Funktionsmallar Klassmallar Mallar för medlemmar Specialisering Standardbiblioteket
Kapitel 4. Funktionsmallar. Mallar. Introduktion till mallar STL
Kapitel 4 Introduktion till mallar STL Kapitel 4 - Klassmallar, funktionsmallar och STL Funktionsmallar Klassmallar Mallar för medlemmar Specialisering Standardbiblioteket för mallar (STL): Namnrymden
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Strömmar, externa filer och kommandoradsargument Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Översikt 2/32 Strömmar Kommandoradsargument Jämförelseoperatorer
Programmering i C++ EDA623 Strömmar och filer. EDA623 (Föreläsning 9) HT / 19
Programmering i C++ EDA623 Strömmar och filer EDA623 (Föreläsning 9) HT 2013 1 / 19 Strömmar och filer Innehåll Klassen ios Läsning av strömmar Utskrift av strömmar Koppling av filer till strömmar Direktaccess
Tentamen EDAF30 Programmering i C++
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen EDAF30 Programmering i C++ 2017 04 20, 14:00 19:00 Hjälpmedel: En valfri C++-bok. Andra papper med anteckningar eller utskrifter är
Operatoröverlagring. endast operatorsymboler definierade i C++ kan överlagras = += -= *= /= %= ^= &= = <<= >>= < > <= >= ==!= && > ->*, [ ] ( )
TDDC76 PoD OH Föreläsning C++ 83 Operatoröverlagring endast operatorsymboler definierade i C++ kan överlagras + - * / % ^ & ~! > = += -= *= /= %= ^= &= = = < > = ==!= && ++ -- -> ->*, [ ]
Föreläsning 4: Filer och strömmar
Föreläsning 4: Filer och strömmar PROGRAM OPERATIV- SYSTEM EXTERNA (IO-)ENHETER cout > x; STANDARD INSTRÖM ifstream infil A.TXT infil >> str; INGÅENDE FILSTRÖM
Innehåll. Introduktion till objektorientering. OOP (objektorienterad programmering) Objekt, instanser, klasser
Föreläsning 1 Innehåll Introduktion till objektorientering OOP (objektorienterad programmering) Objekt, instanser, klasser C++ OO i C++ Standardbibliotek Utökningar från C (syntaktiskt socker) Introduktion
Byggstenar. C++-programmets beståndsdelar. C++-programmets beståndsdelar. Grundläggande datatyper
C++-programmets beståndsdelar Ett C++-program är uppdelat i headerfiler (fil.h) och implementationsfiler (fil.cpp) Programmet måste innehålla åtminstone funktionen int main() main() startar programmet
Tentamen EDAF30 Programmering i C++
LUNDS TEKNISKA HÖGSKOLA 1(8) Institutionen för datavetenskap Tentamen EDAF30 Programmering i C++ 2016 05 13, 8.00 13.00 Hjälpmedel: En valfri C++-bok. OH-bilderna från föreläsningarna är inte tillåtna.
4. Standard-containers. Strömmar och filer
EDAF30 Programmering i C++ 4. Standard-containers. Strömmar och filer Sven Gestegård Robertz Datavetenskap, LTH 2017 Innehåll 1 Containers Sekvenser Iteratorer Avbildningar och mängder 2 Strömmar och filer
2D1387 Programsystemkonstruktion med C++ Laboration 1: Grundläggande C++ 31 augusti 2005
2D1387 Programsystemkonstruktion med C++ Laboration 1: Grundläggande C++ 31 augusti 2005 I den här labben kommer du att lära dig att använda grundläggande C++ såsom klasser, loopar, variabler och minneshantering.
TDIU01 (725G67) - Programmering i C++, grundkurs
. TDIU01 (725G67) - Programmering i C++, grundkurs Program, datatyper och IO Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Översikt 2/14 Struktur på ett C++-program Köra ett program Variabler
Innehåll. 1 Deklarationer, scope och livstid. 2 Användardefinierade typer. 4 Operatoröverlagring. 5 In- och utmatning. 6 namnrymder (namespace)
Innehåll EDAF30 Programmering i C++ 2. Användardefinierade typer Sven Gestegård Robertz Datavetenskap, LTH 2017 1 Deklarationer, scope och livstid 2 Användardefinierade typer 3 Standardbibliotekets alternativ
C++-programmets beståndsdelar
C++-programmets beståndsdelar Ett C++-program är uppdelat i headerfiler (fil.h) och implementationsfiler (fil.cpp) Programmet måste innehålla åtminstone funktionen int main() main() startar programmet
EDAf30: Programmering i C++, 7.5 hp. EDAf30: Programmering i C++, 7.5 hp Administration. EDAf30: Programmering i C++, 7.5 hp Obligatoriska moment
EDAf30: Programmering i C++, 7.5 hp EDAF30 Programmering i C++ 1. Introduktion Sven Gestegård Robertz Datavetenskap, LTH 2015 Mål: Kursens syfte är att ge kunskaper i objektorienterad programmering i C++.
Kapitel 1. C++-programmets beståndsdelar. C++-programmets beståndsdelar. Kapitel 1 grunderna i C++
Kapitel 1 Grunderna i C++ Kapitel 1 grunderna i C++ C++-programmets beståndsdelar Datatyper Funktioner och funktionsanrop Sammansatta datatyper Pekare, aritmetik och referenser Minneshantering, preprocessorn
Innehåll. 1 Deklarationer, scope och livstid. 2 Användardefinierade typer. 4 In- och utmatning. 5 Operatoröverlagring. 6 namnrymder (namespace)
Innehåll EDAF30 Programmering i C++ 2. Användardefinierade typer Sven Gestegård Robertz Datavetenskap, LTH 2016 1 Deklarationer, scope och livstid 2 Användardefinierade typer 3 Standardbibliotekets alternativ
Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag
Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag Datum: 2009-04-15 Tid: 8-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna ungefär
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Underprogram - Funktioner Eric Elfving Institutionen för datavetenskap 18 september 2014 Översikt 2/22 Återblick till satsblocken Funktioner - Namngivna satsblock
TDIU20 - Objektorienterad programmering i c++ - föreläsning 3
TDIU20 - Objektorienterad programmering i c++ - föreläsning 3 Pontus Haglund Department of Computer and information science 1 Vad har vi gjort hittills 2 Felhantering 3 Operatorer 4 binära operatorer 5
2D1387 Programsystemkonstruktion med C++ Laboration 1: Grundläggande C++ 2 september 2006
2D1387 Programsystemkonstruktion med C++ Laboration 1: Grundläggande C++ 2 september 2006 I den här labben kommer du att lära dig att använda grundläggande C++ såsom klasser, loopar, variabler och minneshantering.
Programmeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 6: Filhantering Henrik Björklund Umeå universitet 13 oktober 2009 Björklund (UmU) Programmeringsteknik 13 oktober 2009 1 / 22 Textfiler Filer är sekvenser
FÖRSLAG TILL LÖSNING AV Tentamen i Objektorienterad programmering C++ I
FÖRSLAG TILL LÖSNING AV Tentamen i Objektorienterad programmering C++ I 2002-03-18 Betygsgränser: 3 14 poäng 4 20 poäng 5 27 poäng Maxpoäng: Hjälpmedel: 32 poäng Bilagd ASCII-tabell Lycka till Per Ekeroot
Övriga byggstenar. Övriga byggstenar. Några tips under programutveckling. Beroenden Pekare till funktioner Typkonvertering
Övriga byggstenar Beroenden Pekare till funktioner Övriga byggstenar Beroenden er Definitioners synlighet Funktionspekare Icke-medlemsfunktioner Medlemsfunktioner 2D1387 Programsystemkonstruktion med C++
Det finns många flaggor till g++,
C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se Inge Frick, inge@nada.kth.se Alexander Baltsatsis hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m.
DD2387 Programsystemkonstruktion med C++ Tentamen 1 Torsdag 7 januari 2016, 14:00-18:00
DD2387 Programsystemkonstruktion med C++ Tentamen 1 Torsdag 7 januari 2016, 14:00-18:00 Introduktion Skriv dina svar på separata papper, dessa scannas in efter inlämning. Du kan skriva på både fram- och
C++ - En introduktion
C++ - En introduktion De imperativa grunderna för dig som kan programmera Eric Elfving Institutionen för datavetenskap 1 / 72 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna
Strängar. Strängar (forts.)
Strängar En sträng i C är helt enkelt en array av char: char namn[20]; För att få strängar att bete sig som om de vore av dynamisk längd markeras strängens slut med null-tecknet \0 : J o z e f S w i a
Föreläsning 1: Momstabellen i C++
Nu sätter vi igång med C++! Föreläsning 1: Momstabellen i C++ På den här föreläsningen skall jag ta ett stort exempel och ett par små och med dessa hoppas jag att täcka in mycket av det som är grundläggande.
LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20
LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20 Betygsgränser: 3 16 poäng 4 23 poäng 5 30 poäng Maxpoäng: 36 poäng Hjälpmedel: inga Lycka till Per Ekeroot Uppgift 1 Kortfrågor
Programsystemkonstruktion med C++
Programsystemkonstruktion med C++ Övning 2 Daniel Aarno bishop@kth.se Översikt övning 2 Klasser Konstruktorer Destruktorer Arv Virtuella funktioner Abstrakta klasser Operatorer Templateklasser Templatefunktioner
Tentamen EDAF30 Programmering i C++
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen EDAF30 Programmering i C++ 2016 01 11, 8.00 13.00 Hjälpmedel: En valfri C++-bok. OH-bilderna från föreläsningarna är inte tillåtna.
1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet
1 Texthantering I detta avsnitt tas det upp två sätt att arbeta med text i C++ program. Det första sättet som behandlas är hanteringen av textfält. Texter i C++ består utav en serie med enstaka tecken
TDIU01 - Programmering i C++, grundkurs
. TDIU01 - Programmering i C++, grundkurs Datalagring - poster och vektorer Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Poster 2/17 struct Book string title; string author; int pages; ;
Programmering i C++ EDA623 Mer om klasser. EDA623 (Föreläsning 6) HT 2013 1 / 26
Programmering i C++ EDA623 Mer om klasser EDA623 (Föreläsning 6) HT 2013 1 / 26 Mer om klasser Innehåll Konstanta objekt Statiska medlemmar Pekaren this Vänner (friends) Överlagring av operatorer EDA623
SP:PROG3 HT12 Tenta 2013-01-19
DSV SU/KTH sid 1 (5) SP:PROG3 SP:PROG3 HT12 Tenta 2013-01-19 Tentan består av tre uppgifter. Max poäng är 30. För betyget E (godkänd) krävs minst 18 poäng och minst en poäng på varje uppgift. Betygskriteria
Kapitel 6 - Undantag
Kapitel 6 Undantag Kapitel 6 - Undantag Undantag (exceptions), returvärden throw, try och catch new, bad_alloc, nothrow Undantag och std::auto_ptr throw() i funktionsdeklaration try som funktionskropp
Pekare. Pekare. Varför använder vi pekare? Vad är en pekare? Pekare. Deklaration/initiering av pekare
Vad är en pekare? Varför använder vi pekare? Hur används pekare? Hur deklarerar vi pekare i C? Hur kommer vi åt pekarvärdet? DAVA07/08 JE,MG,MG,PS 2 DAVA07/08 JE,MG,MG,PS Vad är en pekare? En pekare är
Filhantering. Grunderna i filhantering. Uppbyggnad av filer. Data hierarkin. Filpekaren. Positionering i filer 2002-10-29
Grunderna i filhantering Filhantering Filer kan användas för permanent lagring av data Hårddisk, disketter, CD-R/W, band Variabler och arrayer Försvinner när du avslutar programmet Sparas i datorns arbetsminne
DD2387 Programsystemkonstruktion med C++ Laboration 1: Grundläggande C++ 4 september 2008
DD2387 Programsystemkonstruktion med C++ Laboration 1: Grundläggande C++ 4 september 2008 I den här labben kommer du att lära dig att använda grundläggande C++ såsom klasser, loopar, variabler och minneshantering.
Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY
Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade
Introduktionslaboration
TDDC76 Laborationshandledning 1 TDDC76 Programmering och datastrukturer Introduktionslaboration Denna introduktionslaboration introducerar programmeringsspråket C++, hur du skriver enkla C++-program samt
TDDI14 Objektorienterad programmering
LINKÖPINGS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Avdelningen för programvara och system Tommy Olsson 2015-05-27 Datortentamen i TDDI14 Objektorienterad programmering Provkod DAT1 Datum 2015-06-01
grundläggande C++, funktioner m.m.
C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m. ett exempel Ett enkelt program i C++, hello.cpp #include
Introduktionslaboration
LINKÖPINGS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Avdelningen för programvara och system (SaS) Tommy Olsson 2006-08-31 TDIU06 Programmering g.k Introduktionslaboration Ht1, 2006 Detta häfte
Klasser. Kapitel 2. Kapitel 2 - Klasser, medlemmar och arv. Klasser. Klasser Medlemmar Arv
Kapitel 2 Klasser Medlemmar Arv, medlemmar och arv Klasser, åtkomst Medlemmar, medlemsfunktioner, inline och destruktorer this-pekaren Arv, åtkomst Multipelt arv, virtuell basklass Konstanta funktioner
Övning från förra gången: readword
(9 september 2010 T4.1 ) Övning från förra gången: readword /** readword.c * * int readword(char w[], int n) { * * Läser tecken tills en bokstav påträffas. * Läser och lagrar sedan högst n-1 bokstäver
Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Pekare och Listor Eric Elfving Institutionen för datavetenskap 31 oktober 2014 Översikt 2/41 Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor Arbeta
Programmering i C++ EDA623 Mallar. EDA623 (Föreläsning 12) HT / 29
Programmering i C++ EDA623 Mallar EDA623 (Föreläsning 12) HT 2013 1 / 29 Mallar Innehåll Klassmallar Funktionsmallar EDA623 (Föreläsning 12) HT 2013 2 / 29 Containerklasserna vector, deque och list utgör
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Grundläggande satser och uttryck Eric Elfving Institutionen för datavetenskap 5 augusti 2014 Översikt Uttryck Litteraler Operatorer Satser Villkor Upprepning Teckenhantering
DD2387 Programsystemkonstruktion med C++ Tentamen 3 Onsdagen 7 januari, 14:00-18:00
DD2387 Programsystemkonstruktion med C++ Tentamen 3 Onsdagen 7 januari, 14:00-18:00 Introduktion Skriv dina svar på separata papper, dessa scannas in efter inlämning. Du kan skriva på båda sidor. Skriv
Tentamen EDAF30 Programmering i C++
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenska Tentamen EDAF30 Programmering i C++ 2016 08 16, 8.00 13.00 Hjälmedel: En valfri C++-bok. OH-bilderna från föreläsningarna är inte tillåtna. Du
Programsystemkonstruktion med C++
Programsystemkonstruktion med C++ Övning 1 Daniel Aarno bishop@kth.se Översikt övning 1 Kompilering och länkning Makefile Preprocessordirektiv Funktioner Funktionen main() Datatyper Minneshantering Pekare
Enkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag
Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag Datum: 2008-08-14 Tid: 08-12 Plats: PC6-PC7 i E-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna varje
I ett program hantera man ofta samlingar av objekt av samma typ.
Fält I ett program hantera man ofta samlingar av objekt av samma typ. Sådana samlingar vill man vanligtvis kunna gruppera ihop till en sammanhängande struktur. För detta ändamål tillhandahåller Java språkkonstruktioner
Kapitel 3. Synlighet. Kapitel 3 - Klassanvändning, operatorer och pekare. Synlighet
Kapitel 3 Klassanvändning Operatorer Pekare Kapitel 3 - Klassanvändning, operatorer och pekare Vänner till klasser och funktioner Virtuella funktioner och polymorfi Abstrakta basklasser och strikt virtuella
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
C++ Lektion Filhantering
C++ Lektion Filhantering Teori Vi är bekanta med ett antal objekt för läsning och skrivning på bildskärmen, nämligen cout och cin. De hanterar automatiskt om vi ska läsa eller skriva en "följd av bytes"
Lösningsförslag till tentamen TDP004 Objektorienterad Programmering Teoretisk del
Lösningsförslag till tentamen TDP004 Objektorienterad Programmering 2008-03-26 Teoretisk del 1a). Vad är det som skiljer en virtuell funktion och en rent virtuell funktion? Du kan förutsätta att det är
Innehåll. 1 Algoritmer. 2 Strömmar och filer. 3 Iteratorer. 1 Söka, räkna. 2 Jämföra, genomlöpa. 3 Generera nya data. 4 Kopiera och flytta element
Innehåll EDAF30 Programmering i C++ 5.. Strömmar och filer Sven Gestegård Robertz Datavetenskap, LTH 2016 1 Standardbibliotekets algoritmer Insättningsiteratorer 2 Strömmar och filer Ström-klasser Filer
TDIU01 - Datortenta (DAT2)
TDIU01 - Datortenta (DAT2) 2013-03-25 Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan
C++ Lektion Tecken och teckenfält
C++ Lektion Tecken och teckenfält Teori Hittills har alla variabler du jobbat med varit olika typer av tal, men du kan också deklarera variabler som håller bokstavstecken. Denna variabeltyp kallas för
Tentamen C++-programmering
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen C++-programmering 2016 03 19, 8.00 13.00 Hjälpmedel: En valfri C++-bok. OH-bilderna från föreläsningarna är inte tillåtna. Du ska i
TDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer C++ - en introduktion Eric Elfving Institutionen för datavetenskap 1 / 72 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna Ett första
TDIU20 - Objektorienterad programmering i c++ - föreläsning 4
TDIU20 - Objektorienterad programmering i c++ - föreläsning 4 Pontus Haglund Department of Computer and information science 1 Vad gjorde vi förra gången? Felhantering Operatorer Typkonvertering 2 Grundläggande
TDIU01 - Datortenta (DAT2)
TDIU01 - Datortenta (DAT2) 2012-12-18 Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan
Tecken. char. char ch = A ; sizeof(char) = 1 byte (ej 16-bitars tecken som i Java) char namn[]= "Nils"; // längd = 5 bytes
Tecken EDAF30 Programmering i C++ 2. Tecken och texter char char ch = A ; Sven Gestegård Robertz Datavetenskap, LTH 2015 sizeof(char) = 1 byte (ej 16-bitars tecken som i Java) char c1, c2; c1 = A ; c2
Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111
/home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111 0 # coding : latin Sammanfattning Gick igenom listor, dictionary, felhantering, strängjämförelser, split(), rstrip()
Introduktion till streams
Introduktion till streams INTRODUKTION TILL STREAMS Introduktion till streams Vad är en ström? I/O ström biblioteket. Streambuf ios Klasshierarkin Standardströmmar Utmatning
Tentamen i Objektorienterad Programmering 5p, Au, D, Fri, Pr, 051019
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningarna till tentamensuppgifterna sätts ut på kurssidan på nätet i dag kl 13. Denna tenta kommer att vara färdigrättad Må 24/10 och kan då hämtas på
Innehåll. 1 Funktionsmalllar. 2 Klassmallar. struct Name { string s; //... }; const Name & minimum ( const Name & a, const Name & b) { if(a.s < b.
Innehåll EDAF30 Programmering i C++ Generisk programmering med templates (mallar) Sven Gestegård Robertz Datavetenskap, LTH 2015 1 Funktionsmalllar 2 Generisk programmering med templates (mallar) 2/1 Generisk
Programmering i C++ EDAF hp. EDAF30 (Föreläsning 2) HT / 18
Programmering i C++ EDAF30 7.5 hp EDAF30 (Föreläsning 2) HT 2014 1 / 18 Tecken och texter char char ch = A ; teckenfält = strängar i C char str[] = "123"; standardklass i C++ string s = "C++"; EDAF30 (Föreläsning
Föreläsning 13. In- och utmatning
Föreläsning 13 In- och utmatning Dagens kluring Deklarera en struct som kan användas för att representera en rät linje Använd den I main för att deklarera en variabel som du initierar så att den representerar
DD2387 Programsystemkonstruktion med C++ Tentamen 1 Tisdagen den 28 oktober 2014, 08:00-12:00
DD2387 Programsystemkonstruktion med C++ Tentamen 1 Tisdagen den 28 oktober 2014, 08:00-12:00 Introduktion Skriv dina svar på separata papper, dessa scannas in efter inlämning. Du kan skriva på båda sidor.
Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Algoritmbiblioteket (STL) Designstrategi Generiska algoritmer som fungerar på godtyckliga samlingsdatatyper, vilka har iteratorer.
Algoritmbiblioteket (STL) (f.d.) Standard Template Library Samlingstyper (containers) Algoritmer Funktionsobjekt Adaptrar Designstrategi Generiska algoritmer som fungerar på godtyckliga samlingsdatatyper,
Ett enkelt program i C++, hello.cpp. #include <iostream> int main() { std::cout << "Hello World\n"; return 0; } C++, Övning 1
Ett enkelt program i C++, hello.cpp C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m. ett exempel int
Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Generell (template) programmering. Effektiv C++ Slutliga tips Genomgång av gammal tenta. Daniel Aarno Allt som fungerar som x ÄR x
Generell (template) programmering Funktionsobjekt och funktionspekare Iteratorer Algoritmer Effektiv C++ Slutliga tips Genomgång av gammal tenta Daniel Aarno bishop@kth.se 2 int compare(int i1, int i2)
Ordlistor, filhantering och ut på webben. Linda Mannila 20.11.2007
Ordlistor, filhantering och ut på webben Linda Mannila 20.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Funktioner och moduler
Pekare och arrayer. Indexering och avreferering
Pekare och arrayer En array är ett sammanhängande minnesområde rymmande ett antal element av en viss typ. Arraynamnet kan ses som adressen till arrayens början, dvs. dess första element. En pekare är en
Innehåll. Exceptionella händelser (exceptions, undantag ) Felhantering Tre nivåer av felhantering: Nivå 2: exceptions (eller returvärde)
Innehåll EDAF30 Programmering i C++ 7. Felhantering. Sven Gestegård Robertz Datavetenskap, LTH 2017 1 Felhantering Exceptions Exceptions och resurshantering Specifikation av exceptionella händelser Static
DD2387 Programsystemkonstruktion med C++ Laboration 1: Grundläggande C++ 23 augusti 2011
DD2387 Programsystemkonstruktion med C++ Laboration 1: Grundläggande C++ 23 augusti 2011 I den här labben kommer du att lära dig att använda grundläggande C++ såsom klasser, loopar, variabler och minneshantering.
Högskolan Dalarna sid 1 av 5 Data-avdelningen Hans-Edy Mårtensson
Högskolan Dalarna sid 1 av 5 Lösningsförslag till TENTAMEN I OBJEKTORIENTERAD PROGRAMMERING 5p,för D2 1999-01-14 1. a) Systemavgränsningen är dokument som innehåller en kortfattad beskrivning av vad som
Imperativ programmering (Fö 1 2) C++ Ett första programexempel. Enkel in- och utmatning strömbiblioteket
TDDC76 PoD OH Föreläsning C++ 1 C++ bred användning inom programvaruindustrin tillgängligt överallt generellt effektiv kod god kontroll över minnesanvändning ny standard 2011 C++11 mindre revision planerad
729G04 Programmering och diskret matematik. Föreläsning 7
729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt
Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY
Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade
TDIU01 Programmering i C++
TDIU01 Programmering i C++ Föreläsning 6 - Klasser Eric Elfving, eric.elfving@liu.se Institutionen för datavetenskap (IDA) Avdelningen för Programvara och system (SaS) Klasser När vi skapade vår lista
Tentamen i Grundläggande Programvaruutveckling, TDA548
Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2017-08-14 Tid: 14.00-18.00 Hjälpmedel: Lexikon Engelskt-Valfritt språk. Betygsgränser: U: -23 3: 24-37 4: 38-47 5
*:85/ID200V C++ HT07. Föreläsning 8 Medlemspekare Undantagshantering Namnrymder
*:85/ID200V C++ HT07 Föreläsning 8 Medlemspekare Undantagshantering Namnrymder Medlemspekare Ibland uppstår behovet att peka ut en viss medlem, som skall behandlas i olika objekt. C++ har begreppet medlemspekare
Grundläggande datalogi - Övning 1
Grundläggande datalogi - Övning 1 Björn Terelius October 30, 2008 Python är ett tolkat språk som kan köras interaktivt. tcs-ray:~/grudat08>python >>> 11+3*4 23 >>> a = 15 >>> b=a >>> print "a =", a, "b
Tentamen *:85/2I4123 C
DSV Sid 1(6) *:85/2I4123 Jozef Swiatycki 2006-01-21 Tentamen *:85/2I4123 C++ 2006-01-21 Denna tentamen består av fyra uppgifter som tillsammans kan ge maximalt 30 poäng. För godkänt resultat krävs minst
6 In- och utmatning, strömmar
6 In- och utmatning, strömmar Strömmar används i C för att kommunicera mellan program och yttre enheter som skärm, tangentbord, printer eller sekundärminne. Strömmarna kan man se som kanaler eller buffertar