|
|
???????????
?? ?????3??????????
?????????3????
??4????1.5????ׅ
?????????3????
??4????1.5????ׅ
?????????3???????????????????
??????????????
??4????1.5????ׅ
?????????3???????????????????
????????????
??4????1.5????ׅ
??1?????????????????????????5????
2???????????????????????????????????
? ??3???????
??4????1.5????ׅ???????????????????????
?????3???????
[1] ??4????1.5????
[2]
[3]
?????
[1] ???,???, ?. ????????[M]. ??: ???????, 2004.
[2] ????????????????????[J]??????2004?3 .
???????
????
????
?? ?
?
2012.03.23
???????
?????????
???????
? ? ? ? ? ? ? ?
???????1
?????????
???????
1??????????
2??????????????????????????
???????
??????????????????????????????????????
(1) ??????????????????
(2) ??????????????????
(3) ?????????????????????
(4) ????????????????????????????
(5) ????????????????????
(6) ????????????
(7) ?????????
???????
????????
typedef struct {
char no[8];//8???
char name[20]; //??
int price; //??
}Student;
??????
typedef struct {
Student *elem; //??????????
int length; //???????? }SqList?
??????
typedef struct LNode{
Studentdata; //???
struct LNode *next;//???
}LNode,*LinkList;
???????
(1) ????????????????????????
(2) ??????????????????????????????????????????????????
(3) ??????????????????????????????????
(4) ????????????????,???????????????????????????????
(5) ???Visual C++???,??????????????.
(6)???????????weiyb2003@126.com???????????SqList.cpp??????????LinkList.cpp?????????????1.doc????????????????????????????????????????????.rar??070814101??.rar?
??????:(??????????????????????????????????)
??????
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<string.h>
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define MAXSIZE 100
typedef int Status; // ?????????
typedef struct
{
char num[10]; // ??
char name[20]; // ??
double grade; // ??
}student;
typedef student ElemType;
typedef struct
{
ElemType *elem; // ????????
int length; // ????
Status InitList(SqList *L) // ??????? L
{
L->elem=(ElemType *)malloc(sizeof(ElemType)*MAXSIZE);
if(!L->elem) exit(OVERFLOW);
L->length=0;
return OK;
}
ElemType GetElem(SqList &L,int i) // ???????? i?????? e{
return L.elem[i];
}
int Search(SqList &L,char str[]) // ???????????????????? {
for(int i=1;i<=L.length;i++)
{
if(strcmp(L.elem[i].name,str)==0)
return i;
}
return 0;
}
Status ListInsert(SqList &L,int i,ElemType e) // ? i??????????? {
if((i<1)||(i>L.length+1)) return ERROR;
if(L.length==MAXSIZE)return ERROR;
for(int j=L.length;j>=i;j--)
{
L.elem[j+1]=L.elem[j];
}
L.elem[i]=e;
++L.length;
return OK;
}
Status ListDelete(SqList &L,int i) // ??????? i???????
{
if((i<1)||(i>L.length))return ERROR;
for(int j=i;j<=L.length;j++)
{
L.elem[j]=L.elem[j+1];
--L.length;
return OK;
}
void Input(ElemType *e)
{
printf("??:"); scanf("%s",e->name);
printf("??:"); scanf("%s",e->num);
printf("??:"); scanf("%lf",&e->grade);
printf("????
");
}
void Output(ElemType *e)
{
printf("??:%-20s
??:%-10s
??:%-10.2lf
",e->name,e->num,e->grade);}
int main()
{
SqList L;
ElemType a,b,c,d;
printf("
********************************
");
puts("1. ?????");
puts("2. ??????");
puts("3. ??????");
puts("4. ??????????");
puts("5. ??????????");
puts("6. ???????????");
puts("7. ???????????");
puts("8. ??????");
puts("0. ??");
printf("
********************************
");
int x,choose;
while(1)
{
puts("???:");
scanf("%d",&choose);
if(choose==0)break;
switch(choose)
{
case 1:
if(InitList(&L))
printf("???????
");
else
printf("???????
");
break;
case 2:
printf("??????????????100?:"); scanf("%d",&x);
for(int i=1;i<=x;i++)
{
printf("?%d???:
",i);
Input(&L.elem[i]);
}
L.length=x;
puts("");
break;
case 3:
for(int i=1;i<=x;i++)
{
a=GetElem(L,i);
Output(&a);
}
break;
case 4:
char s[20];
printf("???????????:");
scanf("%s",s);
if(Search(L,s))
Output(&L.elem[Search(L,s)]);
else
puts("????????");
puts("");
break;
case 5:
printf("?????????:");
int id1;
scanf("%d",&id1);
b=GetElem(L,id1);
Output(&b);
break;
case 6:
printf ("?????????:");
int id2;
scanf("%d",&id2);
printf("???????:
");
Input(&c);
?????????????
?????http://www.850500.com/news/121986.html
?????,??! |
|