summaryrefslogtreecommitdiff
path: root/The_Spirit_of_C/Chapter13.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'The_Spirit_of_C/Chapter13.ipynb')
-rwxr-xr-xThe_Spirit_of_C/Chapter13.ipynb346
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