Zajęcia czwarte – funkcje, struktury, unie


Na dzisiejszych zajęciach o funkcjach, porządkowaniu kody w plikach, strukturach i uniach. Praca domowa gratis.

s04e01-funkcja-makro.c

#include <stdio.h>#include <stdlib.h>#define MIN(x,y) x<y ? x : y/* deklaracje funkcji */int max(int x, int y);int main(int argc, char *argv[]){    int a, b;    printf("Podaj dwie liczby oddzielone spacja: ");    scanf("%d %d",&a,&b);    printf("a=%d, b=%d,nmax(a,b)=%dn",a,b,max(a,b));    printf("MIN(a,b)=%dn",MIN(a,b));    system("PAUSE");    return 0;}int max(int x, int y){    if(x>y) return x;    return y;   }

s04e02-argc-argv.c

#include <stdio.h>#include <stdlib.h>#define MIN(x,y) x<y ? x : y#define MAX(x,y) x>y ? x : yint main(int argc, char *argv[]){    if(argc!=3){       printf("Musisz podac dwie liczby jako argument...n");    }    else    {       int a = atoi(argv[1]);       int b = atoi(argv[2]);              printf("a = %dnb = %dn",a,b);       printf("MAX(a,b) = %dn",MAX(a,b));       printf("MIN(a,b) = %dn",MIN(a,b));    }        system("PAUSE");    return 0;}

s04e03-sort-introduction.c

#include <stdio.h>#include <stdlib.h>void randArray(int *array, int len);void printArray(int *array, int len);void sortArray(int *array, int len);int main(int argc, char *argv[]){  int len = 10;  int tablica[len];    randArray(tablica,len);  printArray(tablica,len);  sortArray(tablica,len);  printArray(tablica,len);    system("PAUSE");    return 0;}void randArray(int *array, int len){     int i;     srand(time(NULL));     for(i=0;i<len;i++){             array[i]=rand()%100;     }}void printArray(int *array, int len){     int i;     for(i=0;i<len;i++){             printf("tablica[%d]: %dn",i,array[i]);     }}void printArray(int *array, int len){ //TODO}

s04e04 – porządki

main.c

#include <stdio.h>#include <stdlib.h>#include "arrays.h"int main(int argc, char *argv[]){  int len = 10;  int tablica[len];    randArray(tablica,len);  printArray(tablica,len);    system("PAUSE");    return 0;}

arrays.h

void randArray(int *array, int len);void printArray(int *array, int len);void sortArray(int *array, int len);

arrays.c

#include <stdio.h>#include <stdlib.h>void randArray(int *array, int len){     int i;     srand(time(NULL));     for(i=0;i<len;i++){             array[i]=rand()%100;     }}void printArray(int *array, int len){     int i;     for(i=0;i<len;i++){             printf("tablica[%d]: %dn",i,array[i]);     }}void sortArray(int *array, int len){ //TODO}

Tak rozbity kod kompilujemy za pomocą polecenia:

gcc main.c arrays.c -o main

s04e05-struct.c

#include <stdio.h>#include <stdlib.h>struct Punkt{   int x;   int y;};int main(int argc, char *argv[]){  struct Punkt a;  a.x = 5;  a.y = 7;    struct Punkt b;  b.x = 3;  b.y = 1;    printf("a = (%d,%d), b = (%d,%d)n",a.x,a.y,b.x,b.y);    system("PAUSE");  return 0;}

s05e06-struct-of-struct.c

#include <stdio.h>#include <stdlib.h>struct Punkt{   int x;   int y;};struct Wektor{   struct Punkt a;   struct Punkt b;};int main(int argc, char *argv[]){  struct Punkt a;  a.x = 5;  a.y = 7;    struct Punkt b;  b.x = 3;  b.y = 1;    struct Wektor w;  w.a = a;  w.b = b;    printf("Wektor: (%d,%d), (%d,%d)n",w.a.x,w.a.y,w.b.x,w.b.y);    system("PAUSE");  return 0;}

s04e07 – struct porządek

main.c

#include <stdio.h>#include <stdlib.h>#include "wektor.h"int main(int argc, char *argv[]){  Punkt a = {5,7};  Punkt b = {3,1};    Wektor w = {a,b};    printf("Wektor: (%d,%d), (%d,%d)n",w.a.x,w.a.y,w.b.x,w.b.y);    //system("PAUSE");  return 0;}

wektor.h

#include "punkt.h"typedef struct {   Punkt a;   Punkt b;} Wektor;

punkt.h

typedef struct {   int x;   int y;} Punkt;

s04e08-union.c

#include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]){    union    {  int a;  double b;      } u;    u.a = 3;    u.b = 1.53;    printf("%dn",u.a);    printf("%fn",u.b);}

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *