 today we will be discussing the notion of structures called a struct mechanism in c++ how do we define structures and how do we use them we will then look at files, we are familiar with files we use files to store our programs ہم دی memory پیارے میں احت over شروع کی مح inequities اور مر�� پر ایghanی سے ا quantoاری سے مدھو ساتھ ہいきاتا رہا ہے کیوں کہ یہ ایک تین پہنائی ہے سب ایک کمی کریں گے سوچسھ جو ایک بہت کو طور پر مدھو ساتھ ہوں بہت상이 میں ساتھ ہوں جس کو ایک کمی کریں گے اور جس کو ایک متابکہ کہ جس کو کمی سے لاکے کہ شروع کے بارک видим اور شروع کے بارے میں بہت سے ایک کامی کی تہیر آنڈیوی خطفہ جانتے ہیں ایک چ非رس فائر کی فیلس کو ساملی کی میکانسم لکھا جنا ہے اور لہذا آنڈیوی خطفہ ریٹنگ اور خطفے کے ساتھ آنڈیوی خطفہ کی مقاوثیت جنگ دیگی کریں میکنی Argentina سمجھے ہمئے بہت سیکار آنا خوصنا آنجے کے مقاوث اگر کی انترامت پر حسابی چھنے سے like جب Fine Aww! ایک پیلنے کی اکزی لگی ایک سب아요 اگر کارجی لگی کی فلیس کو جانتے ہیں کیبود Bring یا تھرمینل کیا دوسرین کی فلیس کو بھی حسینوں میں آباک سبنار پاس جو دوسرے ہی مکم کرنے کی ہے نشک یہاں ہے بہت سب سباک پاس کیا دوسرے کی صرف کیلی ہے یہ مجھے آگا، مجھے بہت بات سوچ ہی بات سوچ ہی بات سوچ ہے۔ ایک بیلیٹی کے لئے اگر سوچ ہے اگر اس پر مجھے ڈیز پر متہ ہے اگر رائس اگر ڈیریکٹ ایک سوچ ہے جب آپ کو تھی مجھے ہے۔ اس لئے 10 نوٹی machet سالسی سیکتے ہیں ، آپ کو کیا آپ یہاں بہت بڑا چونڈی پڑتا ہے۔ پہنے پر بہت کس چلی پہنچ کے لئے کس چل ہے لیکن آپ نے اس رسالت کو دیکھ کیا بہت بڑے آپ میرے جانتا ہوں ایک 되고 آپ کو میں جانتا ہے اور وہاں حار함ہ شہر ہے۔ اگر یہ نقاس کی حالات پر آکھائے آپ ان میں جانتہ ہے سوشانiga Жیسک حالاتی ہے جو نمیقیی پیادے ہیں اور ہم اپنے خود پرمیشت کرتے ہے مجھے کسی ساتھ بہترہ ساتھ دیتے ہیں ، کہاں بہترہ بہترہ ، اوہ مجھے ساتھ بہترہ ، اوہ مجھے کتبہ ، اس کے لئے آپ کو 100,000 ، 10,000 کی مجھے کتبہ ہوتا ہے ، لیکن کیا جس کا مجھے کتبہ ہے۔ یہاں جانتے ہیں جب آپ کو دیتا کرنا چاہتے ہیں ، جو آپ کو مجھے کتبہ ہے ، ا., ساکتaan جس دیکھ سکتی ہے کہ تال کا مطابق نمو اور مستمبلitting نمو کے مدیئے نمو دیکھتے ہیں. تو کیا آپ اپنے حافظِ حافظِ حافظِ حافظِ مدیئے آنھوںے کہ انہوں کو مجھے دردی کیا ہے؟ مف slammed ہے جو حقید شکر آپ آپ کو کھوٹس مجھے لیے آنہ میں مصطرح کیا ہے lobster نمو و روم نموی with لیتی conteúdo ہی دفٹوں سے مجھے پڈھنے کے حافظِ حافظِ مدیئے آنے میں کھونے کے حافظِ حافظِ حافظی ہیں۔ مدید فرمسی سے محدک اچھا پہاہلے میں آیا ہے جس کسی پر اچھا پر مدید فرمسی سے ا própria ہوتے ہیں ہوں کے ساتھ یہ مدید فرمسی ہے سوشن شخصی لیکن يابی حیوہ سید یقینی ہے آج چیز سود میں ایک چیز کی عویت ہے مدید ایک چیز جو حیوہ ساوچس کی چیزیہ ہے لیکن ایک کچھ جو ویوہی کی محاٹی ہوگے مدید فرمسی میں بڑے گا کیسے مدید فرمسی ہے because of information that you would like to store for a student. What we are trying to describe here is the situation where the information that we want to represent about a student is not all of the same type. For example we know that the hostel number in IIT are numerics so 123456 etc. Room numbers are numerics. Name is a character string. ہمارے گرد row urine fishermen مoba Propμαι بر시 Colombia بسب affection Parlament casa و کے باری اور طوالق اور ضسارừ بات آپ門 رکھا Mintتیو ماکویر جو بہن مطالخ دویہٹ شouth دیں کہragen رروح ام better than to a مlarda انہوں ، سل सکتے کی做نی فردا کے ساتھ ہے سوڈڈہ ہمارے گردس اسます مت presentation خوبصہ من سوری مت امیناکو Herroter ایئ Joy آپ درستوں کا فرق آپ کے ن Σٹیپ لیت زندگی اور یہ مغلقی سام Спراہن اچھا جہاں فرام یہاں ہے مغلق کی سوچنے کیamy ا یہ اچھا جہاں مغلق کی سوچنے کیا ہے یہ فیات کیا ہے؟ تہیاری ت میں کاتا ہے تین کارچی کارچی اپنے جمہوں کو بھی کامیوں کی طرفی کروست ہے مجھے میں لوچ کی تعلب کو لیتا ہوں بہت بہت بہت سیئے مغلقی سوچنے کی کامیوں کے ساتھ رہے ہیں اور ایک چیزیں کیا ایک نبدالے کی مغلقی ہے اس کے لئے اس مکنینسم called ڈرکٹی ہے۔ ڈرکٹ ہے جو ڈرکٹی ہے۔ ڈرکٹی کو کیا انہوار پر کسی کیا ہے؟ لہذا آپ کے لئے لیے ملدگوں کو لیتا ہے لہذا آپ کو کم کم کسی کیا ہے؟ یہاں ایک حال ہے ڈرکٹ ڈرکٹ ڈرکٹی ہیں۔ لہذا ڈرکٹ ڈرکٹ ڈرکٹی نہیں ہے۔ ڈرکٹ ڈرکٹ ڈرکٹی نہیں ہے۔UD Aku بہت آج راہ ہم خاص ب Limited ڈین ساد کالنش ہے سن이가 س sto شی فرمان کے خیارات میں کیжا چوند کرنا حقا ایک جب in lighthouseadh quero م Flip چاہتا ہوں کہنا ج Eink còn some of 20 notamment 7 بلитесь youTF ہے evenрах اونچنگ رو بل شوڈن سبت ہے ۔ سبت رو بل شوڈن نبجان میں کے دارے۔ ن Smithsonے والے اوی شوڈن مرے جینے آجی میکنے کے مطلب کوا اور رو میکنے کے حصہ اللی دارے کسی پرانس تھے۔ سبت ہم ترمینا مجھے مرے جہاں اپنے شاہروں کو مطلبaine ہوتی ہے۔ اور اپنے شاہروں کو butحدی کیا یا سبت ہی جہاں ہی نہیں پرانسہ رکھتے ہیں۔ ڈیویٹی او ڈیویٹی یا بے لیکن لوگ کیای ہمارے والد بلینی ہر ڈیویٹی ڈیویٹی روش موکنے کیای چیزی بارے میں مجھے ڈیویٹی ڈیویٹی ہیں جب اس ڈیویٹی موکنے کیای اور مجیہ6 بھی کمی کا ڈیویٹی روش موکنے کا مجھے لائے یہ بھی سمجھ کتی چیزی سامنے دینیای کے لئے میں باتا Yoda آپ کو سامنے دینیای کیای اس حوہر다고 فرماہات کو دیتے ہیں لیکن کیا اس میں آبا تطوریات کا name ہے یہاں یہاں تاکہ ایت ایت ایت ایت ایت ایت ایت ایت ایت ایت ایت ایت ایت اس میں اس میں اب شہاں برادہا بنائے ہوں اس بہت سب pike سنوہ اس اللہ کے بھی مطبور کی طرف آبکہ ایت حسونیت میں آبا تطوریات کو دفعائیں انہوں میں مطبور flowers مع دوستی và بہت مطابق لیےції اور میں بہت سے مختلف ہوں میں ہمارےکا کہ سوان ایجا或者 اہمیس کی چھوشا ہوں میں ایک ننائیار جوابپرس اہمیس کی طرح کی ہوابپرس بھی گا اس کی سی ہوتی ہے میں اس بہت ایجا کیا ہمارےکے کیا ہوں اس کا بہتناسی کیا کرتے ہیں اس سہنی کیونسی اسہ کے لئے ایک بالکعم کی دیکھ الجائے اس کے لئے م ہوئیองیں کے لئے ایک بالکعم کیا کرتے ہیں اس ایک بالکعم کی جوابپرسیہ کیا کرتے ہیں لیکن یہ اس کا وقہ حصہ فرق دیگات میں وقہ حصہ فرق دیگات میں حصہ فرق پر خود ہوتا ہوں حصہ فرق ہوتا ہے ملے سے جو ایک اپنے ملی میںا یہsquare لیکن ہوتا ہے لیکن اپنے ملے کو ایک اپنے ملی کے اپنے ملی کرنے کے لئے وقہ حصہ فرق پر کلائر جب اس کو اپنے ملی کولے کیا کرتے ہیں ان کی ہے کہ میں اینکہ گرفتا ہوں اور ایسا کچھ طبیق کی ضرورت کے لئے کہ میں پرندہ تک مرات نہیں ہے. بہت سے اختیارت اینکھانے کی ضرورت کی ضرورت کی ضرورتIX بھی آپ کا مکر ارمیٹی کر رہے ہوں گا میں ایک اپنے اپنے اٹھانے باکنے میں ب Wallace دیکھ لیا ایک بار Jupiter ڈانٹ انفو میں بیم پرندہ باتانوں میں آگے جب�� ہوں تھا بھر جانتے ہیں ویڈیوائی ہی کہ میں به جب میں اس رکتے ہیں معigned ڈانس badly you س another structure variable the struct info student info variation is being passed to the printed student info function we shall see that function shortly but at the end when I come back I simply return zero and n in short this is a dummy main programs out of which reads one students data helped an into these four components gets it printed by calling a function and quit I hope that functional look like first of all the function مررت ا کا اسمان ہے کہ میں نے مررہا ہوتا ہے اس کے مبال کیا ہے؟پرادمینوجہ ہی بات دوسری قادم سے کسی ہوتا ہے اسی خوانے سے کسی سے کسی سے کسی سے کسی گیرہ ہوتا، لہذا آپ کے مبال کچھ اٹھنے بھی بایا مررہا جیس کو اتنا줘 اور ایچھا کیا ہے جس نے اٹھنے بھی صرف کیا جاتا ہے اگر ایک بھچ المبال کامی تو میں because지는 کہ اپنے اسٹاک ن sculpt صورت워요 اس سے� cradle صورت cetera مجھے طفل ہوا should be handed over to that function one point is to be noted here since struck is a complex data structure just like an array it is not copied in its entirety but like an array a pointer to the structure is passed that is automatically done so then I come out here when I say st.name I mean the name component of the argument that our parameter has ا케ی穔ٹ ڈاڈ不是 اکین اکٹےюсь۔ بری نکفر کرنے کا corpse حا Hahaha کہ اچھی بہت ک lace من acab ما مبتا اس کیپرہ لیکن شاوان میں اپنے میں weight ڈاڈ pole ما بن کنیmain مارشadata's ڈھ gan سھی stayed ایک سے بیٹھن دیرا ابanks ناہ disappointment ایک چلاد tiss ایکCE another ڈیڈ失د جس وہ یہ ایک کے لائف ایک کے لائف عاقبہ میں جو اپنے عنطال اگر اپنے عنطال کرنا چاہتے ہیں تو سعادی موجود کو کم نقص ہوتا ہے ایک سوانہ میں مجھے موجود ایدیں ہے بس اسٹ عاقبہ منہ پر مجھوں کا مختلفہ نہیں ہے اسٹ عاقبہ منہ پر مجھے مجھے انفاہوں کا مح documentation نہیں ہے سبنے میں مجھے سوچ کیا ہے جب یہ جسدیت سکتے ہیں لیکن یہ مجھے معلومت پر سکتے ہیں اور یہ سب سے بہت سکتے ہو گا لیکن یہ کسی قویت کیا ہے لیکن یہ سوچ کیا ہے اور ہم اپنے دیکہیں دیکلیراتوں کو دیکلیرات ہم تک دیکلیرات سکتے ہیں وہ خلال کیا ہے جو جس کے مجھے مجھے بہت زیادہ اوہی آئے جس کی مجھے مجھے سکتے ہیں ہے ama اما امتنائی انگلوبرسکودر ہے یا بہت وہ مرتبẤتہ دیا ہے جس طرف ہم جاتا ہے کہ ہمی اخبرید امتنائی مرتبیaining معباہ ہے سی این سیوٹر کو مرتبیعلیشہ سے سبنیسم کی ضرورت ہوتا ہے ہمی اخبار آئوں کی دروت کیا ایک اரہ انکلوبری değil جانتے ہیں جو امتنائی عمل کے حلویتی ہوتا ہے جو ہم امتنائی مرتبیعلیشہ سے مرتبیعلیشن ہے ہمیں اپنا یہاں دیکھتے ہیں یہاں جو گناہ میں سمجھتے ہیں لہذا یہاں ہوں اور یہاں بھی لوگوں کو دیکھتے ہیں Visit بہت مہامہ ہے ہم اپنا یہاں خفیرہ دیتے ہیں اور لہذا اپنے تصرحوں کے لئے اپنے ہوا ہوتی ہے جیسے اُ典 Orale جانے میں دیکین کی بلا کے�� caso کے سởندہ کی زیادہ Moss viewpoint باتنی اور آہرتی ممترا ہوا بی کر olmas گا عاقت yıl ہے کہ اپنی آہرتی کو کسی ب видеоگر سٹا کے لأ کتzur Aujourd اstar تا ہے شاید ساتھ امرے جائ �ہل آہرتی سے مشکل ہےCH Resource蓄ث دیب کہ مہاد اور آہرتی اپنی آہرتی Yun Production palabra جہاں ایکINE مجھے اٹھی بح childhood دائیں انٹران، کen  �ہل Fish," بہت وهї بہت لہذا م seldom look بڑھتی ہے لے انہوں کی حنالی کانیسرimosن will go through it very quickly ۔ ۔ ۔ ، ۔ ۔ ۔ ۔ ، ۔ ۔ ۔ When we said float what does it convey to us ۔ ۔ ۔ ان its structure tells us you look at the internals of the float Remember we said float number will be stored in four bytes but is it like a un sign in to something in the continuum of bits اگر ہوتا ہے جو اگر ماتسہ ہوتا ہے وabb کیا امرعدہ ماتسہ ہوتا ہے اور سماہتین کیا جو امرعدہ امرعدہ جو امرعدہ جو امرعدہ لیا ہے سمجھی ہوتا ہے جو امرعدہ بیشتی ہے ابین پر انہوں کو واضح ہے اور اگر جو اسی محدود س Muse پر گشنے میں دینا لیا لہتا ہے یہاں امرعدہ امرعدہ سومنیوں نہیں جو امرعدہ ہوتا ہے ہم distinguٰہ ہم اس کو زیادہ رہنا کیا جانتے ہیں own بہت خیلیہ دقائی کے ساتھ لگیتے ہونے ساتھ نکل نہیں ہے ہم دو قصدی پڑھنے کا اشتہہ پڑھنے میں ملیشہ کرنا profession مجھے کتب ہے جو ایہاہدو نجائے کے دو قصدی میں پڑھنے میں ملیشہ کیا ساتھ مرتبہ کرنا جانتے ہیں اور احمل کی جانتا ہے اور یہ معاہت ساتھ اسیثتہ اور احمل کی جانتا ہے پر تک ببادہ رہا ہے اسیثتہ اور احمل کی جانتا ہے اور یہ جانتا ہے اور نما Or trophy جانتا ہے بہت کیا ہوتا ہے پچھا فائتہ دکلورا ہے چھوڑ کروڑیر کوئی شروع پیدا ہے کم مجھوں کے ایک آج اگر markاہی دیکالیرشن کی حقیث بہسب ہے کہ بےریا بکنیت تصورت پڑے گاتا ہے اگر ہی ایک برائے رائے رائےcotma دیتے ہیں اگر Somehow پھر تو آپ کی توئی موجود چیزکلی ایک بارے کے لئے یہ سب کامایا بڑائیں گا لیکن وہ اور ہمینک مشہرنے کی نقل کرنا چاہتے ہیں وہی ایک بارے کی ایک بارے کے لئے samples ہے تو آپ کو own موجود پڑے دیں اس دوری سے کسی ایک کچھ جسمہ نہیں ہے کیوں کہ اس دوری پوأڈ مانتیز کےیسی تک جانے میں کسی ملی انشاط جانا ہے کیوں سبکل ہے کہ 0.2314E2 اور六 دوری میں اکسی بارے میں سے جانا ہوتا ہے وہ معلومی سفیہ منتیز will تیسا کہ اس کیا کہیسی گرینے ساتھ بہت سالی بہت سالی will ایک ساتھ بہت سالی ساتھ سکتا ہے اس کے کیا کے کیا ڈیکلیڑائیوں liveٹاپ لیتے ہیں؟ اس کا نام یہاں بھی کا آجہا ہوں جب farkد سے ہوں ، آجے میں دیکل کر جرت مربطے جانی ہو这 جس لیتے ہیں اگر میں ٧برا کاد ٧برا ک길 picks امتص警 م Rabrat Ram chopsticks الجربوں کی نام م یک کارسی ا' ڈھمبر ڈھنپا سیز دیتے ہیں گے یہ بہت اکھٹا اور التایک دسم ہے اور these will have 3 کمپرونٹs One will be the in type Another will be float type and still another will be ڈیڈین It is also noted by c++ at this stage itself that if and when variables are declared of this new abstract data type ہی管م will occupy何 many bytes four bytes for int a four bytes for float one & one byte for kasea so four plus four plus one nine bytes will have to be allocated if & when i declare variables this is what then it would mean to dump o that all variables of this type will have exactly there is a mistake here should be nine bytes right لہذا محorie ساری ساری دیکھا پڑھتی ہیں۔ ہے۔ ان کو کلکتا ہے کلکتا ہوجاتے ہیں ، سبہشاری جو کلکتا ہے ، اور اپرائیہ一些 ملائق ملائق جو کلکتے ہیں۔ لہذا ایک نول خوبہت ہے ، اگر اپرائیہ ہندہ کیا دیکھائے گا ، یہ شانہ کیا ہے۔ اس pug نول خوبہت ہے ۔ اسی نول خوبہ، اُن مقادملح ہندے ہم دیکھ لاتے ہیں ، پڑھنے ہیں ، یک زیادہ ایک انسان developers اگر ستا جانتا ہے dann سف خواہ کسٹ میں معاہت کرنا ہے 외قت مملم کی last تکابة کرنا ہے ان پیس و sabia شرط ہمclears اباہ siè جیاسِ موٹSí تاہد چاجیں عمل حالوں کو فکر کر جائے دیہاں کون جو توکسہ پر تکصیب کرتے ہیں اور ایک حصول جانوں کو عجای سے کتا ہے کہ ولیکر کتا ہے ایمایتے کتا ہے لہذا پہلے bağیہ پورا ہوں گا عجای didوچی کو زاگی سالد تککہ کنے آج کتا ہے ایک بہت طرحچا مرحولی بھی کتا ہے also آپ اس دعا بھی ایمیان باقی indem عجای سے جو آپ کتا ہے تو ایمیان باقی دکھائے وشکت ساتھ قاعدی ایمیان پرمزا ہے اور ایمیان پرمزا ہے اس سے بارے میں ایسی دیکھا ہوتا ہے اور یہ سب سے بہت کبھی دہاں مہدہ دھیکنے کیا ہے آپ Jennوز تلیوں کی اصداد اسا ساپس کیا ہے؟ یہکہ اس جو ایسی ایسے ساپس سے ایک جو ایک کوئی ایسے ایسے ساپس کے ساتھ ساپسی کرنےی ہے لہذا پراہتا ہے کہ اس سے بارے میں ساپسی کرنا بھی اس سے جب کجا گیا ہے these would refer to the car r.a.name for a particular Ith student. I could say si dot role, si dot room, si dot hostel. Etcetera. In fact since name itself is an array I could have name just this name I could use in what I call SC out of C in statement. But if I want to manage some of the character positions within the name یہ سب睡 میں لگتا ہوں ، جی ہے اب میں کو جی کتی ہے گی tears سکتا ہے ، اینے اپنی جیت ہے یہی جہاں شروع حاصل کر جائے تھا اور ہیcake شروع حاصل ہے دورت ہوں یہی جو کمی کرولی کھانے والدہ اور تستحقی ٹھیکسام ہوتا ہے ایٹر شروع ہوتا ہے آپ کی دیتانہ لہذا مجھے ملئ음ہ تاکتا ہے میں لوگوں نے pediatricchemistry مجھے اپنی اپنی ملیہی حامہ کے بہت ایک تفنیشوں کو روش جس سے بہت 거야 ، ہم کی سلاحیں کم پر لہن ڈرنگزی کے پاس سے مطاری بہت پاک میں دیگی ہے۔ ہمینے ایک بہت کنہوں کو ہم سے میکاروں کو ہم جانے کیٹنا ہے بڑھے جاتا ہے ، لہن کسی اگر جو حلوپر آئے جبہ ہم بات حضورتی ہیں، ، میکاروں میں اپنی محرومان گوزہیں ہیں ، وہ پوری سواء کچھ خدا جاتا رہے ہیں وہ نا خدا بہتabis کے ساتھ آپہ آپ comfortable بھی آتي مانتی ساتھ ایک منارر اپنی تلوان سواجب ساتھ اپنی ویٹو ہوں پہنے راحت سواجب سواجب سواجب سواجب بھینا مقلخئ سواجب دریگٹری اورworking ویٹٹری کیا آپہ جانتے ہیں اسے سواجبstalپ اپنی اپنی سواجب سواجب سواجب بھی一個 خدا دیتا can be written to it ویٹر can be retried from it ہم جب ہماردیتا ہے ہے کہ اس اپنے پرانی تاکہ وہ مجھے بلائے گوزی ہمارے stove Fixed aencer ، اسی تقابلاتوں کو موجا ہوتا ہے ، یہ کوئی بہت مجھے مجھے کسی اگر میں اپنے پرانی تاکہ ہوتا ہے دو ہمارے پرانی تاکہ کسی کسی پرانی داگہ نمیڈ نہیں انا مجھے بھی جانتے ہیں ،xypush پرانی تاکہ وہ مجھے کسی تاکہ مجھے کسی پرانی تاکہ ہوتا ہے ،집 دے Salutation مجھے کسی نمیڈ کرنے کے ساتھ مجھے کسی پرانی تاکہ نام title جہاں پرمچتے ہیں ذِ vidéos ہوت), لیکن لوگ میں'llouxidy has drama 他رابط مکرنی ہے mayہ ہے۔ ڈیزی آنھا ہے مکرنی، بات ب pil کافی جو جو نام ہے۔ معاہلی پرطلی طرح میں بھی کے علcro طرح سالتان ہوسکتی ہے۔ ڈیزی آنھا ہے ڈیزی آنھا ہے ڈیزی آنھا ہے ڈیزی آنھا ہے بہت منطل抽شیشی ساتھ لیکن ڈیزی آنھا ہے ڈیزی آنھا ہے ڈیزی آنھا ہے بہت منطل抽شیش سے محرمانی تعلقات کا ملتای نظر کا بڑا میکھنے کے لئے جب شاہتے ہیں اور محرمانی تعلقات کا مدنے کیا جو ہمیں باکر ہم دیکھنے کے لئے سال سی سکتے ہیں آپ کو آپ کو یہ سکتے ہیں اور this day suffice it to say that there are platters like this which are coated with magnetic material typically on both sides اختیاری when you have a CD drive or a floppy drive you have a single platter which is mounted on a spindle پر اپنی پہلے اپنے پہلے ہوئے، لیکن اپنے پہلے پہلے درس پہلے ہوئے شخص بگے سرانہ اپنے پہلے راستے کو۔یرانٹ پر حام میں توہجی کسی راستہ اپتکل مہارے ، شخص پر اپنے پہلےر اپنے پہلے ہوتا ہے کہ یہ مکنیت ہے۔ اپنے اپنے پہلے راستے کو فاقورت سکتا ہے اور يتلی بیا کرنے میں من way کنتشتا ہے۔ جو پر اپنے پاتے کیا proszę۔ پر بارے میں اپنے لٹھا بارے میں میں مطاہ رہنا جائے گی؟ پچھا سلدہ تک آتا ہے،そのب میں مطاہ سے بلدے میں بھی پر گیا ہے اور آتا ہی مطاہ کو بھی واقعہ دتی ہے انہوں کو مجھے گا کہ آپ جانتے ہیں ہموں سے بھی تعلیفت کیا اور سمجھ کربے لوگ کا ارشان دیکھائیں گے مجھے تعلیف اور ریٹی میں مجھے گے ہوں جانتے الے جو کمکٹار شکل ہیں یہاں وہ نہیں ہے 100mumbling 100 ہنکٹار جانتے ہیں کہ جانتے ہیں ۔ than you form at a disk this tracks are formed by the operating system within the track there are sectors and usually you read or write one sector full of information and the way you read or write is supposed to want to read this information which is and this sector all that you need to do is move this arm such that the arm head come exactly on top of this track currently یہ ملیہ یہاں ہوتا ہے جب انہوں پر Taeہ myos کو برہا ہے۔ اور سب ملیہ یہاں ہوتا ہے۔ اگر اس لیگتے رہے سے برہ shoots فرمارے کیا ہے اور اس کے طرف ملیہیں کانا ہے آپ اسی طرف ملیہ ہے اس لیگتے میں پہنے والا کو دیگیہ ہے کیونکہ یہاں ہوتا ہے جو پھر منہوں کے ہنمارے کے انجا میرے مرت yourہ یا اہمًا درکتے ہیں مباقیس اوپرowania پر پر کی جسٹر امیذیوں ایسی کمی چاہی کا عنطاب ہوتا ہے جو یہ جب پہنے کے عنطاب ہی ہے یا اگر یہ ساتھ بہت کیا آپ کی حالت دائی ہے because I can go to any character that I want by these mechanisms سملا رہ within a file I can always regard a file on the disk as if it's an array of characters ایک آئے خالق کے لئے she응ا ہے، لیچہ پر اُس خورت میں تو خودی آئے рہا ہے۔ میکنی دوکر کرنا ہے بارنے میں ایسی آیا کرنا ہے خودی آیا کرنا، خودی آیا کرنا، five thousand four hundred and thirty-fourth بارنے کی باریں رہنا ہے۔ سAmerica کی تعرقتے رہا ہے۔ ساکڈر ہیں اور اس یہ کیا ہے۔ call a direct access devise۔ نال And as you can see this direct access mechanism being exploited in our programs at a later stage. eventually looking at the sequential files which we are one of the file tasked here is something謂hand operating systems we are files so this we have seen files Respiting an this is organized into directories and sub directory every user is given a home directory and for the operating system our file contains a number of bytes which is the size of the file now, when I have the file called dot cpp the operating system Maybe it can infer that it contains a text which is a c++ program. If I have a file called .txt, the operating system can infer that this possibly contains some text data. However, there is nothing sacrosant about it. You may choose to store some native binary format integer numbers in a file and call it something.txt. جب آپ اپلہت کتی مباتلہ سیسٹر اور پر میکارتا کے ساتھ بھی سکتا ہے. اس کی پہلے ہے جو محق willہ میں بہت کتائے ہیں اور کتی بہت کتی بہتہ ہے کہ آپگے اپلہت کتی مرانیiga ہی جانتا ہے ایمہاہی جو مبروحہ کیسے ہیہاہی اپلہت کتی بہت گیکھتے ہیں اور پھر کتی ساتھ بہت گیکھتے ہیں تو آپ گیت کے وسط پر آیا ہوتی ہے کہ آپ اس کے حرام کے حرام کو پر ساتھ پر آیا ہوتی ہے رستهتنان سینے کے م Hunt یہتے ہیں وہ سائل سے جو کچھ بناسANOھ ایک پانان جو اورOSHز ڈ کے سال یا گ больше look ڈارNING سیسٹا لی ہے کلان ، کیونکہTony م کے نخوص فکرچ still want to read it will give you only PennsylvaniaFunٹ 줘شان Standards اوٹ produce There are some ڈیل ٹھ اگرVOeta اپنیinyrr söz wprowad ج errors ڈیٹا پارنے ڈیٹہ ڈیٹا ڈیٹہ ڈیٹ Ahh لے ڈیٹا پر تبار کر کے آٹی کار Dil خیل جو ، لے ڈیا Lots be another 0 یہ آج کوئی چیز سکتا ہے سمجھنا ہوتی ہیں کہ ہمارے کو اس제ب کی مشروع کرنا بات کی تک لگنا اور ہمارے کے起بت نیست کھابیں ہمارے کو سلزا ہوتا ہمارے کے起بت ہارہی جانتے ہیں اور ہمارے کتی سرطانی کهفے سمجھنا کمی سیدی جانتا ہوتی ہے ہمارے پر حالی میں سید کروش آجی دیتے ہیں جارتے ہیں کہ کس ممہوں کو کانے میں نہیں ہے ماتوں کے بارے میں ہمارے جاتا ہوتی ہے نمازات اطبیشای کو سمجھنا ہے ابہاں فلک اپرٹس آگا ہے تو اپرٹس روحہ بنے کیا ہےammers سے فلک کے لئے能 کامی روحہ بھی سے بھی تک ہوتا ہے کہ جو لیئے میں کی طرف ہے تو مجھے روحہ بھی اپرٹس مجھے تھا کیونکہ یہ آگا ہے کوئی پڑھنے کے لئے پرجو ہے فلکی میں وہ اپرٹس روحہ بنے کیا ہے فلک سے کائنٹگ کو دینا چہ길 کیا ہے سال لہوں کو سوچ حضرتہ کی ضamہ عضلہ لہیں اب انری yön جانتے ہیں سوچ يعادت ہے گards کہ ہاں ان ایک کاملہ بلاک ہے اگر you want to indicate end of five while giving the input you don't want to give any more input you want to artificially tell your programme that end of file has been reached you type control d that's the units we have made that data has ended this is again known to you usually whenever your programme comes into existence three files areアٹوٹی گا کالصار سارے�یشی دے رہے ہیں جانتے ہیں ، اپنی دے, مجھے تلیمہ ویرخوش مجھے, اور یہ معلومی کے آرے کیا ، مجھے تلیمہ والا ، مجھے تلیمہ ، ہمہیں کرسکتاہر سکتاہر ، چون confrontation سکتاہر برو رہے ہیں۔ اور триنار کالصار الطاقتل جنکے کہا ہم اگر ڈیٹا ہے ڈیٹا ڈھوار ڈیٹہ ، اور اگر ڈیٹا عطا ڈیٹہ ڈیٹے کشفہ۔ نائی کی نائی تیلی میں کسی خود جب ہمارے سے ہانے کا س accessed ہوتا ہے انہوں نے انہوں نے آخر کیا ہونے کے باہر جب میرا سAmericans ہوتا تھا اسری کے پر ایڈار کے پر بہن ہی کہے میں کامی کی فائل menu کے لئے اور میں کامی کی ع Guide کنے کی بارے پنایا میں کامی کی فائل کامی کا سیکتا ہوں اپنے اور کامی کی سیکتا ہوں لاٹران کامی سے کامی اور کامی کے سیکتے کانے کے مزنے گیز کیا ہے سر다�وں کہ سر دیارے میں and سر دیارے میں ایک کیا Then we will do when we discuss the objective oriented features but currently we will look at the conventional file processing mechanisms available in c-plasmas لیکن ایک آپوچلیڈ ہ�ی نے پر س Glen because this is the reason why this is the reason why what you include in your program at the top is called include IOStream چیزavy Choose میں افترامنے میں اجاہدے پر بردنے میں اکسی تب ہی ہوگا کسی مشرف میں کوش کرنے میں لگا سیانے độان کوش کرنے میں کوش کرنے پر مجھے ہی نہیں کیا روح آپ کی کوش کرنے میں بھیغاقت ہے ایک فائل ا Daar مجھے ہوگا بہت سے پوائنٹر مجھے ہوگا آپ نہیں مجھے ہی دفعیہ ہے یہاں کسی مجھے کسی ہی ہے bike میرے لگی sixty سیانے پر آپ جو مجھے پر پر پروفرائی پر دیگر آپ کیا کل پر مفلود ہوتا ہے ، release پر پر ساری مجھے ساتھ انجا رہے ہیں۔ ڈیل کے پر ساری کبی رہن کو دیکھیں گے ، پر افتر حالت پر سوچ انجا ڈیل کبی رہن ، جب افبتر حالت پر افتر حالت سے مشاہ کرنا چاہے ہے ، معرفہ انہوں کے ساتھ جانیوں کو پر بنائی ہے ، جیس میں عمال کرے کی طرح اور کامیہ کے بحورتے سے دیکھنا چاہتے ہیں چاہتے تھے بہت اس لوگ میں راتے لگی عمل کے بحورتے سے دیکھنا چاہتے ہیں جو ج indirectly��이 کامیہ ا Schule لگی کرنے کے لئے اور سینات کو راتا ہے جیسے پائت پرائمت کو کامیہ کرنا چاہتے ہیں بہت پانچ طرح جو ج면ٹگ ہوئے لہذا when you declare phile star fp a pointer but this pointer is meant to point to something outside the program a file must be opened before you can process it and the data can be accessed by reading or writing again using standard functions we shall see what those standard functions are ب Ferrología جیسار ہے nails وسط جné ڈیٹا ڈےٹا Rosie an ڈیٹا ڈیٹا lot اپرادing سیسٹیم will allocate 3 پوائنٹر which will be available inside your program and these 3 pointers will point to 3 5s STD in STD out and STD RR now for this 5s as I mentioned since a file can be considered to be an array of characters C++ permits us to position a pointer this pointer is not the file point this pointer is a position pointer within a file I can position a pointer go to 1713th byte directly and read one or more bytes from that position as I mentioned we shall discuss this particular feature later when we discuss the binary files and direct access but this is an extremely important capability if we did not have this capability we will end up reading huge amount of data sequentially to search out something remember what I mentioned once that suppose in a higher secondary examination conducted in STD of Maharashtra all roll numbers and marks are recorded and they are stored in a file and one student's marks are required to be found out the only way you can find that out is read all the records from that is even if you have them in memory it takes non-trivial time to scan all of them if they are on this, you are sunk so you need a mechanism to say give me the marks for 453rd student ideally you would like to say give me the marks for roll numbers so and so we shall see how exactly roll number and position can be mapped later through additional files called index files however what is important is that positioning for reading or writing is possible and of course just as I must open a file I must also close the file at the end there could be errors while opening or closing a file why could there be an error suppose in my program I say open a file with such and such name mydata.txt however the file which exists in my directory is not called mydata.txt it is simply called data.txt obviously when I say open a file I am not going to do my program is not going to open it actually program will ask operating system to open that file by giving it the name the operating system will find that such a name does not exist so it can't open the file that means there will be an error why could there be an error while closing a file suppose I have opened a file in which I am writing lot of data and I am writing records after records bytes after bytes after bytes when it finishes I want to close the file however while writing the data suppose there is no display left on the disk bytes cannot be written more I will get an error in write suppose I have written all the data and I now say close but in the close statement either I have made some mistake or when I give a close statement at that time operating system encounters some problem with the disk it is unable to close the file in all such cases where a file can be either not open properly or not close properly an error is given by the operating system to my program which can be tested which can be examined just like you say if n not equal to 0 or if pointer whatever whatever now you can test these and appropriately take actions as you wish so here is again a recap star fp will point to the file object this part we are not going to see through an example the example that I have chosen is simply for opening a file, reading or writing something and closing a file but later I will use this feature so I am just explaining it consider these to be sequence of bytes so this is my file this is the 0th byte, 1st byte, 2nd byte and it goes on last byte how many bytes? size bytes just as I have a function to get length of a string in my memory there is a function to get size of a file from the operating system so you know exactly what is the 1st byte what is the 0th byte last byte now this pass could be an integer variable in your program and there are mechanisms there are function calls to say please set pass to a particular position once I set position to a point I can either read bytes from here or write bytes there of course if something else is written here already and if I write something else the previous thing will be destroyed like in a memory location indeed I use this feature to what we call update information imagine for example that this particular location contain let's say total marks of a student not 1 byte so it will be let's say these 4 bytes so it is a float value these 4 bytes contain the floating point number which represents the marks of a student and let's say the marks have been updated because of the review of the answer paper so 3 marks have been added so modified marks have to be written now I have written all other information about the student in accompanying bytes it does not make sense for me to write that student's information again somewhere else if I can find out somehow that this student's information is from here to here and the marks 4 bytes start from here these 4 bytes being integer or floating point I will have to construct a floating point value inside my memory position this array here and say write this marks which is float marks in the next 4 bytes whatever be the old marks build it don't rewrite this is an excellent facility that I have observe I do exactly the same thing when I change the value of a variable or an array element in my program but variables and array elements have temporary existence they are not persistent the moment my program execution goes arrays also disappear whereas the data on the disk is persistent and that is the most important aspect of the disk file once you write the data there the data remains indefinite so a file can be either sequential file or random access file if it is a random access file I can use these possibilities of positioning a pointer and so on if it is a sequential file then I can read data only one record at a time most of the sequential files are text files now when I say I can read records one after another how does the operating system go when one record ends and another record starts there are only two possible ways one is each record is of a fixed length 123 bytes for example some how I should tell the operating system that each record is 123 bytes or I should know it and I should read 123 bytes every time alternately if my records are of varying size as it happens in text file with different lines then there has to be a mechanism for the operating system to know when a record has ended and we all know what is that delimiter for a record it is the new line character so in a text file whenever a new line character comes one record has ended another record has started in fact get string function that we use capitalizes on this fact that a backslash n or a new line character is end of record or record delimiter or record terminator and it will read all bytes up to end of it similarly when I write a text line as a string then if that line terminates with a backslash zero then that will be considered to be one record by the disk file in case of binary files of course records are usually of a fixed size is something that we shall discuss at a later point when I have files I can do variety of things with those files mostly I will be opening a file for reading data or opening a file for writing data it is possible for me to open a file for both reading and writing which is called updating the data it is possible for me to open a file to append data for example I have evaluated 250 students papers I have inserted their records in a file now five days later my t.s. give me remaining 250 students data I want to just insert these additional 250 students data beyond whatever was recorded earlier this is called appending appending in a file is almost like you have a common file of papers which say 25 pages and you insert additional 10 pages into it you generally do that at the end so that is exactly what is done in append r stands for read w stands for write a stands for append this is about the mode of opening for the objective whether you want to read, write or append you also want to specify whether the file is a binary file or a text file the default is text file if it is not a text file then you have to say b for the word binary these are various ways of specify so these are called modes and these are prescribed in the open statement for the file as we shall see shortly if I want to read for reading only I will just use r r means text rb means reading but file is binary w means write wb means write a binary file r plus is for reading and writing r plus b or rb plus is for binary reading and writing for creating, writing and reading w plus there is a difference between these two which we shall see later for appending to a file a or ab so they are very very straight forward and simple things in most of your processing you will require to open files for reading or open files for writing or open files for appending and occasionally you will require to open files for reading and writing so as I said sequential files are able to read write data only in a sequence the position pointer is then managed by the read write functions automatically in concerns with the operating system and most text files are treated as sequential files and formatted input and output will always happen on text files in fact std in and std out or the file that you read from by when you use see in and the file you write to when you say see out are text files by re-direction you can put them onto the disk or read from the disk but they are essentially text files and they are sequential files see std i o see standard library for input output has to be included if you want to use any one of these functions as I said first you have to open a file so this you say f open filename comma more this is the string filename by which the operating system knows it my data dot txt marks dot txt whatever whatever mode is as we saw the mode f close will close a file the way you use the open statement this is the example you say fp you must declare file star fp somewhere so fp is one of the pointers you can declare 20 file pointers if you want you can open 20 files simultaneously but every file must be associated to the file pointer this pointer fp when you declare it it has no value no association so it is the f open statement which associates a pointer to a file point so when you say fp is equal to f open my file dot txt comma r the first string says name of the file physical name of the file has known to the operating system is my file dot text and the mode under which I want to open this file is r I want to open it for reading when I execute this f open library call the operating system opens that file and allocates the file pointer to fp subsequently all read write statements that I do on fp will actually be done on this file when I finish the processing I close the file by saying f close fp what are the various functions available you are familiar with scanf well you can have just as you have scanf scanf means standard in std in but if you want to use scanf on a file you say f scanf f scanf fp comma whatever whatever you write in scanf you can write here this is also an s scanf and that is interesting c++ is capable of treating a string within your program as if it was a text file and it can read from a string or it can write to a string so just as you say scanf or printf for reading from a string or writing reading from input file string or writing to an input file string you can also say s scanf and s printf so this is because c++ is capable of treating a string here you give string instead of a file pointer so c++ treats as if this is a file but with a limited size whatever is the size of the string you are familiar with get string so I can use get s but I can also use f get s which means get the string from a named file just as I can say get us I can say put string and I can say f put string similar to get string there is a function which is quite popular which reads one character at a time get c corresponding to get c for a standard in you have f get c put c and f put c the last one which I have mentioned here cf seek we will not discuss this but I think you can guess that f seek will have to do with the positioning of the pointer in that large this size so f seek, fp, offset, wends etc we will discuss this later incidentally this is an extremely valuable reference I think I had mentioned it once earlier I have asked a few students but very few people seem to have even looked at this there is a very powerful reference on the net free and I think you should look at it so this is actually a c++.com site and this has practically all the explanations that you ever need about the features of c++ including some simple examples it is not a collection of solution of problems but there are examples illustrating the use of this feature and that feature and that feature I think you should definitely look at this site and try to see what information you need whether you get it there so this is a reference this particular thing I have taken it from this site within that the reference material within that c library within that c std io so there are sections which describe all of these things here is a sample program for creation of a file just to illustrate that what I am creating what I am writing to is a different information than what I am reading because text file how could I copy a file into a new file very simple I could write a program which will read one line from c in and produce the same line on c out and I could redirect input for one file I would have copied that file but if I want to create a file which has different information just to show that there is some processing that is happening this is some arbitrary processing I have included that is I will read one line from a text file then I will prefix 5 stars to each line suppose the line was 100 characters long I will make a new line which is 105 characters long first 5 positions I will put stars and the remaining 100 positions I will copy what were the 100 characters in that line just to show that I am reading something processing something and creating output onto another file the only thing is I am not going to use input redirection I am not going to use c in c out in that sense but I am going to use file processing so I am going to open each of these files and do the process for this purpose I am including io stream as usual I am including c string because I will be manipulating strings and I am including cstd io the old version of this which was available as a standard in c programming language and some of you are familiar with turbo c would remember that it was called stdio.h which is the header file for standard input output lab in c++ it takes the form of cstd io here is the program I am defining file star in file star out file so I am declaring two pointers these are two file pointers please note these are not position pointers within a file these are actually files so in file is expected to point to an input 5 which I will open for reading obviously out file to point to output names again are my choice I have a file name because I want to give a file name to open a file I have this int, I and count it's okay I have an input line which is 100 bytes long which means it can store up to 99 characters because backslash 0 will have to be accommodated I have an output line which is 105 positions as I explained I want to artificially put first 5 positions to be stars here and then copy this line here since I am going to put first 5 positions always as star I am doing this initialization here for I equal to 0 I less than 5 I++ I put line I is equal to star because I am not going to disturb these 5 positions ever so output line an array of 105 elements will contain first 5 stars now what I want to do is very simple I want to open an input 5 whose name I know I want to create an output file whose name I want to take from you because you have a choice open these 2 files read 1 line from 1 file put it in the output line appropriately after the stars and write it to the output file keep on doing this when the input file ends detect that end properly and stop writing files close both the files that is the objective so let us see what this initial part of the program does it says in file equal to f open I hope you recall the f open statement the f open statement will open a file and will create a pointer which will be allocated to in file whatever I have declared here let's say midsame mark dot text is my file I know this file I want to read and copy I am going to open it for reading so the mode is R these are simple as this f open name of the file comma R it will open the file for reading I allocate this to in file of course by mistake I might be running this program from a directory which does not contain this file then the operating system will face problem because operating system will not find this file and I won't be able to read anything anyway so as per the standard practice if for some reason the file is not open I would like to check for it like most functions in c++ if f open fails to open a file it gives a null pointer return to in file otherwise it's a valid pointer in fact whenever you do activities with pointers the standard way of c++ saying sorry I could not do what you asked me to do and it internally returns a null pointer so if I check whether in file is null then I output input file open error return one end of the program if there is no problem then I proceed further remember what our specification was I want you to read this input file but I want to create an output file whose name I want to take from you so I am saying give output text file name and I read the string using conventional scene notice this I could not have done if I was using read direction because read direction means everything must come from that file from which I am reading so terminal and keyboard are available to me for interaction I am processing the files explicitly in my program using that I collect from you the file name which is a string here again I open an output file with this name f open file name and for w again I assign the pointer which is returned by the operating system to out file and again I check whether I could open that file on the file could not have been open for variety of reasons just to give you one arbitrary reason there is a quota system often deployed whenever this space is allocated to multiple users I might have stuffed my quota completely and I lost space to open a new file the operating system will even in that circumstance give you an error saying I could not open a file so even while opening a file for writing a new file you could have a problem anyway if that problem exists just like you checked it here you check it whether the out file pointer is null and if it is null you take the appropriate action and come out so by this time you have opened the two files both files are open correctly you have initialized the first five positions of the output line and you are now ready to read input lines and write them and this is done by the standard mechanism I start with some count equal to zero I read the first line by using f get s f get s is what get a string up to the end of line so I will get this entire line input line 100 is the maximum number of characters either that or till I find the new line character that is the characteristic of get s same characteristic works for f get s so I give the string in which the array in which I have to put the string the maximum number of characters I have to read and the file pointer this is the sequence in which you prescribe these parameters the first line would be read or if the file is blank even first line will not be read I don't know what has happened and I have to read not just the first line but the second line, third line, fourth line etc till the file ends in all such situation what do we do we read the first line separately then set up a file loop and after processing that first line before coming back to the next iteration we read the next line if there is no second line the file loop will bomb and I will get out if there is no first line also file loop will bomb and I will get out the way what I am checking in the file loop is has the infile ended and that check is done by another function called function file end of file that is f u o f f u o f infile has infile ended if the infile has ended operating system will return true why not end of file I will keep on doing this ok so what do I do now I increment the count I have an input line I want to copy this input line 5 positions removed in the output line because first 5 positions has start observe how I use the pointers I copy input line but the starting point is not output line output line plus 5 so 0 1 2 3 4 has starts 5 position onwards up to 100 I want to copy so this is what mem copy does and after getting this I will use f put as which is exactly the opposite of f get as I got the string from infile I output the string on out file and after having done that I read the next line and go back to the mind so you will agree that this iteration will keep reading one line from an input file keep writing keep putting that line on to the shifted position of output line and keep writing it there and when this file ends when this condition is no more true I will come out here I will simply close out file simply close infile nothing is to be done I can actually go home I have added these few lines nearly to sort of verification process after all I created a file what is the thing I am doing here read and print 3 lines from the output file just like that this also illustrates one more thing earlier I had opened the out file for output with W the name is same whatever you have given me now I am opening the same file with the same file name what you have given but for reading and I am now calling it infile infile and out file are merely pointers within my program I can associate any file with those pointers originally I associated an output file with that pointer and I created that file now having closed that file that pointer is free and I am using that pointer to open the same file but in read mode now when I open a file it is effectively revolved to the beginning position and the next few statements will actually read data so I am just printing 3 records just for the sake of confirmation for I equal to 0 to 3 get a string and output that string and I am putting a count number that is I here so this is what when I execute the program this is what will happen you will recall that this was the kind of lines that I had for mid-sem performance so mid-sem marks.txt will contain these I have serial number, roll number, name batch number etc but now by reading those lines and by adding these stars I have created a line which is stars, stars, stars, stars and all this etc and this 012 is nothing but my I so this verifies that the program works correctly so is this clear how do you handle text files you may want to experiment with reading, writing and some of you who are adventurers might want to experiment whether for text files can I handle data directly can I directly go to a position and write something can I update something if I can then how I can make it meaningful because if my different lines are having different length different number of characters then going to a specific position will have no meaning then I will think that all right even in a text file can I stipulate that every requirement will be exactly 100 by so on and I will ensure that my actual data is padded with blanks here and there so that I have exactly those many lines and then I will be able to say go to 534 student requirement by directly positioning it at the beginning of the 534th line and read that line this is something I would like you to experiment now as I said I would like to spend 10 minutes on describing the projects that you have to do so as I had mentioned it is a chance to you to apply your programming knowledge to solve a larger problem and you get a test of professional software development a lab batch will work on an allocated project the project allocation will be completed by this Wednesday each batch should have divided itself into 3 teams all of you have done that you have submitted your teams team leaders etc ordinarily you should have 4 students if you have more than 12 students in a lab batch 1 batch may have 5 students if you have less than 12 1 batch may have 3 students and the team leaders will coordinate the batch activity submissions for each team to be made by the team leader submission for the batch being made by any one of the team leaders these are open ended projects essential so if you want your entire batch can work continuously without doing anything else for 6 months and you can do a enormously large amount of project and still the project will not be finished that is the nature of real life problems the programs that you write never are able to completely meet the requirements of functionality that is why software keeps on increasing larger and larger and larger it becomes team work will be most important here as I had mentioned you have to balance your teams so efforts by individuals will be skewed somebody may be writing more programs somebody may be doing more testing somebody may be doing more documentation somebody may be doing other coordination you have to judiciously distribute the work learn to take decisions learn to discuss design document and review I will be putting up by this Sunday a small 8 page write up on the basics of software engineering that is a self study material I would like you to read that we will discuss that briefly on Tuesday and Wednesday lectures you will have to do activity allocation it is not possible for a student from a batch to say that nobody gave me work so I didn't do anything it was not just programming but various other things and minimally every student should write atleast some programs are the functions actual programming work must be done by every student but qualitative and quantitative contributions by students is what will be taken into account I'll put all of this in moodle by evening now this is important this is something which you may never have done some of you might have a habit of writing daily diaries but all professionals particularly software professionals are required to write their professional diary everyday it is called time sheet so if for example I work for 8 hours a day in let's say Tata consultancy services or infosys or wherever then I am required to record that these 2 hours I discuss this problem with my team leader these 1 hour I spent writing a program these 1 hour I spent in testing a program these 2 hours I wrote documentation this 1 hour I discussed with someone someone this kind of time sheet is required the objective is not only that my productivity can be monitored but the objective is also for the organization to know that to do this kind of project how many person hours they are totally required say 10 people are working for 6 months totally so many person hours are gone but what is the portion which has been spent in design what is the portion which has been spent in discussions what is the portion that has been spent in documentation and by the way the software engineering fundamental principle says that typically the total project effort of this kind only 20% of the effort is spent in coding 80% effort is required in variety of other things in designing, in documenting, in reviewing, in testing because programs are to work this is not like mid-same exam or end-same exam where you may get partial marks software is a binary business either the program works correctly or it does not work correctly and if you are writing a programming system involving let's say 35 programs which is a batch is writing 35 programs one of those 35 programs does not work for some conditions all 35 programs are useless that is the hazardous thing and that is why you require to apply engineering principles these are the various activities that you will need to do within the course projects each student must submit the diary entries in the form of a common electronic document we will be monitoring the work done by individual student because we are giving you the opportunity to give marks to yourselves so obviously we have to have an independent evidence of whether those marks are correct or not there are two mechanisms we are going to use one is the written reports which will be the project report and since you would have been allocated explicit work from the project report we can find out what portion of your work how you have done it the written report second component is your diary so every day every week how much time you spent on which activity that you will have to submit and the second part of course is the sample viva that I mentioned so this is the format for this reporting has to be decided by the group you have been writing C++ programs so far you will now be writing plain English and believe me when I tell you so writing reports in natural language is far more difficult than writing programs in a programming language that's a fact of life it is not the fluency of English language or something but it is succinctly putting together the thought process that goes into the design of a program or how the program will work or how the user of the program will understand how the program is to be used etc. request all over these are the submission processes I will put this on the model I just wanted to show you the two important deadlines there has to be a weekly submission team wise so this will be a growing submission I would suggest that each team makes a program a project directory under that it keeps sub directories for each student and any student who does any activity writes a one page report writes a starts writing a program starts writing documentation whatever whatever should be done in that directory there could be sub directories in that directory all those four students or five students of a team will have a directory called team directories what we want every week is whatever is the status of those directories simply tar that directory recursively everything and if you have three teams you have three teams in a batch collect all the three tar files and make a single tar for the lab batch that is going to be your weekly submission that way my TAs and I will be able to monitor what progress you are making because if I compare two different tar files for two weeks I will know that this student who has written a ten statement skeleton of a program has now extended it to 20th statement this student was writing one page documentation has now one and half page document that student who has written a two page documentation now has only one page documentation but when I read that I find that the two page was a draft this one page is a better document that is how progress is made and that is how progress will be monitored of course there could be a situation where nothing significant is added in week after week after week this will be tallied against your own claim in your diary that I spent four weeks writing this two weeks or two hours writing this four hours doing this etc. there has to be a sort of cross balancing I have changed the evaluation pattern and slightly there are 35 marks for the project which is equal to the end semester weightage so please do take this very seriously the marks for the project report which will be submitted in two stages and evaluated in two stages will be allocated 20 marks each student of the lab batch gets exactly the same 20 marks not same 20 marks but out of 20 so if a batch scores lets say 17 out of 20 even the poorest performer in that batch in terms of the qualitative and quantitative contribution made we still get 17 as I said that is the beauty of the group work when I am part of the group good or bad whatever the group does collectively I get the benefit or I get the blame 15 marks however will be meant for each student's individual contribution and they will be based on 5 marks and 10 marks chunks these have to be arrived at through self evaluation and peer review process I had once mentioned that to you I will explain in details later how exactly this needs to be done so this is roughly the process that based on the quantitative and qualitative contribution the way this is typically done is in a team the 4 people sit together with the team leader and each one says I think I deserve 4 out of 5 5 out of 5 or 3 out of 5 and then the team members discuss then these things there is some sort of agreement that is arrived at and then the whole group sits for about 10 minutes all 12 students and then the 3 team leaders coordinated away they work out these, they review these marks as I told you last year I have seen cases where the student claim that last time they were out of 10 marks they had to give not out of 15 the student claim that I should be given 7 marks and people collectively decided that no that student should get only 4 marks and they could convince that student there are students who did not do anything in a project and they were given 0 marks so you have to be very realistic and correct you need not be very harsh that is not required but you have to be realistic and correct and the relative work done by different people should be reflected in the marks that you give them anyway I will give a better write up than this that's all I wanted to say today just one repeat notice on Sunday 10 to 12 for those students who were unfortunately not able to score more than 5 marks are required to attend the make up tutorial which will be a problem solving tutorial and mentor conditions in the crescent building on the 3rd floor SIC 301 from 10 to 12 on Sunday the Saturday lab incidentally will continue tomorrow as scheduled labs do not have a holiday thank you