From 5a8b5d7d9d8a25d334fd22da10d5813aedbea305 Mon Sep 17 00:00:00 2001 From: Chris Bourke Date: Tue, 27 Oct 2020 16:20:49 -0500 Subject: [PATCH] revamp updates separated source into directories eliminated worksheet converted handout to markdown updated code requirements cleaned up old comments prior to cURL conversion --- handouts/Lab-Structs-Worksheet.pdf | Bin 31170 -> 0 bytes handouts/Lab-Structs-Worksheet.tex | 95 -------- handouts/Lab11-Structs.pdf | Bin 113123 -> 0 bytes handouts/Lab11-Structs.tex | 318 ------------------------- readme.md | 252 +++++++++++++++++++- curlTest.c => rss/curlTest.c | 0 curl_utils.c => rss/curl_utils.c | 5 +- curl_utils.h => rss/curl_utils.h | 0 makefile => rss/makefile | 2 +- rss.c => rss/rss.c | 6 +- rss.h => rss/rss.h | 9 +- rss_utils.c => rss/rss_utils.c | 0 rss_utils.h => rss/rss_utils.h | 16 +- runRss.c => rss/runRss.c | 4 + studentDemo.c => studentDemo/student.c | 87 +++---- studentDemo/student.h | 44 ++++ studentDemo/studentDemo.c | 12 + worksheet.md | 28 --- 18 files changed, 375 insertions(+), 503 deletions(-) delete mode 100644 handouts/Lab-Structs-Worksheet.pdf delete mode 100755 handouts/Lab-Structs-Worksheet.tex delete mode 100644 handouts/Lab11-Structs.pdf delete mode 100755 handouts/Lab11-Structs.tex rename curlTest.c => rss/curlTest.c (100%) rename curl_utils.c => rss/curl_utils.c (91%) rename curl_utils.h => rss/curl_utils.h (100%) rename makefile => rss/makefile (96%) rename rss.c => rss/rss.c (61%) rename rss.h => rss/rss.h (64%) rename rss_utils.c => rss/rss_utils.c (100%) rename rss_utils.h => rss/rss_utils.h (59%) rename runRss.c => rss/runRss.c (86%) rename studentDemo.c => studentDemo/student.c (61%) create mode 100644 studentDemo/student.h create mode 100644 studentDemo/studentDemo.c delete mode 100644 worksheet.md diff --git a/handouts/Lab-Structs-Worksheet.pdf b/handouts/Lab-Structs-Worksheet.pdf deleted file mode 100644 index 7f5c233080d2056d60b4b838c911ab074ac850ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31170 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 diff --git a/handouts/Lab-Structs-Worksheet.tex b/handouts/Lab-Structs-Worksheet.tex deleted file mode 100755 index 3514208..0000000 --- a/handouts/Lab-Structs-Worksheet.tex +++ /dev/null @@ -1,95 +0,0 @@ -\documentclass[10pt]{exam} -%\printanswers -\usepackage{fullpage} - -\setlength{\parindent}{0pt} -\setlength{\parskip}{.25cm} - -\usepackage{graphicx} - -\usepackage{xcolor} - -\definecolor{darkred}{rgb}{0.5,0,0} -\definecolor{darkgreen}{rgb}{0,0.5,0} -\usepackage{hyperref} -\hypersetup{ - letterpaper, - colorlinks, - linkcolor=red, - citecolor=darkgreen, - menucolor=darkred, - urlcolor=blue, - pdfpagemode=none, - pdftitle={Lab 11.0 - Encapsulation - Worksheet}, - pdfauthor={Christopher M. Bourke} - pdfkeywords={} -} - -\definecolor{MyDarkBlue}{rgb}{0,0.08,0.45} -\definecolor{MyDarkRed}{rgb}{0.45,0.08,0} -\definecolor{MyDarkGreen}{rgb}{0.08,0.45,0.08} - -\definecolor{mintedBackground}{rgb}{0.95,0.95,0.95} -\definecolor{mintedInlineBackground}{rgb}{.90,.90,1} - -%\usepackage{newfloat} -\usepackage[newfloat=true]{minted} -\setminted{mathescape, - linenos, - autogobble, - frame=none, - framesep=2mm, - framerule=0.4pt, - %label=foo, - xleftmargin=2em, - xrightmargin=0em, - startinline=true, %PHP only, allow it to omit the PHP Tags *** with this option, variables using dollar sign in comments are treated as latex math - numbersep=10pt, %gap between line numbers and start of line - style=default, %syntax highlighting style, default is "default" - %gallery: http://help.farbox.com/pygments.html - %list available: pygmentize -L styles - bgcolor=mintedBackground} %prevents breaking across pages - -\setmintedinline{bgcolor={mintedBackground}} -\setminted[text]{bgcolor={mintedBackground},linenos=false,autogobble,xleftmargin=1em} -%\setminted[php]{bgcolor=mintedBackgroundPHP} %startinline=True} -\SetupFloatingEnvironment{listing}{name=Code Sample} -\SetupFloatingEnvironment{listing}{listname=List of Code Samples} - -\begin{document} - -\section*{CSCE 155 - Lab 11.0 - Encapsulation \& Structures - Worksheet} - -Names: \underline{\hspace{10cm}} - -\begin{questions} - -\question Which RSS feed did you choose and what is the most recent - story published through it? - \begin{solution}[3cm] - \end{solution} - -\question How many stories were available on the RSS feed when you - executed your program? - \begin{solution}[3cm] - \end{solution} - - - - - - - -\question Closely examine the description and titles of each of the - RSS items. Do you notice any weird characters or odd formatting? - Can you explain them? - \begin{solution}[3cm] - \end{solution} - -\question Demonstrate your working programs to a lab instructor. - -\end{questions} - -Lab Instructor Signature\underline{\hspace{7.5cm}} - -\end{document} diff --git a/handouts/Lab11-Structs.pdf b/handouts/Lab11-Structs.pdf deleted file mode 100644 index 0c978dc1513d48a247f6715e3d36aeac6ea45caa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113123 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

$cTYlLIFAj!Gux}CW#d#4J&@MUh@iWRxEk1H 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�P9u{Uu|p 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 z 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 gGXMJoa&$6uaB} - - UNL News Releases - http://newsroom.unl.edu/releases/ - News from the University of Nebraska-Lincoln - en-us - Copyright 2012 University of Nebraska-Lincoln - - UNL News Releases - http://www.unl.edu/favicon.ico - http://www.unl.edu/ - - - Guerrilla Girls on Tour perform 'Feminists are Funny' Monday at Sheldon - http://newsroom.unl.edu/releases/2012/03/09/Guerrilla - The Guerrilla Girls on Tour, an internationally acclaimed anonymous theater collective, will perform "Feminists are Funny" at the University of Nebraska-Lincoln's Sheldon Museum of Art, 12th and R streets, at 7 p.m. March 12. The 70-minute play is an... - - Fri, 09 Mar 2012 02:00:00 -0600 - - ... - - -\end{minted} - -\subsection*{Structures in C} - -An entity may be composed of several different pieces of data. -A person for example may have a first and last name (strings), -an age (integer), a birthdate (some date/time representation), -etc. Its much easier and more natural to group each of these -pieces of data into one entity. This is a concept known as -\emph{encapsulation}--a mechanism by which data can be -grouped together to define an entity. - -The C programming language provides a mechanism to achieve -encapsulation using structures. Structures are user defined types -that have one or more data fields--variables which have a type -and a name. To access the member fields of a structure you can -use the dot operator; example: \mintinline{c}{student.firstName}. -However, when you have a reference to a structure, you need to -use the arrow operator: \mintinline{c}{student->firstName}. - -\subsection*{RSS Client Background} - -You have been provided with an incomplete RSS client written in C. -The client works as follows: based on a URL (which consists of a -host and a resource on that host), it opens a socket connection and -sends a GET request to the server. The server responds with a -stream of data that the client reads into a buffer. This data stream -can, in general, be any type of data, but we're expecting an RSS -feed--a stream of plain text XML-formatted data conforming to the -RSS standard. Since the data is plain text, it is stored in a -character array which is then handed off to another function -to parse the XML document. This is done using a library (libxml2, -an XML parser and toolkit for Gnome). - -\section{Activities} - -Clone the project code for this lab from GitHub by using the following URL: -\url{https://github.com/cbourke/CSCE155-C-Lab11}. - -If you are using the CS50 IDE you may need to install the curl development -library before compiling this lab: - -\mintinline{text}{sudo apt-get install libcurl4-gnutls-dev} - -\subsection{A Student Structure} - -This activity will familiarize you with a completed program in which -a C structure has been declared to represent a student. Several -functions have been implemented to assist in the construction and -printing of this structure. In particular there are two ``factory'' -functions that can be used to help in the construction of an individual -structure. The factory function takes the appropriate parameters, -allocates memory to hold a new student and sets each field of the -student appropriately. In the case of strings, malloc is used to create -enough space and the string is then copied. The birthdate is handled -specially: it parses the date string and creates a \mintinline{c}{struct tm} -which is a \emph{time} structure defined by the time library -(\mintinline{text}{time.h}). Ultimately, a pointer to the new student -structure is returned. There is also a print function that takes a -student (by reference) and prints it out to the standard output. - - -\subsubsection*{Instructions} - -\begin{enumerate} - \item Examine the syntax and program structure and observe how - each factory function works as well as how they are used. - \item Change the values in the \mintinline{c}{main} function to your - name, NUID, and birth date. - \item Compile and run the program. Refer back to this program in - the next activity as needed. -\end{enumerate} - -\subsection{Completing the RSS Client} - -In this activity, you will complete the RSS Client that connects to a UNL -RSS feed, processes the XML data and outputs the results to the -standard output. Most of the client has been completed for you. -You just need to complete the design and implementation of a C -structure that models the essential parts of an RSS item. Your -structure will need to support an RSS item's title, link, description, -and publication date. - -To keep things simple, we recommend that you represent the date using -a string. If you would like to try using the \mintinline{c}{tm} structure -defined in the time library, you may find the following documentation -useful: \url{http://pubs.opengroup.org/onlinepubs/7908799/xsh/time.h.html} - -\subsubsection*{Instructions} - -\begin{enumerate} - \item We have provided 3 different RSS feeds to work with in the - program. You can switch between them using command line arguments. - \item Design and implement the RSS structure - \item Complete the other functions - \begin{itemize} - \item \mintinline{c}{createEmptyRss()} - this function should create an - ``empty'' RSS structure - \item \mintinline{c}{createRss()} - this function should construct an RSS - structure based on the input parameters. For the date, use a string - representation (RSS and Atom feeds can use a variety of formats and - there is no easy way to automatically parse them). - \item \mintinline{c}{printRss()} - this function should print the given RSS - to the standard output in a human readable format (the details are up to you). - \end{itemize} - \item You will need to use the makefile to compile your program as it - contains the flags necessary to import the proper XML libraries. - Recall that you can execute the makefile by typing the \mintinline{text}{make} - command. -\end{enumerate} - -\section{Handin/Grader Instructions} - -\begin{enumerate} - \item Hand in your completed files: - \begin{itemize} - \item \mintinline{text}{rss.h} - \item \mintinline{text}{rss.c} - \item \mintinline{text}{worksheet.md} - \end{itemize} - through the webhandin (\url{https://cse-apps.unl.edu/handin}) - using your cse login and password. - \item Even if you worked with a partner, you \emph{both} should - turn in all files. - \item Verify your program by grading yourself through the - webgrader (\url{https://cse.unl.edu/~cse155e/grade/}) using the - same credentials. - \item Recall that both expected output and your program's output - will be displayed. The formatting may differ slightly which is fine. - As long as your program successfully compiles, runs and outputs - the \emph{same values}, it is considered correct. -\end{enumerate} - - -\section{Advanced Activity (Optional)} - -\begin{enumerate} - \item You will notice that internally, we have provided support for both - RSS 2.0 feeds and Atom 1.0 feeds (Reddit uses Atom for example). - Examine the files where we have defined these feeds. Find an RSS or Atom - feed that is of interest to you and integrate it as an option for this program. - Be sure to change the main function so that it can be used. - - \item Improve the program further by modifying the \mintinline{c}{parseRSS_XML} - function. Currently, this function parses the XML but limits the number of - RSS structures to a maximum of 100. Write another function to count the - number of items in the XML and use it to instead dynamically allocate an - RSS array of a size exactly equal to the number of item elements in the XML file. -\end{enumerate} - -For additional Information: - \begin{itemize} - \item RSS: \url{http://en.wikipedia.org/wiki/RSS} - \item HTTP Protocol: \url{http://en.wikipedia.org/wiki/HTTP} - \item C Sockets: \url{http://www.linuxhowtos.org/C_C++/socket.htm} - \end{itemize} - -\end{document} diff --git a/readme.md b/readme.md index 6590910..a6d9760 100644 --- a/readme.md +++ b/readme.md @@ -1,4 +1,254 @@ # Computer Science I ## Lab 11.0 - Encapsulation & Structures -This is a lab used in Computer Science I (CSCE 155E, CSCE 155H) in the [Department of Computer Science & Engineering](https://cse.unl.edu) at the [University of Nebraska-Lincoln](https://unl.edu). +This is a lab used in Computer Science I (CSCE 155E, CSCE 155H) in the +[Department of Computer Science & Engineering](https://cse.unl.edu) at the +[University of Nebraska-Lincoln](https://unl.edu). + +## 1. Overview + +### Prior to Lab + +Before attending this lab: + +1. Read and familiarize yourself with this handout. + +2. Read Chapters 10 and 23 of the [Computer Science + I](http://cse.unl.edu/~cbourke/ComputerScienceOne.pdf) textbook + +3. Watch Videos 11.1 thru 11.3 of the [Computer Science + I](https://www.youtube.com/playlist?list=PL4IH6CVPpTZVkiEnCEOdGbYsFEdtKc5Bx) + video series + +### Peer Programming Pair-Up + +**For students in the online section:** you may complete the lab on your +own if you wish or you may team up with a partner of your choosing. You +may consult with a lab instructor to get teamed up online (via Zoom). + +**For students in the face-to-face section:** your lab instructor will +team you up with a partner. + +To encourage collaboration and a team environment, labs are be +structured in a *peer programming* setup. At the start of each lab, you +will be randomly paired up with another student (conflicts such as +absences will be dealt with by the lab instructor). One of you will be +designated the *driver* and the other the *navigator*. + +The navigator will be responsible for reading the instructions and +telling the driver what to do next. The driver will be in charge of the +keyboard and workstation. Both driver and navigator are responsible for +suggesting fixes and solutions together. Neither the navigator nor the +driver is "in charge." Beyond your immediate pairing, you are encouraged +to help and interact and with other pairs in the lab. + +Each week you should alternate: if you were a driver last week, be a +navigator next, etc. Resolve any issues (you were both drivers last +week) within your pair. Ask the lab instructor to resolve issues only +when you cannot come to a consensus. + +Because of the peer programming setup of labs, it is absolutely +essential that you complete any pre-lab activities and familiarize +yourself with the handouts prior to coming to lab. Failure to do so will +negatively impact your ability to collaborate and work with others which +may mean that you will not be able to complete the lab. + +### Lab Objectives & Topics +======================= + +At the end of this lab you should be familiar with the following + +- Be familiar with the concepts of encapsulation & modularity + +- Understand how to design, declare, and use C structures (both by + reference and by value) + +- Have some exposure to advanced topics such as sockets, the HTTP + protocol, and XML processing + +## 2. Background + +### 2.1 RSS Feeds + +An RSS feed (RDF Site Summary or "Really Simple Syndication") is a +format used to publish frequently updated works. RSS enabled clients can +subscribe to RSS feeds and update a user as to new or relevant news +items. RSS feeds are most commonly formatted using XML (Extensible +Markup Language) that use XML tags to indicate what the data represents +(the title of the article, a short description, etc.). Clients "read" an +RSS feed by making a connection to a server using the HyperText Transfer +Protocol (HTTP). + +For example, UNL has an RSS news feed available at + which serves XML data +that looks something like the following: + +```xml + + + UNL News Releases + http://newsroom.unl.edu/releases/ + News from the University of Nebraska-Lincoln + en-us + Copyright 2012 University of Nebraska-Lincoln + + UNL News Releases + http://www.unl.edu/favicon.ico + http://www.unl.edu/ + + + Guerrilla Girls on Tour perform 'Feminists are Funny' Monday at Sheldon + http://newsroom.unl.edu/releases/2012/03/09/Guerrilla + The Guerrilla Girls on Tour, an internationally acclaimed anonymous theater collective, will perform "Feminists are Funny" at the University of Nebraska-Lincoln's Sheldon Museum of Art, 12th and R streets, at 7 p.m. March 12. The 70-minute play is an... + + Fri, 09 Mar 2012 02:00:00 -0600 + + ... + + +``` + +### 2.2 Structures in C + +An entity may be composed of several different pieces of data. A person +for example may have a first and last name (strings), an age (integer), +a birthdate (some date/time representation), etc. Its much easier and +more natural to group each of these pieces of data into one entity. This +is a concept known as *encapsulation*--a mechanism by which data can be +grouped together to define an entity. + +The C programming language provides a mechanism to achieve encapsulation +using structures. Structures are user defined types that have one or +more data fields–variables which have a type and a name. To access the +member fields of a structure you can use the dot operator; example: . +`student.firstName`. However, when you have a reference (pointer) to a +structure, you need to use the arrow operator: `student->firstName`. + +### 2.3 RSS Client Background + +You have been provided with an incomplete RSS client written in C. The +client uses the cURL library (Client URL) library to make an HTTP +(or a secure HTTPS) connection using a URL (a web address) to an RSS +server. The server responds with a stream of data that +the client reads into a buffer. This data stream can, in general, be any +type of data, but we're expecting an RSS feed--a stream of plain text +XML-formatted data conforming to the RSS standard. Since the data is +plain text, it is stored in a character array which is then handed off +to another function to parse the XML document. This is done using an XML +library (libxml2, an XML parser and toolkit for Gnome). + +## 3. Activities + +### 3.1 Getting Started + +Clone the project code for this lab from GitHub by using the following +URL: . + +If you are using the CS50 IDE you may need to install the curl +development library before compiling this lab: + +`sudo apt-get install libcurl4-gnutls-dev` + +### 3.2 `Student` Structure Demo + +To demonstrate how to define and use a structure, we have provided a +completed program (see the files in the `studentDemo` directory) +with a full structure definition to model a student. +Several functions have been implemented to assist in the construction +and printing of this structure. In particular there are two "factory" +functions that can be used to help in the construction of an individual +structure. The factory function takes the appropriate parameters, allocates +memory for a new `Student` instance and sets each field of the structure +appropriately. In the case of strings, `malloc` is used to create enough +space and the string is then copied. The `birthDate` is handled specially: +it parses the date string and creates a `struct tm` which is a *time* structure +defined by the time library (`time.h`). Finally, a pointer to the new +`Student` structure is returned. There is also a print function that takes +a student (by reference) and prints it out to the standard output. + +#### Instructions + +1. Examine the syntax and program structure and observe how each + factory function works as well as how they are used. + +2. Change the values in the function to your name, NUID, and birth + date. + +3. Compile and run the program using the following commands. + ```text + gcc -c -std=gnu89 student.c + gcc student.o studentDemo.c + ``` + Run your program and observe the results. Refer back to this + program in the next activity as needed. + +### 3.3 Completing the RSS Client + +In this activity, you will complete the RSS Client that connects to a +UNL RSS feed, processes the XML data and outputs the results to the +standard output. Most of the client has been completed for you. You just +need to complete the design and implementation of a C structure that +models the essential parts of an RSS "item" (usually an individual +news story). Your structure will need to support an RSS item's title, +link, description, and publication date. + +To keep things simple, we recommend that you represent the date using a +string. If you would like to try using the structure defined in the time +library, you may find the following documentation useful: + + + +#### Instructions + +1. Go to the `rss` directory. We have provided a collection of source + files to do most of the work for you. To compile it, we have provided + a `makefile`. Simply type `make` and it produces an executable called + `runRss`. + +2. Examine the `main` function in `runRss.c` and observe how to use + the program to connect to three different RSS feeds using + command line arguments. + +3. Design and implement the RSS structure in the `rss.h` header file + +4. Complete all the functions as specified in their documentation. + + +## 4. Handin/Grader Instructions + +1. Hand in your completed files: + + - `rss.h` + - `rss.c` + + through the webhandin () using your + cse login and password. + +2. Even if you worked with a partner, you *both* should turn in all + files. + +3. Verify your program by grading yourself through the webgrader + () using the same credentials. + +4. Recall that both expected output and your program's output will be + displayed. The formatting may differ slightly which is fine. As long + as your program successfully compiles, runs and outputs the *same + values*, it is considered correct. + +## Advanced Activity (Optional) + +1. You will notice that internally, we have provided support for both + RSS 2.0 feeds and Atom 1.0 feeds (Reddit uses Atom for example). + Examine the files where we have defined these feeds. Find an RSS or + Atom feed that is of interest to you and integrate it as an option + for this program. Be sure to update the `main` function so that it can + be used. + +2. Improve the program further by modifying the `parseRssXml` function. Currently, + this function parses the XML but limits the number of RSS structures + to a maximum of 100. Write another function to count the number of + items in the XML and use it to instead dynamically allocate an RSS + array of a size exactly equal to the number of item elements in the + XML file. + + diff --git a/curlTest.c b/rss/curlTest.c similarity index 100% rename from curlTest.c rename to rss/curlTest.c diff --git a/curl_utils.c b/rss/curl_utils.c similarity index 91% rename from curl_utils.c rename to rss/curl_utils.c index 9c4269e..c5e1ba0 100644 --- a/curl_utils.c +++ b/rss/curl_utils.c @@ -44,7 +44,10 @@ char *getContent(const char *url) { curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writefunc); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &s); res = curl_easy_perform(curl); - + if(res != CURLE_OK) { + fprintf(stderr, "cURL encountered an error: %s\n", curl_easy_strerror(res)); + } + result = (char *)malloc(sizeof(char) * (strlen(s.ptr) + 1)); strcpy(result, s.ptr); free(s.ptr); diff --git a/curl_utils.h b/rss/curl_utils.h similarity index 100% rename from curl_utils.h rename to rss/curl_utils.h diff --git a/makefile b/rss/makefile similarity index 96% rename from makefile rename to rss/makefile index d11d8ff..9478c8a 100644 --- a/makefile +++ b/rss/makefile @@ -3,7 +3,7 @@ # # compile with gcc -CC = gcc -Wall +CC = gcc -std=gnu99 -Wall # XML libraries XML_INCLUDE = -I/usr/include/libxml2 diff --git a/rss.c b/rss/rss.c similarity index 61% rename from rss.c rename to rss/rss.c index f32e94a..a5178d1 100644 --- a/rss.c +++ b/rss/rss.c @@ -12,5 +12,9 @@ Rss * createEmptyRss() { Rss * createRss(const char * title, const char * link, const char * date, const char * description) { } -void printRss(Rss * item) { +void initRss(Rss *feed, const char* title, const char* link, const char* date, + const char* description); + + +void printRss(const Rss * item) { } diff --git a/rss.h b/rss/rss.h similarity index 64% rename from rss.h rename to rss/rss.h index 1b0fffb..f5c03fb 100644 --- a/rss.h +++ b/rss/rss.h @@ -16,8 +16,15 @@ Rss* createEmptyRss(); Rss* createRss(const char* title, const char* link, const char* date, const char* description); +/** + * An initialization function to initialize an RSS feed with the + * given values. + */ +void initRss(Rss *feed, const char* title, const char* link, const char* date, + const char* description); + /** * A function that prints the given Rss structure * to the standard output. */ -void printRss(Rss* item); +void printRss(const Rss* item); diff --git a/rss_utils.c b/rss/rss_utils.c similarity index 100% rename from rss_utils.c rename to rss/rss_utils.c diff --git a/rss_utils.h b/rss/rss_utils.h similarity index 59% rename from rss_utils.h rename to rss/rss_utils.h index f684973..77522b3 100644 --- a/rss_utils.h +++ b/rss/rss_utils.h @@ -17,22 +17,22 @@ typedef struct { } RssService; static const RssService cseBitsAndBytes = { - "CSE Bits and Bytes", "https://newsroom.unl.edu/announce/cse/?format=rss", + "CSE Bits and Bytes", + "https://newsroom.unl.edu/announce/cse/?format=rss", RSS2}; static const RssService huskerNews = { "Husker Sports News", - "https://huskers.com/rss.aspx", RSS2}; + "https://huskers.com/rss.aspx", + RSS2}; /** - * An RSS feed of Reddit's front page. Be aware: reddit - * forces an SSL connection, so we've been forced to use a - * non-SSL proxy here. Depending on the fickleness of your - * instructor, this may or may not be working. + * An RSS feed of Reddit's front page. */ static const RssService reddit = { - "Reddit", "https://www.reddit.com/.rss", - ATOM1}; + "Reddit", + "https://www.reddit.com/.rss", + ATOM1}; /** * A utility function to parse an XML feed from an RSS feed diff --git a/runRss.c b/rss/runRss.c similarity index 86% rename from runRss.c rename to rss/runRss.c index 37219f1..0565087 100644 --- a/runRss.c +++ b/rss/runRss.c @@ -9,6 +9,10 @@ #include "rss_utils.h" #include "rss.h" +/** + * Main driver program for the RSS feed demo. You can provide + * command line arguments 1 - 3 to connect to different feeds. + */ int main(int argc, char **argv) { // default: UNL News RssService s = cseBitsAndBytes; diff --git a/studentDemo.c b/studentDemo/student.c similarity index 61% rename from studentDemo.c rename to studentDemo/student.c index 594d991..2b4090e 100644 --- a/studentDemo.c +++ b/studentDemo/student.c @@ -1,42 +1,49 @@ #include #include -#include #include +#include + +#include "student.h" + +Student *createEmptyStudent() { + return createStudent("", "", 0, ""); +} -/** - * A structure modeling a UNL student with - * first name, last name, nuid and a birth date - * (as a tm, "time" structure) - */ -typedef struct { - char *firstName; - char *lastName; - int nuid; - struct tm birthDate; -} Student; - -/** - * Creates an "empty" Student struct with default values - */ -Student *createEmptyStudent(); - -/** - * Creates a Student struct with the given values - */ Student *createStudent(const char *firstName, const char *lastName, int nuid, - const char *birthDate_str); + const char *birthDate_str) { + Student *student = (Student *)malloc(sizeof(Student) * 1); + + student->firstName = (char *)malloc(sizeof(char) * (strlen(firstName) + 1)); + strcpy(student->firstName, firstName); + + student->lastName = (char *)malloc(sizeof(char) * (strlen(lastName) + 1)); + strcpy(student->lastName, lastName); + + student->nuid = nuid; -/** - * Prints the given Student struct to the standard output - */ -void printStudent(Student *student); + strptime(birthDate_str, "%m/%d/%Y", &(student->birthDate)); -int main(int argc, char **argv) { - Student *me = createStudent("Joe", "Smith", 140602, "07/30/1980"); - printStudent(me); + return student; } -char *studentToString(Student *student) { +void initStudent(Student *student, + const char *firstName, const char *lastName, int nuid, + const char *birthDate_str) { + student->firstName = (char *)malloc(sizeof(char) * (strlen(firstName) + 1)); + strcpy(student->firstName, firstName); + + student->lastName = (char *)malloc(sizeof(char) * (strlen(lastName) + 1)); + strcpy(student->lastName, lastName); + + student->nuid = nuid; + + strptime(birthDate_str, "%m/%d/%Y", &(student->birthDate)); + + return; +} + + +char *studentToString(const Student *student) { if (student == NULL) { char *result = (char *)malloc(sizeof(char) * 7); strcpy(result, "(null)"); @@ -60,28 +67,10 @@ char *studentToString(Student *student) { return str; } -void printStudent(Student *student) { +void printStudent(const Student *student) { char *str = studentToString(student); printf("%s\n", str); free(str); return; } -Student *createEmptyStudent() { return createStudent("", "", 0, ""); } - -Student *createStudent(const char *firstName, const char *lastName, int nuid, - const char *birthDate_str) { - Student *student = (Student *)malloc(sizeof(Student) * 1); - - student->firstName = (char *)malloc(sizeof(char) * (strlen(firstName) + 1)); - strcpy(student->firstName, firstName); - - student->lastName = (char *)malloc(sizeof(char) * (strlen(lastName) + 1)); - strcpy(student->lastName, lastName); - - student->nuid = nuid; - - strptime(birthDate_str, "%m/%d/%Y", &(student->birthDate)); - - return student; -} diff --git a/studentDemo/student.h b/studentDemo/student.h new file mode 100644 index 0000000..2e9b862 --- /dev/null +++ b/studentDemo/student.h @@ -0,0 +1,44 @@ +#include + +/** + * A structure modeling a UNL student with + * first name, last name, nuid and a birth date + * (as a tm, "time" structure) + */ +typedef struct { + char *firstName; + char *lastName; + int nuid; + struct tm birthDate; +} Student; + +/** + * Creates an "empty" Student struct with default values + */ +Student *createEmptyStudent(); + +/** + * Creates a Student struct with the given values + */ +Student *createStudent(const char *firstName, const char *lastName, int nuid, + const char *birthDate_str); + +/** + * Initializes the given Student sturcture with the + * given values + */ +void initStudent(Student *student, + const char *firstName, const char *lastName, int nuid, + const char *birthDate_str); + +/** + * Prints the given Student struct to the standard output + */ +void printStudent(const Student *student); + +/** + * Returns a string representation of the given student + */ +char *studentToString(const Student *student); + + diff --git a/studentDemo/studentDemo.c b/studentDemo/studentDemo.c new file mode 100644 index 0000000..9172a66 --- /dev/null +++ b/studentDemo/studentDemo.c @@ -0,0 +1,12 @@ +#include + +#include "student.h" + +/** + * Student structure demonstration program + */ +int main(int argc, char **argv) { + Student *me = createStudent("Joe", "Smith", 140602, "07/30/1980"); + printStudent(me); +} + diff --git a/worksheet.md b/worksheet.md deleted file mode 100644 index 84a4e80..0000000 --- a/worksheet.md +++ /dev/null @@ -1,28 +0,0 @@ - -# CSCE 155E -## Lab 11.0 Worksheet - -Name(s) and Login(s): - - - -1. Which RSS feed did you choose and what is the most recent - story published through it? - - - -2. How many stories were available on the RSS feed when you - executed your program? - - - -3. Closely examine the description and titles of each of the - RSS items. Do you notice any weird characters or odd formatting? - Can you explain them? - - - - - - -