|
] = *s;
}
displayAll(L);
return L;
}
void display(SeqList * L, int i)
{
printf(" \n");
printf(" \tsno\t\tsname\t\tscore\t \n");
printf(" \t%s\t\t%s\t\t%-4d\t \n", L -> data[i].sno, L -> data[i].sname, L -> data[i].score);
printf(" \n\n");
}
void displayAll(SeqList * L)
{
printf("%d-----\n", L->last);
int i = 0;
printf(" \n");
printf(" \tsno\t\tsname\t\tscore\t \n");
for(i = 0; i <= L->last; i++)
{
printf(" \t%s\t\t%s\t\t%-4d\t \n", L->data[i].sno, L->data[i].sname, L->data[i].score);
}
printf(" \n\n");
}
int lengthList(SeqList * L)
{
return L -> last + 1;
}
void locateElemByplace(SeqList *L, int i)
{
display(L, i-1);
}
void locateElem(SeqList *L, char ch[5])
{
int i = 0;
for (i = 0; i < L -> last; i ++) {
if (0 == strcmp(L -> data[i].sno, ch)) {
display(L, i);
break;
}
}
}
int insertElem(SeqList *L, int i)
{
int j, k;
DataType * s;
k = L->last;
if (L->last == MAXSIZE - 1)
{
printf(" \n");
printf(" \tOverflow\t \n");
printf(" \n\n");
return 0;
}
if ((i < 1)||(i > L -> last + 2))
{
printf(" \n");
printf(" \tThe insert place is error\t \n");
printf(" \n\n");
return 0;
}
for (j = k; j >= i - 1; j --)
{
L -> data[j + 1] = L -> data[j];
}
s =inputdata();
L -> last = L ->last + 1;
L -> data[i - 1] = *s;
return 1;
}
int deleteElem(SeqList *L, int i)
{
int j;
if (i < 1 || i > L -> last + 1)
{
printf(" \n");
printf(" \t不存在第%d个元素\t \n",i);
printf(" \n\n");
return 0;
}
for (j = i; j <= L -> last; j ++) {
L -> last = L ->last - 1;
}
return 1;
}
void insertSort(SeqList * L)
{
SeqList *L1 = (SeqList *)malloc(sizeof(SeqList));
DataType temp;
int i = 0;
int j = 0;
int len = L->last;
for (i = 0; i <= len; i ++)
{
L1->data[i] = L->data[i];
}
L1->last = L->last;
for (i = 1; i <= len; i ++)
{
if (L1->data[i].score > L1->data[i-1].score)
{
temp.score = L1->data[i].score;
strcpy(temp.sno, L1->data[i].sno);
strcpy(temp.sname, L1->data[i].sname);
L1->data[i] = L1->data[i -1];
for (j = i-2; (temp.score > L1->data[j].score)&&(j >= 0); j--)
{
L1->data[j+1] = L1->data[j];
}
L1->data[j+1].score = temp.score;
strcpy(L1->data[j+1].sno, temp.sno);
strcpy(L1->data[j+1].sname, temp.sname);
}
}
displayAll(L1);
}
int menue()
{
system("clear");
//警告音
printf("\033[0m"); //关闭所有属性
printf("\033[44;37m"); //47是字背景颜色,33是字体的颜色
printf ("\033[5m"); //闪烁
printf("\n^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^\n\n");
printf("\033[0m"); //关闭所有属性
printf("\033[44;37m");
printf(" \n");
printf(" 学生成绩管理程序 \n");
printf(" \n");
printf(" <1>创建 \n");
printf(" <2>指定位置后插入 \n");
printf(" <3>按位置删除 \n");
printf(" <4>求学生总数 \n");
printf(" <5>按学号查找 \n");
printf(" <6>按位置查找 \n");
printf(" <7>显示所有学生 \n");
printf(" <8>成绩排序 \n");
printf(" <9>退出 \n");
printf(" \n\n");
printf ("\033[5m");
printf("^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^\n\n");
printf("\033[0m"); //关闭所有属性
|