הגדרת טיפוס ב typedef ב C - עמוד 9 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

הגדרת טיפוס ב typedef ב C


robicon

Recommended Posts

  • תגובות 126
  • נוצר
  • תגובה אחרונה

שאר הקוד זה: set.c


#include "set.h"
set* checkname();
int checkbit1(); set* Initialize();
void read_set(); void print_set(); void union_set(); void intersect_set(); void sub_set(); void halt();

 

ככה הוא נראה רק שהפונקציות כתובות שם....אני לא יכול לעשות העתק הדבק מאבונטו..דרך vm ware

קישור לתוכן
שתף באתרים אחרים



#include "set.h"

void setbit(set *s, int i){

char b=0;

int j=i/8;

i=i%8;

b=b|1;

b=b<<i;

((*s)[j])=((*s)[j])|b;

}

 

int checkbit(set *s,int num){

char b=0;

int i=num/8;

num=num%8;

B|=((*s)[i]);

b=b>>num;

if((b&1)==1){

return 1;

}else{

return 0;

}

}

set* checkname(){

char *a,*b;

int i=0;

a=sets[i].name;

b=strtok(NULL," ,");

while(strcmp(b,a)!=0&&i<=11){

i++;

a=sets[i].name;

}

if(strcmp(b,a)!=0){

printf("No such set\n");

return 0;

}else{

return sets[i].s;

}

return 0;

}

set* Initialize(set *s){

for(int i=0;i<=15;i++){

*s[i]=0;

}

return s;

}

 

 

 

 

 

 

 

void read_set(){

int x=0;

char *z;

set *s;

s=checkname();

Initialize(s);

z=strtok(NULL,",");//find num char

x=strtol(z,NULL,0);//convert to int

while(x!=-1&&x<=127){//-1=end of string

setbit(s,x);//set the bit

z=strtok(NULL,",");

if(z==NULL){

printf("plese enter -1 to end the set\n");

return;

}

x=strtol(z,NULL,0);

}

if(x>127){

printf("%d is out of range\n",x);

return;

}

}

void print_set(){

set *b;

int k=0,j=0;

b=checkname();//b-point to the group

for(int i=0;i<128;i++){

if((checkbit(b,i))==1){

printf("%d,",i);

k=1;

j++;

if(j==15){

printf("\n");

}

}

}

if(k==0){

printf("the group is empty\n");

}

printf("\n");

}

void union_set(){

set *a,*b,*c;

a=checkname();

b=checkname();

c=checkname();

Initialize(c);

for(int i=0;i<=15;i++){

(*c)[i]=((*a)[i])|((*b)[i]);

}

return;

}

 

 

void intersect_set(){

set *a,*b,*c;

a=checkname();

b=checkname();

c=checkname();

Initialize(c);

for(int i=0;i<=15;i++){

(*c)[i]=((*a)[i])&((*b)[i]);

}

return;

}

void sub_set(){

set *a,*b,*c;

a=checkname();

b=checkname();

c=checkname();

Initialize(c);

for(int i=0;i<=15;i++){

(*c)[i]=((*a)[i])&(((*a)[i])^((*b)[i]));

}

return;

}

void halt(){

exit(EXIT_SUCCESS);

}



קישור לתוכן
שתף באתרים אחרים

ראשית, חדל מלעשות דאבל פוסט. אם יש לך משהו חדש להוסיף, השתמש בכפתור העריכה.

תעזור לנו לעזור לך. מה זה ה-main? קובץ שלישי?

אתה צריך לוודא שאתה include רק פעם אחת לכל קובץ, בשביל זה יש את ה-include guards. אתה יודע מהו שלב ה-linkage?

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.


×
  • צור חדש...