diff options
Diffstat (limited to 'ANSI_C_Programming_by_Yashwant_Kanetkar/chapter10.ipynb')
-rwxr-xr-x | ANSI_C_Programming_by_Yashwant_Kanetkar/chapter10.ipynb | 768 |
1 files changed, 768 insertions, 0 deletions
diff --git a/ANSI_C_Programming_by_Yashwant_Kanetkar/chapter10.ipynb b/ANSI_C_Programming_by_Yashwant_Kanetkar/chapter10.ipynb new file mode 100755 index 00000000..370cbcea --- /dev/null +++ b/ANSI_C_Programming_by_Yashwant_Kanetkar/chapter10.ipynb @@ -0,0 +1,768 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:2551d4c0f797f2bbef63a528dde1d2dd1067208b3f54db92e7a20ac687ed39db" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "CHAPTER 10: STRUCTURES" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "EXAMPLE ON PAGE:342-343" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " \n", + "name=[]\n", + "price=[]\n", + "pages=[]\n", + "for i in range(3):\n", + " name.append(\"\\0\")\n", + " price.append(0)\n", + " pages.append(0)\n", + "print \"Enter names,prices and no. of pages of 3 books\\n\"\n", + "for i in range(0,3,1):\n", + " name[i]=raw_input()\n", + " price[i]=eval(raw_input())\n", + " pages[i]=eval(raw_input())\n", + "print \"\\nAnd this is what you entered\\n\"\n", + "for i in range(0,3,1):\n", + " print \"%c %f %d\\n\" % (name[i],price[i],pages[i])" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter names,prices and no. of pages of 3 books\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "A\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "100.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "354\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "C\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "256.50\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "682\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "F\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "233.70\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "512\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "And this is what you entered\n", + "\n", + "A 100.000000 354\n", + "\n", + "C 256.500000 682\n", + "\n", + "F 233.700000 512\n", + "\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "EXAMPLE ON PAGE:343-344" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " \n", + "class book: #YOU CAN ALSO USE CTYPES FOR IMPLEMENTING STRUCTURES\n", + " def __init__(self, **kwds):\n", + " self.__dict__.update(kwds)\n", + "b1=book()\n", + "b2=book()\n", + "b3=book()\n", + "print \"Enter names,prices & no. of pages of 3 books\\n\"\n", + "b1.name=raw_input()\n", + "b1.price=eval(raw_input())\n", + "b1.pages=eval(raw_input())\n", + "b2.name=raw_input()\n", + "b2.price=eval(raw_input())\n", + "b2.pages=eval(raw_input())\n", + "b3.name=raw_input()\n", + "b3.price=eval(raw_input())\n", + "b3.pages=eval(raw_input())\n", + "print \"And this is what you entered\\n\"\n", + "print \"%c %f %d\\n\" % (b1.name,b1.price,b1.pages)\n", + "print \"%c %f %d\\n\" % (b2.name,b2.price,b2.pages)\n", + "print \"%c %f %d\\n\" % (b3.name,b3.price,b3.pages)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter names,prices & no. of pages of 3 books\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "A\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "100.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "354\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "C\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "256.50\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "682\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "F\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "233.70\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "512\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "And this is what you entered\n", + "\n", + "A 100.000000 354\n", + "\n", + "C 256.500000 682\n", + "\n", + "F 233.700000 512\n", + "\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "EXAMPLE ON PAGE:347" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " \n", + "class book():\n", + " def __init__(self,**kwds):\n", + " self.__dict__.update(kwds)\n", + "b1=book(name='B',price=130.00,pages=550)\n", + "print \"Address of name=%u\\n\" % (id(b1.name))\n", + "print \"Address of price=%u\\n\" % (id(b1.price))\n", + "print \"Address of pages=%u\\n\" % (id(b1.pages))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Address of name=20788864\n", + "\n", + "Address of price=88371144\n", + "\n", + "Address of pages=88859008\n", + "\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "EXAMPLE ON PAGE:348-349" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " \n", + "def linkfloat():\n", + " a=0\n", + " b=id(a) #cause emulator to be linked\n", + "class book():\n", + " def __init__(self,**kwds):\n", + " self.__dict__.update(kwds)\n", + "b=[]\n", + "for i in range(3):\n", + " b.append(0) #setting initial value as zero\n", + "for i in range(0,3,1):\n", + " b[i]=book()\n", + "for i in range(0,3,1):\n", + " print \"Enter name price and pages\"\n", + " b[i].name=raw_input()\n", + " b[i].price=eval(raw_input())\n", + " b[i].pages=eval(raw_input())\n", + "for i in range(0,3,1):\n", + " print \"%c %f %d\\n\" % (b[i].name,b[i].price,b[i].pages)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter name price and pages\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "A\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "100.00\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "354\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter name price and pages\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "C\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "256.50\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "682\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter name price and pages\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "F\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "233.70\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "stream": "stdout", + "text": [ + "512\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "A 100.000000 354\n", + "\n", + "C 256.500000 682\n", + "\n", + "F 233.700000 512\n", + "\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "EXAMPLE ON PAGE:350-351" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " \n", + "class employee():\n", + " def __init__(self,**kwds):\n", + " self.__dict__.update(kwds)\n", + "e1=employee(name=\"Sanjay\",age=30,salary=5500.50)\n", + "e2=employee()\n", + "e3=employee()\n", + "#piece-meal copying\n", + "import copy\n", + "e2.name=copy.copy(e1.name)\n", + "e2.age=e1.age\n", + "e2.salary=e1.salary\n", + "#copying all elements at one go\n", + "e3=e2\n", + "print \"%s %d %f\\n\" % (e1.name,e1.age,e1.salary)\n", + "print \"%s %d %f\\n\" % (e2.name,e2.age,e2.salary)\n", + "print \"%s %d %f\\n\" % (e3.name,e3.age,e3.salary)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Sanjay 30 5500.500000\n", + "\n", + "Sanjay 30 5500.500000\n", + "\n", + "Sanjay 30 5500.500000\n", + "\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "EXAMPLE ON PAGE:351-352" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " \n", + "class address():\n", + " def __init__(self, **kwds):\n", + " self.__dict__.update(kwds)\n", + "class emp():\n", + " def __init__(self, **kwds):\n", + " self.__dict__.update(kwds)\n", + "a = address(phone=\"531046\", city=\"nagpur\", pin=10)\n", + "e = emp(name=\"jeru\", address=a)\n", + "print \"name=%s phone=%s\\n\" % (e.name,e.address.phone)\n", + "print \"city=%s pin=%d\\n\" % (e.address.city,e.address.pin)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "name=jeru phone=531046\n", + "\n", + "city=nagpur pin=10\n", + "\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "EXAMPLE ON PAGE:353" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " \n", + "class book():\n", + " def __init__(self, **kwds):\n", + " self.__dict__.update(kwds)\n", + "def display(s,t,n):\n", + " print \"%s %s %d\\n\" % (s,t,n)\n", + "b1=book(name=\"Let us C\",author=\"YPK\",callno=101)\n", + "display(b1.name,b1.author,b1.callno)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Let us C YPK 101\n", + "\n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "EXAMPLE ON PAGE:353-354" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " \n", + "class book():\n", + " def __init__(self, **kwds):\n", + " self.__dict__.update(kwds)\n", + "def display(b):\n", + " print \"%s %s %d\\n\" % (b.name,b.author,b.callno)\n", + "b1=book(name=\"Let us C\",author=\"YPK\",callno=101)\n", + "display(b1)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Let us C YPK 101\n", + "\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "EXAMPLE ON PAGE:354-355" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " \n", + "class book():\n", + " def __init__(self, **kwds):\n", + " self.__dict__.update(kwds)\n", + "b1=book(name=\"Let us C\",author=\"YPK\",callno=101)\n", + "ptr=book()\n", + "ptr=b1\n", + "print \"%s %s %d\\n\" % (b1.name,b1.author,b1.callno)\n", + "print \"%s %s %d\\n\" % (ptr.name,ptr.author,ptr.callno)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Let us C YPK 101\n", + "\n", + "Let us C YPK 101\n", + "\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "EXAMPLE ON PAGE:355-356" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " \n", + "class book():\n", + " def __init__(self, **kwds):\n", + " self.__dict__.update(kwds)\n", + "def display(b):\n", + " print \"%s %s %d\\n\" % (b.name,b.author,b.callno)\n", + "b1=book(name=\"Let us C\",author=\"YPK\",callno=101)\n", + "display(b1)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Let us C YPK 101\n", + "\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "EXAMPLE ON PAGE:356" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " \n", + "class emp():\n", + " def __init__(self, **kwds):\n", + " self.__dict__.update(kwds)\n", + "e=emp(a=0,ch='\\0',s=0.0)\n", + "print \"%u %u %u\\n\" % (id(e.a),id(e.ch),id(e.s))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "20623060 20204312 88374024\n", + "\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "EXAMPLE ON PAGE:357-358" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + " \n", + "class emp():\n", + " def __init__(self,a,ch,s): #Structure without using dictionary\n", + " self.a=a\n", + " self.ch=ch\n", + " self.s=s\n", + "e=emp(a=0,ch='\\0',s=0.0)\n", + "print \"%u %u %u\\n\" % (id(e.a),id(e.ch),id(e.s))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "20360916 19942168 88177544\n", + "\n" + ] + } + ], + "prompt_number": 10 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file |