summaryrefslogtreecommitdiff
path: root/_Programming_With_C/chapter12.ipynb
diff options
context:
space:
mode:
authorroot2014-07-07 16:45:58 +0530
committerroot2014-07-07 16:45:58 +0530
commit1b0d935754549d175d2bad3d5eb5dc541bd7a0d4 (patch)
treefe73fe578ee4ce75d83ca61cdc533c4110d03a2a /_Programming_With_C/chapter12.ipynb
parentfffcc90da91b66ee607066d410b57f34024bd1de (diff)
downloadPython-Textbook-Companions-1b0d935754549d175d2bad3d5eb5dc541bd7a0d4.tar.gz
Python-Textbook-Companions-1b0d935754549d175d2bad3d5eb5dc541bd7a0d4.tar.bz2
Python-Textbook-Companions-1b0d935754549d175d2bad3d5eb5dc541bd7a0d4.zip
removing unwanted files
Diffstat (limited to '_Programming_With_C/chapter12.ipynb')
-rw-r--r--_Programming_With_C/chapter12.ipynb565
1 files changed, 0 insertions, 565 deletions
diff --git a/_Programming_With_C/chapter12.ipynb b/_Programming_With_C/chapter12.ipynb
deleted file mode 100644
index 09e4c7e9..00000000
--- a/_Programming_With_C/chapter12.ipynb
+++ /dev/null
@@ -1,565 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 12: Structures and Unions<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.1, Page 12.2<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from ctypes import *\n",
- "\n",
- "string=c_char*20\n",
- "\n",
- "class account(Structure):\n",
- "\t_fields_=[('acct_no',c_int),('acct_type',c_char),('name',string),('balance',c_int)]\n",
- "\n",
- "customer=account(12632,'r','Joseph',1200)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.4, Page 12.4<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from ctypes import *\n",
- "\n",
- "string=c_char*20\n",
- "\n",
- "class date(Structure):\n",
- "\t_fields_=[('month',c_int),('day',c_int),('year',c_int)]\n",
- "\t\n",
- "class account(Structure):\n",
- "\t_fields_=[('acct_no',c_int),('acct_type',c_char),('name',string),('balance',c_float),('lastpayment',date)]\n",
- "\t\n",
- "customer=account(12345,'r','John W. Smith',586.30,date(5,24,90))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.6, Page 12.6<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from ctypes import *\n",
- "\n",
- "string=c_char*20\n",
- "\n",
- "class date(Structure):\n",
- "\t\n",
- "\t_fields_=[('name',string),('month',c_int),('day',c_int),('year',c_int)]\n",
- "\n",
- "birthday=[]\n",
- "birthday.append(date('Amy',12,30,73))\n",
- "birthday.append(date('Gail',5,13,66))\n",
- "birthday.append(date('Marc',7,15,72))\n",
- "birthday.append(date('Marla',11,29,70))\n",
- "birthday.append(date('Megan',2,4,77))\n",
- "birthday.append(date('Sharon',12,29,63))\n",
- "birthday.append(date('Susan',4,12,69))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.14, Page 12.13<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "from ctypes import *\n",
- "\n",
- "string=c_char*50\n",
- "\n",
- "def writeoutput(obj):\n",
- "\tprint \"Name : \",obj.name,\n",
- "\tprint \"\\t Account Number : \",obj.acct_no\n",
- "\tprint \"Street : \",obj.street\n",
- "\tprint \"City : \",obj.city\n",
- "\tprint \"Old Balance : %7.2f\" %(obj.oldbalance)\n",
- "\tprint \"Payment : %7.2f\" %(obj.payment)\n",
- "\tprint \"New Balance : %7.2f\" %(obj.newbalance)\n",
- "\tprint \"Account Status : \",\n",
- "\t\n",
- "\tif obj.acct_type=='C':\n",
- "\t\tprint \"CURRENT\\n\\n\"\n",
- "\telif obj.acct_type=='O':\n",
- "\t\tprint \"OVERDUE\\n\\n\"\n",
- "\telse:\n",
- "\t\tprint \"DELINQUENT\\n\\n\"\n",
- "\t\t\n",
- "\treturn\n",
- "\n",
- "\n",
- "class date(Structure):\n",
- "\t_fields_=[('month',c_int),('day',c_int),('year',c_int)]\n",
- "\t\n",
- "\n",
- "class account(Structure):\n",
- "\t_fields_=[('name',string),('street',string),('city',string),('acct_no',c_int),('oldbalance',c_float),('payment',c_float),('lastpayment',date),('newbalance',c_float),('acct_type',c_char)]\n",
- "\t\t\n",
- "print \"CUSOMER BILLING SYSTEM\\n\\n\"\n",
- "customer=[]\n",
- "name='Steve Johnson'\n",
- "street='123 Mountainview Drive '\n",
- "city='Denver . CO'\n",
- "acct_no=4208\n",
- "oldbalance=247.88\n",
- "payment=25.00\n",
- "lastpay=date(6,14,1998)\n",
- "customer.append(account(name,street,city,acct_no,oldbalance,payment,lastpay))\n",
- "\n",
- "name='Susan Richards'\n",
- "street='4383 Aligator Blvd'\n",
- "city='Fort Lauderdale. FL'\n",
- "acct_no=2219\n",
- "oldbalance=135.00\n",
- "payment=135.00\n",
- "lastpay=date(8,10,2000)\n",
- "customer.append(account(name,street,city,acct_no,oldbalance,payment,lastpay))\n",
- "\n",
- "name='Martin Peterson'\n",
- "street='1787 Pacific Parkway'\n",
- "city='San Diego. CA'\n",
- "acct_no=8452\n",
- "oldbalance=387.42\n",
- "payment=35.00\n",
- "lastpay=date(9,22,1999)\n",
- "customer.append(account(name,street,city,acct_no,oldbalance,payment,lastpay))\n",
- "\n",
- "name='Phyllis Smith'\n",
- "street='1000 Great White Way'\n",
- "city='New York. NY'\n",
- "acct_no=711\n",
- "oldbalance=260.00\n",
- "payment=0.00\n",
- "lastpay=date(11,27,2001)\n",
- "customer.append(account(name,street,city,acct_no,oldbalance,payment,lastpay))\n",
- "\n",
- "\n",
- "\n",
- "for i in range(0,4):\n",
- "\tif customer[i].payment>0:\n",
- "\t\tif customer[i].payment<0.1*customer[i].oldbalance:\n",
- "\t\t\tcustomer[i].acct_type='O'\n",
- "\t\telse:\n",
- "\t\t\tcustomer[i].acct_type='C'\n",
- "\telse:\n",
- "\t\tif customer[i].oldbalance>0:\n",
- "\t\t\tcustomer[i].acct_type='D'\n",
- "\t\telse:\n",
- "\t\t\tcustomer[i].acct_type='C'\n",
- "\t\n",
- "\tcustomer[i].newbalance=customer[i].oldbalance-customer[i].payment\n",
- "\t\n",
- "\twriteoutput(customer[i])\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "CUSOMER BILLING SYSTEM\n",
- "\n",
- "\n",
- "Name : Steve Johnson \t Account Number : 4208\n",
- "Street : 123 Mountainview Drive \n",
- "City : Denver . CO\n",
- "Old Balance : 247.88\n",
- "Payment : 25.00\n",
- "New Balance : 222.88\n",
- "Account Status : CURRENT\n",
- "\n",
- "\n",
- "Name : Susan Richards \t Account Number : 2219\n",
- "Street : 4383 Aligator Blvd\n",
- "City : Fort Lauderdale. FL\n",
- "Old Balance : 135.00\n",
- "Payment : 135.00\n",
- "New Balance : 0.00\n",
- "Account Status : CURRENT\n",
- "\n",
- "\n",
- "Name : Martin Peterson \t Account Number : 8452\n",
- "Street : 1787 Pacific Parkway\n",
- "City : San Diego. CA\n",
- "Old Balance : 387.42\n",
- "Payment : 35.00\n",
- "New Balance : 352.42\n",
- "Account Status : OVERDUE\n",
- "\n",
- "\n",
- "Name : Phyllis Smith \t Account Number : 711\n",
- "Street : 1000 Great White Way\n",
- "City : New York. NY\n",
- "Old Balance : 260.00\n",
- "Payment : 0.00\n",
- "New Balance : 260.00\n",
- "Account Status : DELINQUENT\n",
- "\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.25, Page 12.29<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from ctypes import *\n",
- "\n",
- "string=c_char*10\n",
- "\n",
- "class record(Structure):\n",
- "\t_fields_=[('name',string),('acct_no',c_int),('acct_type',c_char),('balance',c_float)]\n",
- "\t\n",
- "def adjust(obj):\n",
- "\tobj.name='Jones'\n",
- "\tobj.acct_no=9999\n",
- "\tobj.acct_type='R'\n",
- "\tobj.balance=99.99\n",
- "\treturn\n",
- "\n",
- "\n",
- "customer=record('Smith',3333,'C',33.33)\n",
- "print customer.name,customer.acct_no,customer.acct_type,\n",
- "print \"%.2f\" %customer.balance\n",
- "\n",
- "adjust(customer)\n",
- "\n",
- "print customer.name,customer.acct_no,customer.acct_type,\n",
- "print \"%.2f\" %customer.balance\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Smith 3333 C 33.33\n",
- "Jones 9999 R 99.99\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.32, Page 12.42<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class node():\n",
- "\t\n",
- "\tdef __init__(self,data):\n",
- "\t\tself.data=data\n",
- "\t\tself.next=None\n",
- "\n",
- "\t\t\n",
- "class list():\n",
- "\t\n",
- "\tdef __init__(self):\n",
- "\t\tself.head=None\n",
- "\t\tself.tail=None\n",
- "\t\n",
- "\tdef insert(self,x):\n",
- "\t\t\n",
- "\t\te=node(x)\n",
- "\t\t\n",
- "\t\tif self.head==None:\n",
- "\t\t\tself.head=e\n",
- "\t\t\tself.tail=e\n",
- "\t\t\t\n",
- "\t\telse:\n",
- "\t\t\tself.tail.next=e\n",
- "\t\t\tself.tail=e\n",
- "\t\t\t\n",
- "def display(ptr):\n",
- "\tnptr=ptr.head\n",
- "\twhile nptr!=None:\n",
- "\t\tprint nptr.data\n",
- "\t\tnptr=nptr.next\n",
- "\t\n",
- "\treturn\n",
- "\t\n",
- "def delete(ptr,element):\n",
- "\tnptr=ptr.head\n",
- "\twhile nptr.next.data!=element:\n",
- "\t\tnptr=nptr.next\n",
- "\t\tif nptr.next==None:\n",
- "\t\t\treturn\n",
- "\t\n",
- "\tdptr=nptr.next\n",
- "\tnptr.next=dptr.next\n",
- "\tdel dptr\n",
- "\treturn\n",
- "\t\n",
- "p=list()\n",
- "p.insert('BOSTON')\n",
- "p.insert('CHICAGO')\n",
- "p.insert('DENVER')\n",
- "p.insert('NEW YORK')\n",
- "p.insert('PITTSBURG')\n",
- "\n",
- "display(p)\n",
- "print '\\n\\nAFTER DELETING DENVER\\n\\n'\n",
- "delete(p,'DENVER')\n",
- "display(p)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "BOSTON\n",
- "CHICAGO\n",
- "DENVER\n",
- "NEW YORK\n",
- "PITTSBURG\n",
- "\n",
- "\n",
- "AFTER DELETING DENVER\n",
- "\n",
- "\n",
- "BOSTON\n",
- "CHICAGO\n",
- "NEW YORK\n",
- "PITTSBURG\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.35, Page 12.57<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "from ctypes import *\n",
- "\n",
- "string=c_char*20\n",
- "\n",
- "class id(Union):\n",
- "\t_fields_=[('color',c_char),('size',c_int)]\n",
- "\t\n",
- "class clothes(Structure):\n",
- "\t_fields_=[('manufacturer',string),('cost',c_float),('description',id)]\n",
- "\t\n",
- "shirt=clothes()\n",
- "shirt.description.color='w'\n",
- "print \"%c %d\\n\" %(shirt.description.color,shirt.description.size)\n",
- "\n",
- "shirt.description.size=12\n",
- "print \"%c %d\" %(shirt.description.color,shirt.description.size)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "w 119\n",
- "\n",
- "\f",
- " 12\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.37, Page 12.59<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from ctypes import *\n",
- "import math\n",
- "\n",
- "\n",
- "class nvals(Union):\n",
- "\t_fields_=[('fexp',c_float),('nexp',c_int)]\n",
- "\t\n",
- "class values(Structure):\n",
- "\t_fields_=[('x',c_float),('flag',c_char),('exp',nvals)]\n",
- "\t\n",
- "def power(a):\n",
- "\ty=a.x\n",
- "\t\n",
- "\tif a.flag=='i':\n",
- "\t\tif a.exp.nexp==0:\n",
- "\t\t\ty=1.0\n",
- "\t\telse:\n",
- "\t\t\ti=1\n",
- "\t\t\twhile i<abs(a.exp.nexp):\n",
- "\t\t\t\ty*=a.x\n",
- "\t\t\t\ti+=1\n",
- "\t\t\t\n",
- "\t\t\tif a.exp.nexp<0:\n",
- "\t\t\t\ty=1.0/y\n",
- "\t\n",
- "\telse:\n",
- "\t\ty=math.exp(a.exp.fexp*math.log(a.x))\n",
- "\t\n",
- "\treturn y\n",
- "\t\n",
- "def main(in1,n):\n",
- "\ta=values()\n",
- "\ta.x=in1\n",
- "\t\n",
- "\ti=int(n)\n",
- "\t\n",
- "\tif i==n:\n",
- "\t\ta.flag='i'\n",
- "\telse:\n",
- "\t\ta.flag='f'\n",
- "\t\n",
- "\tif a.flag=='i':\n",
- "\t\ta.exp.nexp=i\n",
- "\telse:\n",
- "\t\ta.exp.fexp=n\n",
- "\t\t\n",
- "\tif a.flag=='f' and a.x<=0.0:\n",
- "\t\tprint \"ERROR - Cannot raise a non-positive number to a floating point power\"\n",
- "\telse:\n",
- "\t\ty=power(a)\n",
- "\t\tprint \"y=%.4f\" %y\n",
- "\t\n",
- "\treturn\n",
- "\n",
- "print \"\\nx=2\\nn=3\"\n",
- "main(2,3)\n",
- "print \"\\nx=-2\\nn=3\"\n",
- "main(-2,3)\n",
- "print \"\\nx=2.2\\nn=3.3\"\n",
- "main(2.2,3.3)\n",
- "print \"\\nx=-2.2\\nn=3.3\"\n",
- "main(-2.2,3.3)\n",
- "\n",
- "\n",
- "\t\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "x=2\n",
- "n=3\n",
- "y=8.0000\n",
- "\n",
- "x=-2\n",
- "n=3\n",
- "y=-8.0000\n",
- "\n",
- "x=2.2\n",
- "n=3.3\n",
- "y=13.4895\n",
- "\n",
- "x=-2.2\n",
- "n=3.3\n",
- "ERROR - Cannot raise a non-positive number to a floating point power\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file