(New page: = ECE 264 Exam 3 Open Book<br> = <br>Read Write fopen<br>Text fgetc fprintf "r", "w"<br>fgets fputc "rb", "wb" binary fread size_t fread(void *p, size_t size, size_tn, FILE * f);<br>siz...)
 
Line 1: Line 1:
= ECE 264 Exam 3 Open Book<br> =
+
= ECE 264 Exam 3 Open Book<br> =
 +
 
 +
 
  
 
<br>Read Write fopen<br>Text fgetc fprintf "r", "w"<br>fgets fputc "rb", "wb"
 
<br>Read Write fopen<br>Text fgetc fprintf "r", "w"<br>fgets fputc "rb", "wb"
 +
 +
  
 
binary fread
 
binary fread
Line 11: Line 15:
 
if(count ==2)<br>{
 
if(count ==2)<br>{
  
<br>::void fclose(FILE *f)
+
<br>void fclose(FILE *f)
  
::int feof(FILE *f)
+
int feof(FILE *f)
  
 
dynamic structures?
 
dynamic structures?
  
struct Blokus<br>{<br>:int clirn,<br>:char* data;
+
struct Blokus<br>{<br>int clirn,<br>char* data;
  
 
}
 
}
  
typedef struct IntValue {<br>:int value;<br>:struct IntValue *next;<br>} IntValue;
+
typedef struct IntValue {<br>int value;<br>struct IntValue *next;<br>} IntValue;
  
IntValue *IntValue_create(int value)<br>{<br>:IntValue *iv = malloc(sizeof(IntValue));<br>:iv-&gt;value = value;<br>:iv-&gt;next = NULL;<br>:return iv;<br>}
+
IntValue *IntValue_create(int value)<br>{<br>IntValue *iv = malloc(sizeof(IntValue));<br>iv-&gt;value = value;<br>iv-&gt;next = NULL;<br>return iv;<br>}
  
void IntValue_destroy(IntValue *iv)<br>{<br>:free(iv);<br>}
+
void IntValue_destroy(IntValue *iv)<br>{<br>free(iv);<br>}
  
IntValue *IntValueL_insertFront(IntValue *head, IntValue *node)<br>{<br>:node-&gt;next = head;<br>:return node;<br>}
+
IntValue *IntValueL_insertFront(IntValue *head, IntValue *node)<br>{<br>node-&gt;next = head;<br>return node;<br>}
  
void IntValueL_print(IntValue *head)<br>{<br>:whle (head!= NULL) {<br>:printf(" %d", head-&gt;value);<br>:head = head-&gt;next;<br>}<br>printf("\n");<br>}
+
void IntValueL_print(IntValue *head)<br>{<br>whle (head!= NULL) {<br>printf(" %d", head-&gt;value);<br>head = head-&gt;next;<br>}<br>printf("\n");<br>}
  
int IntValueL_getCount(IntValue *head)<br>{<br>:int count = 0;<br>:while (head !=NULL){<br>:count++;<br>;head = head-&gt;next;<br>}<br>:return count;<br>}<br>//put at back of list<br>IntValue *IntValueL_insertBack(IntValue *head, IntValue *node)<br>{<br>:if(head ==NULL) {<br>::node-&gt; next = NULL;<br>::return node;<br>}<br>:IntValue *curr = head;<br>:while (curr -&gt;next != NULL)<br>:{<br>::curr = curr-&gt;next;<br>:}<br>:curr-&gt;next = node;<br>:node -&gt; next = NULL;
+
int IntValueL_getCount(IntValue *head)<br>{<br>int count = 0;<br>while (head !=NULL){<br>count++;<br>head = head-&gt;next;<br>}<br>return count;<br>}<br>//put at back of list<br>IntValue *IntValueL_insertBack(IntValue *head, IntValue *node)<br>{<br>if(head ==NULL) {<br>node-&gt; next = NULL;<br>return node;<br>}<br>IntValue *curr = head;<br>while (curr -&gt;next != NULL)<br>{<br>curr = curr-&gt;next;<br>}<br>curr-&gt;next = node;<br>node -&gt; next = NULL;
  
<br>:}
+
<br>}<br>Reverse
  
<br>Reverse algorithm!<br>
+
IntValue *new_head = NULL;<br>while(head !=NULL){<br>IntValue *tmp = head;<br>head = head-&gt;next;<br>new_head = IntValueL_insertFront(new_head,tmp);<br>}<br>return new_head;<br>}<br>Find and delete?<br>int IntValueL_find(IntValue *head, int value)<br>{<br>//look for integery with value == to parameter being passed in<br>while( head!=NULL)<br>{<br>if(head -&gt; value ==value) {<br>return head;<br>}<br>head = head-&gt; next;<br>}<br>return NULL;<br>}
 
+
:IntValue *new_head = NULL;<br>:while(head !=NULL){<br>::IntValue *tmp = head;<br>::head = head-&gt;next;<br>::new_head = IntValueL_insertFront(new_head,tmp);<br>:}<br>:return new_head;<br>}
+
 
+
<br>Find and delete?<br>int IntValueL_find(IntValue *head, int value)<br>{<br>//look for integery with value == to parameter being passed in<br>:while( head!=NULL)<br>:{<br>::if(head -&gt; value ==value) {<br>:::return head;<br>::}<br>::head = head-&gt; next;<br>:}<br>:return NULL;<br>}
+
  
 
void IntValueL_delete
 
void IntValueL_delete
Line 45: Line 45:
 
Master Struct<br>struct IntList
 
Master Struct<br>struct IntList
  
int main(int argc, char **argv)<br>{<br>IntValue *head=NuLL;<br>head = IntValueL_insertFront(head, IntValue_create(42));<br>head = IntValueL_insertFront(head, IntValue_create(64));<br>head = IntValueL_insertFront(head, IntValue_create(128));<br>head = IntValueL_insertFront(head, IntValue_create(11));<br>//looking for and find and print<br>printf("Value %d is at point %p\n"<br>}<br><br>
+
int main(int argc, char **argv)<br>{<br>IntValue *head=NuLL;<br>head = IntValueL_insertFront(head, IntValue_create(42));<br>head = IntValueL_insertFront(head, IntValue_create(64));<br>head = IntValueL_insertFront(head, IntValue_create(128));<br>head = IntValueL_insertFront(head, IntValue_create(11));<br>//looking for and find and print<br>printf("Value %d is at point %p\n"<br>}<br>
 +
 
 +
<br><br>

Revision as of 23:09, 30 April 2011

ECE 264 Exam 3 Open Book


Read Write fopen
Text fgetc fprintf "r", "w"
fgets fputc "rb", "wb"


binary fread

size_t fread(void *p, size_t size, size_tn, FILE * f);
size_t fwrite(

int count = fread(&w, sizeof(int), 1, f);
count += fread(&h,...,1,f)

if(count ==2)
{


void fclose(FILE *f)

int feof(FILE *f)

dynamic structures?

struct Blokus
{
int clirn,
char* data;

}

typedef struct IntValue {
int value;
struct IntValue *next;
} IntValue;

IntValue *IntValue_create(int value)
{
IntValue *iv = malloc(sizeof(IntValue));
iv->value = value;
iv->next = NULL;
return iv;
}

void IntValue_destroy(IntValue *iv)
{
free(iv);
}

IntValue *IntValueL_insertFront(IntValue *head, IntValue *node)
{
node->next = head;
return node;
}

void IntValueL_print(IntValue *head)
{
whle (head!= NULL) {
printf(" %d", head->value);
head = head->next;
}
printf("\n");
}

int IntValueL_getCount(IntValue *head)
{
int count = 0;
while (head !=NULL){
count++;
head = head->next;
}
return count;
}
//put at back of list
IntValue *IntValueL_insertBack(IntValue *head, IntValue *node)
{
if(head ==NULL) {
node-> next = NULL;
return node;
}
IntValue *curr = head;
while (curr ->next != NULL)
{
curr = curr->next;
}
curr->next = node;
node -> next = NULL;


}
Reverse

IntValue *new_head = NULL;
while(head !=NULL){
IntValue *tmp = head;
head = head->next;
new_head = IntValueL_insertFront(new_head,tmp);
}
return new_head;
}
Find and delete?
int IntValueL_find(IntValue *head, int value)
{
//look for integery with value == to parameter being passed in
while( head!=NULL)
{
if(head -> value ==value) {
return head;
}
head = head-> next;
}
return NULL;
}

void IntValueL_delete

Master Struct
struct IntList

int main(int argc, char **argv)
{
IntValue *head=NuLL;
head = IntValueL_insertFront(head, IntValue_create(42));
head = IntValueL_insertFront(head, IntValue_create(64));
head = IntValueL_insertFront(head, IntValue_create(128));
head = IntValueL_insertFront(head, IntValue_create(11));
//looking for and find and print
printf("Value %d is at point %p\n"
}



Alumni Liaison

Questions/answers with a recent ECE grad

Ryne Rayburn