📄 data.c
字号:
/* long_c,long_f : (* UNDEFINED TYPE: longint *);
Error 4: type expected: ; */
/* UNDEFINED TYPE: longint */
int long_c,long_f;
struct node *c,
*l;
int find_num;
num_range1 find_number;
char find_name[11];
char find_sex;
struct date find_birthdate;
num_range2 find_experience;
num_range2 find_force;
num_range2 find_smartness;
condition_code = condition_select("find condition:");
switch (condition_code) {
case 1:
printf("\n");
printf("record:");
scanf("%d",&find_num);
if ((find_num >= 1) && (find_num <= count)) {
if (head != nil) {
c = nil;
l = nil;
found_num = 1; /*FIND NODE*/
for (i = 1; i <= find_num; i++) {
if (i == 1) {
c = head;
l = c->next;
}
else {
c = l;
l = c->next;
} /*IF*/
} /*FOR*/
output_title();
output_it(c,find_num);
printf("find %d\n",found_num);
}
else
printf("no record\n");
}
else
printf("out record\n");
break;
case 2:
printf("\n");
printf("no:");
scanf("%d",&find_number);
if (head != nil) {
c = head;
l = c->next;
found_num = 0;
output_title();
for (i = 1; i <= count; i++) {
if (c->number == find_number) {
output_it(c,i);
found_num = found_num + 1;
c = l;
c = c->next;
}
else {
c = l;
l = c->next;
} /*IF*/
} /*FOR*/
if (found_num != 0)
printf("find %d\n",found_num);
else
printf("no record\n");
}
else
printf("out record\n");
break;
case 3:
printf("\n");
printf("name:");
gets(find_name);
if (head != nil) {
c = head;
l = c->next;
found_num = 0;
output_title();
for (i = 1; i <= count; i++) {
if (strcmp(c->name,find_name) == 0) {
output_it(c,i);
found_num = found_num + 1;
c = l;
c = c->next;
}
else {
c = l;
l = c->next;
} /*IF*/
} /*FOR*/
if (found_num != 0)
printf("find %d\n",found_num);
else
printf("no record\n");
}
else
printf("out record\n");
break;
case 4:
printf("\n");
printf("sex:");
scanf("%c",&find_sex);
if (head != nil) {
c = head;
l = c->next;
found_num = 0;
output_title();
for (i = 1; i <= count; i++) {
if (c->sex == find_sex) {
output_it(c,i);
found_num = found_num + 1;
c = l;
c = c->next;
}
else {
c = l;
l = c->next;
} /*IF*/
} /*FOR*/
if (found_num != 0)
printf("find %d\n",found_num);
else
printf("no record\n");
}
else
printf("out record\n");
break;
case 5:
printf("\n");
printf("birthday:");
scanf("%d%d%d",&find_birthdate.da_year,&find_birthdate.da_mon,
&find_birthdate.da_day);
if (head != nil) {
c = head;
l = c->next;
found_num = 0;
output_title();
long_f = find_birthdate.da_year;
long_f = long_f * 100;
long_f = long_f + find_birthdate.da_mon;
long_f = long_f * 100;
long_f = long_f + find_birthdate.da_day;
for (i = 1; i <= count; i++) {
long_c = c->birthdate.da_year;
long_c = long_c * 100;
long_c = long_c + c->birthdate.da_mon;
long_c = long_c * 100;
long_c = long_c + c->birthdate.da_day;
if (long_c == long_f) {
output_it(c,i);
found_num = found_num + 1;
c = l;
c = c->next;
}
else {
c = l;
l = c->next;
}
} /*FOR*/
if (found_num != 0)
printf("find %d\n",found_num);
else
printf("no record\n");
}
else
printf("out record\n");
break;
case 6:
printf("\n");
printf("experience:");
scanf("%d",&find_experience);
if (head != nil) {
c = head;
l = c->next;
found_num = 0;
output_title();
for (i = 1; i <= count; i++) {
if (c->experience == find_experience) {
output_it(c,i);
found_num = found_num + 1;
c = l;
l = c->next;
}
else {
c = l;
l = c->next;
} /*IF*/
} /*FOR*/
if (found_num != 0)
printf("find %d\n",found_num);
else
printf("no record\n");
}
else
printf("out record\n");
break;
case 7:
printf("\n");
printf("force:");
scanf("%d",&find_force);
if (head != nil) {
c = head;
l = c->next;
found_num = 0;
output_title();
for (i = 1; i <= count; i++) {
if (c->force == find_force) {
output_it(c,i);
found_num = found_num + 1;
c = l;
l = c->next;
}
else {
c = l;
l = c->next;
} /*IF*/
} /*FOR*/
if (found_num != 0)
printf("find %d\n",found_num);
else
printf("no record\n");
}
else
printf("out record\n");
break;
case 8:
printf("\n");
printf("smartness:");
scanf("%d",&find_smartness);
if (head != nil) {
c = head;
l = c->next;
found_num = 0;
output_title();
for (i = 1; i <= count; i++) {
if (c->smartness == find_smartness) {
output_it(c,i);
found_num = found_num + 1;
c = l;
l = c->next;
}
else {
c = l;
l = c->next;
} /*IF*/
} /*FOR*/
if (found_num != 0)
printf("find %d\n",found_num);
else
printf("no record\n");
}
else
printf("out record\n");
break;
default:
printf("find error\n");
break;
} /*CASE*/
}
void sort_record (void)
{
int condition_code;
int i,
j;
int long_c,long_f;
struct node *c_bak,
*l_bak;
condition_code = condition_select("sort condition:");
switch (condition_code) {
case 1:
printf("record over\n");
break;
case 2:
if ((head != nil) && (head->next != nil)) {
c_bak = current;
l_bak = last; /*沉淀法排序*/
for (i = count - 1; i >= 1; i--) {
current = c_bak;
last = l_bak;
for (j = 1; j <= i; j++) {
if (current->number < current->front->number)
swap_it(¤t,&last,&c_bak,&l_bak);
current = current->front;
last = current->next;
}
}
current = c_bak;
last = l_bak;
}
printf("no over\n");
break;
case 3:
if ((head != nil) && (head->next != nil)) {
c_bak = current;
l_bak = last; /*沉淀法排序*/
for (i = count - 1; i >= 1; i--) {
current = c_bak;
last = l_bak;
for (j = 1; j <= i; j++) {
if (strcmp(current->name,
current->front->name) < 0)
swap_it(¤t,&last,&c_bak,&l_bak);
current = current->front;
last = current->next;
}
}
current = c_bak;
last = l_bak;
}
printf("name over\n");
break;
case 4:
if ((head != nil) && (head->next != nil)) {
c_bak = current;
l_bak = last; /*沉淀法排序*/
for (i = count - 1; i >= 1; i--) {
current = c_bak;
last = l_bak;
for (j = 1; j <= i; j++) {
if (current->sex < current->front->sex)
swap_it(¤t,&last,&c_bak,&l_bak);
current = current->front;
last = current->next;
}
}
current = c_bak;
last = l_bak;
}
printf("sex over\n");
break;
case 5:
if ((head != nil) && (head->next != nil)) {
c_bak = current;
l_bak = last; /*沉淀法排序*/
for (i = count - 1; i >= 1; i--) {
current = c_bak;
last = l_bak;
for (j = 1; j <= i; j++) { /*CURRENT*/
long_c = current->birthdate.da_year;
long_c = long_c * 100;
long_c = long_c + current->birthdate.da_mon;
long_c = long_c * 100;
long_c = long_c + current->birthdate.da_day;
/*FRONT*/ long_f = current->front->birthdate.da_year;
long_f = long_f * 100;
long_f = long_f +
current->front->birthdate.da_mon;
long_f = long_f * 100;
long_f = long_f + current->front->birthdate.da_day;
if (long_c < long_f)
swap_it(¤t,&last,&c_bak,&l_bak);
current = current->front;
last = current->next;
}
}
current = c_bak;
last = l_bak;
}
printf("birthday over\n");
break;
case 6:
if ((head != nil) && (head->next != nil)) {
c_bak = current;
l_bak = last; /*沉淀法排序*/
for (i = count - 1; i >= 1; i--) {
current = c_bak;
last = l_bak;
for (j = 1; j <= i; j++) {
if (current->experience < current->front->experience)
swap_it(¤t,&last,&c_bak,&l_bak);
current = current->front;
last = current->next;
}
}
current = c_bak;
last = l_bak;
}
printf("experience over\n");
break;
case 7:
if ((head != nil) && (head->next != nil)) {
c_bak = current;
l_bak = last; /*沉淀法排序*/
for (i = count - 1; i >= 1; i--) {
current = c_bak;
last = l_bak;
for (j = 1; j <= i; j++) {
if (current->force < current->front->force)
swap_it(¤t,&last,&c_bak,&l_bak);
current = current->front;
last = current->next;
}
}
current = c_bak;
last = l_bak;
}
printf("force over\n");
break;
case 8:
if ((head != nil) && (head->next != nil)) {
c_bak = current;
l_bak = last; /*沉淀法排序*/
for (i = count - 1; i >= 1; i--) {
current = c_bak;
last = l_bak;
for (j = 1; j <= i; j++) {
if (current->smartness < current->front->smartness)
swap_it(¤t,&last,&c_bak,&l_bak);
current = current->front;
last = current->next;
}
}
current = c_bak;
last = l_bak;
}
printf("smartness over\n");
break;
} /*CASE*/
}
/*BEGIN*/
void modify_record (void)
{
int condition_code;
int i,
modified_num;
int long_c,long_m;
struct node *c,
*l;
int mdf_num;
num_range1 mdf_number;
char mdf_name[11];
char mdf_sex;
struct date mdf_birthdate;
num_range2 mdf_experience;
num_range2 mdf_force;
num_range2 mdf_smartness;
condition_code = condition_select("modify:");
switch (condition_code) {
case 1:
printf("\n");
printf("record:");
scanf("%d",&mdf_num);
if ((mdf_num >= 1) && (mdf_num <= count)) {
if (head != nil) {
c = nil;
l = nil; /*FIND NODE*/
for (i = 1; i <= mdf_num; i++) {
if (i == 1) {
c = head;
l = c->next;
}
else {
c = l;
l = c->next;
} /*IF*/
} /*FOR*/
modify_it(c,l,i);
printf("%d modify\n",mdf_num);
}
else
printf("no record\n");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -