diff options
Diffstat (limited to 'The_Spirit_of_C/Chapter13.ipynb')
-rwxr-xr-x | The_Spirit_of_C/Chapter13.ipynb | 346 |
1 files changed, 346 insertions, 0 deletions
diff --git a/The_Spirit_of_C/Chapter13.ipynb b/The_Spirit_of_C/Chapter13.ipynb new file mode 100755 index 00000000..d363dc7a --- /dev/null +++ b/The_Spirit_of_C/Chapter13.ipynb @@ -0,0 +1,346 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:133c881c520fd0cdef07f65db120109cc62a996dd5161cf0f664c2ffcaa3adc4" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter 13, Structures" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 13-1, Page Number: 370" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Introduction to structures\n", + "\n", + "from collections import namedtuple\n", + "\n", + "#Structure defintion\n", + "struct = namedtuple(\"struct\", \"integer real\")\n", + "\n", + "first_structure = struct( 7, 3.14 )\n", + "second_structure = first_structure\n", + "\n", + "print \"integer = %d, real = %f\"%(second_structure.integer,second_structure.real)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "integer = 7, real = 3.140000\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 13-2, Page Number: 371" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Initializing a structure\n", + "\n", + "from collections import namedtuple\n", + "\n", + "#Structure defintion\n", + "struct = namedtuple(\"struct\", \"integer real\")\n", + "\n", + "structure = struct( 7, 3.14 )\n", + "\n", + "print \"integer = %d, real = %f\"%(structure.integer,structure.real)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "integer = 7, real = 3.140000\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 13-3, Page Number: 372" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# The structure tag\n", + "\n", + "from collections import namedtuple\n", + "\n", + "#Structure defintion\n", + "struct = namedtuple(\"struct\", \"integer real\")\n", + "\n", + "first_structure = struct( 7, 3.14 )\n", + "second_structure = first_structure\n", + "\n", + "print \"integer = %d, real = %f\"%(second_structure.integer,second_structure.real)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "integer = 7, real = 3.140000\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 13-4, Page Number: 375" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# An array of structures\n", + "\n", + "from collections import namedtuple\n", + "\n", + "#Structure defintion\n", + "struct = namedtuple(\"struct\", \"code price\")\n", + "\n", + "#code = [ \"a\", \"b\", \"c\", \"d\", \"e\" ]\n", + "#price = [ 3.29, 2.99, 0.59, 1.59, 2.39 ]\n", + "\n", + "table = [ struct(\"a\",3.29) , struct(\"b\",2.99), struct(\"c\",0.59), struct(\"d\",1.59), struct(\"e\",2.39) ]\n", + "\n", + "print \"Enter item code:\",\n", + "item_code = \"a\"\n", + "print item_code\n", + "i = 0\n", + "\n", + "while item_code != \".\" :\n", + "\n", + "\t#Search for 'item_code' in 'table'\n", + "\tfor i in range(4) :\n", + "\t\tif table[i].code == item_code :\n", + "\t\t\tbreak\n", + "\n", + "\tif i < 4:\n", + "\t\tprint \"Enter quantity: \",\n", + "\t\tquantity = 1\n", + "\t\tprint quantity\n", + "\t\n", + "\t\tprint \"\\nUnit price = %.2f, total price = %.2f.\\n\\n\"%(table[i].price,quantity * table[i].price)\n", + "\telse :\n", + "\t\tprint \"\\nItem code %c does not exist.\\n\\n\"%item_code\n", + "\tprint \"Enter item code:\",\n", + "\titem_code = \".\"\n", + "\tprint item_code\n", + "\n", + "\n", + "print \"Thank you.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter item code: a\n", + "Enter quantity: 1\n", + "\n", + "Unit price = 3.29, total price = 3.29.\n", + "\n", + "\n", + "Enter item code: .\n", + "Thank you.\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 13-5, Page Number: 378" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# A pointer in a structure\n", + "\n", + "from collections import namedtuple\n", + "\n", + "#Structure defintion\n", + "struct = namedtuple(\"struct\", \"name price\")\n", + "\n", + "#code = [ \"a\", \"b\", \"c\", \"d\", \"e\" ]\n", + "#price = [ 3.29, 2.99, 0.59, 1.59, 2.39 ]\n", + "\n", + "table = [ struct(\"pickles\",2.29) , struct(\"soda\",0.99), struct(\"yogurt\",0.59), struct(\"bread\",1.09), struct(\"milk\",0.69) ]\n", + "\n", + "print \"Enter item name:\",\n", + "item_name = \"pickles\"\n", + "print item_name\n", + "i = 0\n", + "\n", + "while item_name != \".\" :\n", + "\n", + "\t#Search for 'item_code' in 'table'\n", + "\tfor i in range(4) :\n", + "\t\tif table[i].name == item_name :\n", + "\t\t\tbreak\n", + "\n", + "\tif i < 4:\n", + "\t\tprint \"Enter quantity: \",\n", + "\t\tquantity = 1\n", + "\t\tprint quantity\n", + "\t\n", + "\t\tprint \"\\nUnit price = %.2f, total price = %.2f.\\n\\n\"%(table[i].price,quantity * table[i].price)\n", + "\telse :\n", + "\t\tprint \"\\nItem code %c does not exist.\\n\\n\"%item_name\n", + "\tprint \"Enter item code:\",\n", + "\titem_name = \".\"\n", + "\tprint item_name\n", + "\n", + "\n", + "print \"Thank you.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter item name: pickles\n", + "Enter quantity: 1\n", + "\n", + "Unit price = 2.29, total price = 2.29.\n", + "\n", + "\n", + "Enter item code: .\n", + "Thank you.\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Program 13-6, Page Number: 381" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# An array in a structure\n", + "\n", + "from collections import namedtuple\n", + "\n", + "#Structure defintion\n", + "struct = namedtuple(\"struct\", \"name price\")\n", + "\n", + "#code = [ \"a\", \"b\", \"c\", \"d\", \"e\" ]\n", + "#price = [ 3.29, 2.99, 0.59, 1.59, 2.39 ]\n", + "\n", + "table = [ struct(\"pickles\",2.29) , struct(\"soda\",0.99), struct(\"yogurt\",0.59), struct(\"bread\",1.09), struct(\"milk\",0.69) ]\n", + "\n", + "print \"Enter item name:\",\n", + "item_name = \"milk\"\n", + "print item_name\n", + "i = 0\n", + "\n", + "while item_name != \".\" :\n", + "\n", + "\t#Search for 'item_code' in 'table'\n", + "\tfor i in range(5) :\n", + "\t\tif table[i].name == item_name :\n", + "\t\t\tbreak\n", + "\n", + "\tif i < 5:\n", + "\t\tprint \"Enter quantity: \",\n", + "\t\tquantity = 5\n", + "\t\tprint quantity\n", + "\t\n", + "\t\tprint \"\\nUnit price = %.2f, total price = %.2f.\\n\\n\"%(table[i].price,quantity * table[i].price)\n", + "\telse :\n", + "\t\tprint \"\\nItem code %c does not exist.\\n\\n\"%item_name\n", + "\tprint \"Enter item code:\",\n", + "\titem_name = \".\"\n", + "\tprint item_name\n", + "\n", + "\n", + "print \"Thank you.\"" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Enter item name: milk\n", + "Enter quantity: 5\n", + "\n", + "Unit price = 0.69, total price = 3.45.\n", + "\n", + "\n", + "Enter item code: .\n", + "Thank you.\n" + ] + } + ], + "prompt_number": 6 + } + ], + "metadata": {} + } + ] +}
\ No newline at end of file |