C++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 3: Giriş/Çıkış

Benzer belgeler
NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

10/17/2007 Nesneye Yonelik Programlama 3.1

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

BİL-142 Bilgisayar Programlama II

C++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 1: Bilgisayarlar ve Programlama Dillerine Kısa Bakış

Fonksiyon Türleri. Bildiğiniz gibi, C++'da iki fonksiyon türü ile karşılaşıyoruz. C++'nın kullanıma sunduğu hazır fonksiyonlar.

Programlamaya Giriş Karar Yapıları, Tekrarlı İfadeler(Döngüler)

BİL-142 Bilgisayar Programlama II

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Fonksiyonlar (Altprogram)

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Algoritma ve Programlama: Karar Yapıları ve Döngüler

1 PROGRAMLAMAYA GİRİŞ

String ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

Nesne Yönelimli Programlama

3. VERİ GİRİŞ-ÇIKIŞI (4ncü hafta)

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Object-Oriented Programming Lab 4. - Sıcaklık değeri, Kelvin biriminde saklansın. Varsayılan sıcaklık değeri K olsun.

C PROGRAMLAMA DİLİNE GİRİŞ

PROGRAMLAMAYA GİRİŞ DERS 2

C++ Giriş Ders 5 MSGSU Fizik Bölümü Ferhat ÖZOK

ALGORİTMA VE PROGRAMLAMA II

Operatörlere İşlev Yükleme

Metin Dosyaları. Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü

C++ Dersi: Nesne Tabanlı Programlama

Eln 1001 Bilgisayar Programlama I

C Konsol Giriş Çıkış Fonksiyonları

Nesne Tabanlı Programlama

Bölüm 2 - C ile Programlamaya Giriş

C++ Dersi: Nesne Tabanlı Programlama

BİLGİSAYAR PROGRAMLAMA DERSİ

Genel Programlama II

C++ Dersi: Nesne Tabanlı Programlama

BTEP243 Ders 3. class Yazım Kuralı:

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

BİLG Dr. Mustafa T. Babagil 1

Nesne Tabanlı Programlama

C Programlama Dilininin Basit Yapıları

C Programlama printf() Fonksiyonu

Program Çözümleme. Aşağıdaki örneklerde printf() ve scanf() fonksiyonlarının işlevleri gösterilmektedir. Liste 1.1. Çözümleme:

C/C++ Disk G/Ç İşlemleri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

BİLG Dr. Mustafa T. Babagil 1

C++ Operatörler (Operators)

Fall Object-Oriented Programming Laboratory 02 - Structures

Biçem Belirteçleri (Format Specifiers)

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Temel Giriş/Çıkış Fonksiyonları

C++ Dersi: Nesne Tabanlı Programlama

Adım Adım SPSS. 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü. Y. Doç. Dr. İbrahim Turan Nisan 2011

Pros and Cons of Pointers. Pointers. Avantajlar. Dezavantajlar

Örnek1: #include <iostream> #include <string> using namespace std;

GİRİŞ/ÇIKIŞ VE TANIMLAMA DEYİMLERİ

Java: printf() Metodu İle Çıktıyı Biçemleme

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

DERSİN WEB SİTESİ:

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

ELN1001 BİLGİSAYAR PROGRAMLAMA I

Giriş. ENF102 Jeoloji

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

KONU 7: DOSYA İŞLEME ( File Processing )

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

<fn> FORMAT (a1,a2,a3,...) : format deyiminin satır numarasıdır READ, WRITE deyimleri ile verilir. : alan bildirim deyimleridir.

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

Bigisayar Programlama

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.

Bölüm 9. Altprogramlar ISBN

NESNEYE YÖNELİK PROGRAMLAMA

C++ Dersi: Nesne Tabanlı Programlama

Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan

Fonksiyonlar -Genel Test- A

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Yordamsal Tabanlı Programlama

En kucuk calisabilir birime satetement denir Statements semicolon (;) ile sonlanir Yalniz basina ; null statement i ifade eder

Değişken atama Kullanıcıdan veri girişi istendiğinde kullanılır. 1. Bir değişkene değer atama (örn: a=4 gibi) 2. Klavyeden veri girme

Internet Programming II

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI

SPSS (Statistical Package for Social Sciences)

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

#ifndef COMPLEX_H #define COMPLEX_H

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

Dr. Fatih AY Tel: fatihay@fatihay.net

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

TEMPLATES. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

Fen ve Mühendislik Uygulamaları ile MATLAB

Transkript:

C++ Programming: Program Design Including Data Structures, Third Edition Bölüm 3: Giriş/Çıkış

Bölümün Amaçları Akış (stream) nedir? Girdi/çıktı akışlarının işleyişi Standart bir giriş aygıtından veri okuması nasıl gerçekleşir? Bir programdaki ön tanımlı (predefined ) fonksiyonlar nasıl kullanılır? Bazı giriş akış fonksiyonlarının ( input stream functions) kullanılışı : get, ignore, fill, C++ Programming: From Problem Analysis to Program Design, Third Edition 2

Bölümün Amaçları Girişlerdeki başarısızlıkları (input failure) izleyebilmek Standart bir çıktı aygıtına verinin nasıl yazıldığını öğrenmek Bir programda çıktının istenildiği şekilde elde edilmesini öğrenmek string veri tipini kullanarak giriş çıkış işlemlerinin nasıl yapıldığını öğrenmek Dosya giriş/çıkış işlemleri hakkında bilgilenmek C++ Programming: From Problem Analysis to Program Design, Third Edition 3

Giriş /Çıkış Akışları (Input/Output Streams) I/O: Kaynaktan hedefe baytların bir dizilişi (bayt akışı- stream of bytes) Bayt genellikle karakterlerle simgelenir. Bazen farklı tipteki bilgilerin gerektiği programlar olabilir Akış (Stream) : Kaynaktan hedefe karakterlerin sıralanışıdır. Giriş Akışı (Input Stream) Bir giriş aygıtından bilgisayara karakterlerin sıralanışıdır. Çıkış Akışı (Output Stream): Bilgisayardan çıktı aletine karakterlerin sıralanışıdır. C++ Programming: From Problem Analysis to Program Design, Third Edition 4

Standart I/O Aygıtları Klavyeden veriyi çıkarmak (extract-receive) ve ekrana göndermek için iostream kullanılır. iostream iki tipte tanımlama içerir istream - input stream ostream - output stream iostream iki değişkene sahiptir. cin ortak girişi tutar cout ortak çıkışı tutar C++ Programming: From Problem Analysis to Program Design, Third Edition 5

cin ve cout kullanımı cin ve cout, kullanabilmek için önişlemci direktifi (preprocessor directive) #include <iostream> kullanılmalıdır. Bildirimi şöyledir: istream cin; ostream cout; Giriş için akış değişkenleri (input stream variables): istream tipindedir. Çıkış akış değişkenleri (output stream variables): ostream tipindedir C++ Programming: From Problem Analysis to Program Design, Third Edition 6

cin ve Çıkartma İşleci (Extraction Operator ) >> Giriş deyimi sentaksı olarak cin ve çıkartma işleci (extraction operatör)>> kullanılır. cin >> variable >> variable...; Çıkartma işleci (extraction operator )>> ikili (binary) bir işleçtir. Sol tarafındaki işlenen (operand) ise bir giriş akışı değişkenidir (örneğin is cin) Sağ tarafındaki işlenen (operand) ise herhangi bir basit veri tipidir C++ Programming: From Problem Analysis to Program Design, Third Edition 7

Standart Giriş >> işlecinin her kullanılışında giriş akışından (input stream) bir sonraki veri çıkartılır. Tek bir cin deyimi ile fazla sayıda değişken ifade etmekle, fazla çok sayıda cin deyimi ile her seferinde tek bir değişken tanımlamak aynıdır. Tarama sırasında >> işleci tüm boş karakterleri atlar. «Whitespace» olarak adlandırılır. «Whitespace» karakterler çıktısı alınamayan karakterler de olabilir. C++ Programming: From Problem Analysis to Program Design, Third Edition 8

Datanın Okunması char tipinde bir verinin okunması için variable >> çıkartma (extraction) operatörü boşluğu atlar ve sonraki karakteri bularak depolar Tek bir karakterin okunmasından sonra okuma işlemi durur. C++ Programming: From Problem Analysis to Program Design, Third Edition 10

Datanın Okunması int ya da double tipinde bir değişkenin okunması >> çıkartma (extraction) işleci boşlukları atlar, eğer işaret dijiti varsa bunu okuduktan sonra, sonraki dijitleri okur. Okuma işlemi dijit olmayan bir «whitespace» karakter ile sonlanır. C++ Programming: From Problem Analysis to Program Design, Third Edition 11

Example 3-1 int a, b; double z; char ch, ch1, ch2; Statement Input Value Stored in Memory 1 cin >> ch; A ch = 'A 2 cin >> ch; AB ch = 'A', 'B' is held for later input 3 cin >> a; 48 a = 48 4 cin >> a; 46.35 a = 46,.35 is held for later input 5 cin >> z; 74.35 z = 74.35 6 cin >> z; 39 z = 39.0 7 cin >> z >> a; 65.78 38 z= 65.78, a = 38

Statement Input Value Stored in Memory 8 cin >> a >> b; 4 60 a = 4, b = 60 9 cin >> a >> ch >> z; 57 A 26.9 a = 57, ch = 'A', z = 26.9 10 cin >> a >> ch >> z; 57 A26.9 a = 57, ch = 'A', z = 26.9 11 cin >> a >> ch >> z; 57 A26.9 a = 57, ch = 'A', z = 26.9 12 cin >> a >> ch >> z; 57A26.9 a = 57, ch = 'A', z = 26.9 13 cin >> z >> ch >> a; 36.78B34 z = 36.78, ch = 'B', a = 34 14 cin >> z >> ch >> a; 36.78 B34 z = 36.78, ch = 'B', a = 34 15 cin >> a >> b >> z; 11 34 a = 11, b = 34, computer waits for the next number

Statement Input Value Stored in Memory 16 cin >> a >> z; 46 32.4 68 a = 46, z = 32.4, 68 is held for later input 17 cin >> a >> z; 78.49 a = 78, z = 0.49 18 cin >> ch >> a; 256 ch = '2', a = 56 19 cin >> a >> ch; 256 a = 256, computer waits for the input value for ch 20 cin >> ch1 >> ch2; A B ch1 = 'A', ch2 = 'B'

Öntanımlı Fonksiyonlar Fonksiyon (alt program ): komutlar dizisidir. Aktivite olduğunda bir görev (iş) gerçekleştirir. main fonksiyonu bir program çalıştırıldığında (run) işlenir (executes). Diğer fonksiyonlar ise çağrıldıklarında çalıştırılır. C++ bir dizi hazır fonksiyon içerir. Bunlar öntanımlı (predefined) fonksiyonlardır ve başlık dosyaları ile çağrılan kütüphane fonksiyonlarının bir koleksiyonudur. C++ Programming: From Problem Analysis to Program Design, Third Edition 15

Öntanımlı Fonksiyonlar Başlık dosyası (Header file) pek çok fonksiyon içerebilir. Ön tanımlı bir fonksiyonun kullanılması için, başlık dosyasının ismi bilinmelidir. Ayrıca Fonksiyonun ismi Gerekli parametrelerinin sayısı Her parametrenin tipi Fonksiyonun hangi işlemi gerçekleştirdiğinin bilinmesi şarttır. 16

Öntanımlı Fonksiyon Örneği pow (power) fonksiyonun kullanılması için, cmath başlık dosyası kullanılmalıdır. Pow fonksiyonunun 2 nümerik parametresi vardır Sentaksı pow(x,y) = x y x ve yargümanlardır. pow(2,3) fonksiyonunu parametreleri 2 ve 3 dür. C++ Programming: From Problem Analysis to Program Design, Third Edition 17

//Öntanımlı fonksiyonların kullanılması #include <iostream> #include <cmath> #include <string> using namespace std; int main() { double u, v; string str; cout << "Line 1: 2 to the power of 6 = " << pow(2, 6) << endl; //Line 1 u = 12.5; //Line 2 v = 3.0; //Line 3 cout << "Line 4: " << u << " to the power of " << v << " = " << pow(u, v) << endl; //Line 4

cout << "Line 5: Square root of 24 = " << sqrt(24.0) << endl; //Line 5 u = pow(8.0, 2.5); //Line 6 cout << "Line 7: u = " << u << endl; //Line 7 str = "Programming with C++"; //Line 8 cout << "Line 9: Length of str = " << str.length() << endl; //Line 9 return 0; } Sample Run: Line 1: 2 to the power of 6 = 64 Line 4: 12.5 to the power of 3 = 1953.13 Line 5: Square root of 24 = 4.89898 Line 7: u = 181.019 Line 9: Length of str = 20

cin ve get Fonksiyonu get fonksiyonu: Sonraki karakterin okunmasını sağlar («whitespace» içerebilir), Depolama karakteri cin ve get fonksiyonunun birlikte kullanılır. cin.get(varchar); varchar char tipinde bir değişkendir Fonksiyonun argümanıdır (parametresi) C++ Programming: From Problem Analysis to Program Design, Third Edition 20

Nokta Notasyonu (Dot Notation) cin.get(ch); deyiminde cin ve get farklı iki tanımlayıcıdır ve nokta (dot) ile birbirlerinden ayrılırlar. Nokta (Dot) giriş akış değişkeni ismini bir fonksiyon ya da bir isimden ayırır. C++ dilinde, nokta (dot) üye erişim operatörüdür (member access operatör) C++ Programming: From Problem Analysis to Program Design, Third Edition 21

Standart çıktının Yazılıması cout terim olarak << operatörü ile kullanılır. cout < <ifade ya da manipülatör << ifade ya da manipülatör...; İfade değerlendirilir Değeri yazılır Manipülatör çıktının düzenlenmesi için kullanılır C++ Programming: From Problem Analysis to Program Design, Third Edition 22

Çıktı Formatları (Formatting Output) endl manipülatördür. Çıktıyı sonraki satıra taşır. setprecision(n): Çıktının ondalıklı bir sayı olarak görüntülenmesini sağlar. fixed : kkayan nokta sayılarının ( floatingpoint numbers) belirtilen sabit bir formatta görüntülenmesini sağlar showpoint : Çıktı mutlaka ondalıklı olarak görüntülenir. C++ Programming: From Problem Analysis to Program Design, Third Edition 23

setw Manipülatörü setw sütunün istenilen uzunluk değerini verir. Eğer belirlenen sütün değeri, ifadede belirlenmiş olan sayının sütunlarını aşarsa - İfadenin çıktısı sağa dayandırılır - Eğer çıktıda setw ile belirlenmiş ama kullanılmayan sütunlar varsa, boşluk olarak sol taraftan doldurulur. C++ Programming: From Problem Analysis to Program Design, Third Edition 24

Çıktı Formatı için İlave Komutlar Çıktı akış değişkenleri setfill komutunun yazılması ile ile kullanılmayan kolonların 8değer atanmamış olan sütunların) bir karakter ile doldurulmasını sağlar. left: Çıktıyı sola dayar. setfill ile birlikte etkindir. ostreamvar << left; left komutunu etkinsizleştirmek için unsetf kullanılır. right: çıktıyı sağa yaslar ostreamvar << right 25

Manipülator Tipleri İki tip manipülasyon gerçekleştirilir: Parametreli Parametresiz Parametreli: iomanip başlık dosyasının verilmesini gerektirir setprecision, setw, ve setfill Parametresiz : iostream başlık dosyası gerektirir. - endl, fixed, showpoint, left, ve flush.. C++ Programming: From Problem Analysis to Program Design, Third Edition 26

I/O ve string Veri Tipi Bir giriş akışı değişkeni (cin) and çıkarma (extraction) işleci >> birlikte «string» tipinde bir verinin okunmasını sağlar. Çıkarma (Extraction) operatörü «whitespace» karakterleri atlar. Bir «whitespace» karakter ile okuma durur. Boşluk içeren dizgilerin (strings) bu operatör ile okunması mümkün değildir. getline fonksiyonu Mevcut satırın sonuna kadar okuma gerçekleştirir Boşlukların da okunması mümkündür. C++ Programming: From Problem Analysis to Program Design, Third Edition 27

Dosya Giriş /Çıkışı (File Input/Output) File: ikinci bellekte (secondary storage) tutulan verileri gösterir. File I/O 1. fstream başlık dosyası (header) içerir. 2. Dosya akış değişkenleri bildirilir. 3. Dosya akış değişkenleri (file stream variables) giriş/çıkış kaynakları ile ilişkilendirilir. 4. Dosya akış değişkenleri >>, <<, veya diğer giriş /çıkış fonksiyonlarını kullanır 5. Dosya giriş/çıkışı kapatılır. C++ Programming: From Problem Analysis to Program Design, Third Edition 28

Programming Example A theater owner agrees to donate a portion of gross ticket sales to a charity The program will prompt the user to input: movie name adult ticket price child ticket price number of adult tickets sold number of child tickets sold percentage of gross amount to be donated C++ Programming: From Problem Analysis to Program Design, Third Edition 29

Programming Example I/O Inputs: movie name, adult and child ticket price, # adult and child tickets sold, and percentage of the gross to be donated Program output: -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Movie Name:...Duckey Goes to Mars Number of Tickets Sold:... 2650 Gross Amount:... $ 9150.00 Percentage of Gross Amount Donated: 10.00% Amount Donated:... $ 915.00 Net Sale:... $ 8235.00 C++ Programming: From Problem Analysis to Program Design, Third Edition 30

Problem Analysis The program needs to: 1. Get the movie name 2. Get the price of an adult ticket price 3. Get the price of a child ticket price 4. Get the number of adult tickets sold 5. Get the number of child tickets sold C++ Programming: From Problem Analysis to Program Design, Third Edition 31

Problem Analysis (continued) 6. Get the percentage of the gross amount donated to the charity 7. Calculate the gross amount 8. Calculate the amount donated to the charity 9. Calculate the net sale amount 10.Output the results C++ Programming: From Problem Analysis to Program Design, Third Edition 32

Formulas Calculate the gross amount: grossamount = adultticketprice * noofadultticketssold + childticketprice * noofchildticketssold; Calculate the amount donated to the charity: amountdonated = grossamount * percentdonation / 100; Calculate the net sale amount: netsale = grossamount amountdonated; C++ Programming: From Problem Analysis to Program Design, Third Edition 33

Variables string moviename; double adultticketprice; double childticketprice; int noofadultticketssold; int noofchildticketssold; double percentdonation; double grossamount; double amountdonated; double netsaleamount; C++ Programming: From Problem Analysis to Program Design, Third Edition 34

Formatting Output First column is left-justified Numbers in second column are right-justified When printing a value in the first column, use left Before printing a value in the second column, use right Use setfill to fill the empty space between the first and second columns with dots C++ Programming: From Problem Analysis to Program Design, Third Edition 35

Formatting Output (continued) In the lines showing gross amount, amount donated, and net sale amount Use blanks to fill space between the $ sign and the number Before printing the dollar sign Use setfill to set the filling character to blank C++ Programming: From Problem Analysis to Program Design, Third Edition 36

Main Algorithm 1. Declare variables 2. Set the output of the floating-point to Two decimal places Fixed Decimal point and trailing zeros 3. Prompt the user to enter a movie name 4. Input movie name using getline because it might contain spaces C++ Programming: From Problem Analysis to Program Design, Third Edition 37

Main Algorithm (continued) 5. Prompt user for price of an adult ticket 6. Input price of an adult ticket 7. Prompt user for price of a child ticket 8. Input price of a child ticket 9. Prompt user for the number of adult tickets sold C++ Programming: From Problem Analysis to Program Design, Third Edition 38

Main Algorithm (continued) 10.Input number of adult tickets sold 11.Prompt user for the number of child tickets sold 12.Input the number of child tickets sold 13.Prompt user for percentage of the gross amount donated 14.Input percentage of the gross amount donated C++ Programming: From Problem Analysis to Program Design, Third Edition 39

Main Algorithm (continued) 15.Calculate the gross amount 16.Calculate the amount donated 17.Calculate the net sale amount 18.Output the results C++ Programming: From Problem Analysis to Program Design, Third Edition 40