|
|
1.1 ! root 1: /* ! 2: * This is a sample EQUEL program. It assumes the ! 3: * presence of the EMPLOYEE relation inside the ! 4: * DEMO data base. To use the program, type an ! 5: * employee name and the program will either respond ! 6: * with the SALARY or with the message that ! 7: * the employee is not in the data base. ! 8: * Typing a '?' will result in the list of ! 9: * all names in the data base being printed. ! 10: * ! 11: * Exit by typing a control-d ! 12: * ! 13: * To compile and run this program do the following: ! 14: * ! 15: * equel equeldemo.q ! 16: * cc equeldemo.c -lq ! 17: * a.out ! 18: */ ! 19: main() ! 20: { ! 21: ## char NAME[20]; ! 22: ## int SAL; ! 23: char flag; ! 24: ! 25: ## ingres demo ! 26: ## range of e is employee ! 27: while (eread(NAME)) ! 28: { ! 29: if(NAME[0] == '?') ! 30: { ! 31: ## retrieve (NAME=e.name) ! 32: ## { ! 33: printf("%s\n",NAME); ! 34: ## } ! 35: continue; ! 36: } ! 37: flag = 0; ! 38: ## retrieve (SAL = e.salary) where ! 39: ## e.name = NAME ! 40: ## { ! 41: printf("The salary of %s is %d\n",NAME,SAL); ! 42: flag = 1; ! 43: ## } ! 44: if(!flag) printf("%s is not in the data base\n",NAME); ! 45: } ! 46: ## exit ! 47: } ! 48: ! 49: eread(p) ! 50: char *p; ! 51: { ! 52: char c; ! 53: printf("enter name:"); ! 54: while(c = getchar()) ! 55: { ! 56: if(c == '\n') ! 57: { ! 58: *p = 0; ! 59: return(1); ! 60: } ! 61: *p++ = c; ! 62: } ! 63: return(0); ! 64: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.