数据结构做作业3

 1 #include"list.h"
  2 
  3 int main(int argc, char* argv[])
  4 {
  5         int n=0;
  6 
  7         //创建顺序表
  8         Plist L=create_list();
  9 
 10 
 11         printf("欢迎使用学生管理系统,请选择下列所需操作:\n");
 12 
 13         while(1){
 14                 printf("----------按1.输入学生信息----------\n");
 15                 printf("----------按2.输出学生信息----------\n");
 16                 printf("----------按3.任意位置插入学生----------\n");
 17                 printf("----------按4.任意位置删除学生----------\n");
 18                 printf("----------按5.任意位置查找学生----------\n");
 19                 printf("----------按6.任意位置修改学生----------\n");
 20                 printf("----------按7.表头插入学生----------\n");
 21                 printf("----------按8.表尾插入学生----------\n");
 22                 printf("----------按9.表头删除学生----------\n");
 23                 printf("----------按10.表尾删除学生----------\n");
 24                 printf("----------按11.去除重复学生----------\n");
 25                 printf("----------按12.按姓名查找返回位置----------\n");
 26                 printf("----------按0.退出程序----------\n");
 27 
 28                 scanf("%d",&n);
 29                 switch(n){
 30                         case 1:
 31                                 printf("请输入学生信息\n");
 32                                 input_list(L);
 33                                 break;
 34                         case 2:
 35                                 output_list(L);
 36                                 printf("按回车继续");
 37                                 char c;
 38                                 scanf("%c",&c);
 39                                 scanf("%c",&c);
 40                                 break;
 41                         case 3:
 42                                 {
 43                                 student e;
 44                                 into_stu(&e);
 45 
 46 
 47                                 printf("请输入要插入的位置:");
 48                                 int i1;
 49                                 scanf("%d",&i1);
 50                                 insert_list(L,i1,e);
 51                                 }
 52 
 53 
 54                                 break;
 55                         case 4:
 56 
 57                                 printf("请输入要删除的位置:");
 58                                 int i;
 59                                 scanf("%d",&i);
 60                                 delete_list(L,i);
 61 
 62                                 break;
 63                         case 5:
 64 
 65                                 printf("请输入要查找学生的位置:");
 66                                 int i3;
 67                                 scanf("%d",&i3);
 68                                 student st = *(getStu(L,i3));
 69                                 printf("查找学生的信息为:\n");
 70                                 printf("%d %s %s %d\n",st.id,st.name,st.major,st.age);
 71 
 72 
 73                                 break;
 74                         case 6:
 75                                 {
 76                                 student e1;
 77                                 into_stu(&e1);
 78                                 printf("请输入要修改学生的位置:");
 79                                 int i4;
 80                                 scanf("%d",&i4);
 81                                 update_str(L,i4,e1);
 82                                 }
 83 
 84                                 break;
 85                         case 7:
 86                                 {
 87                                 student e2;
 88                                 into_stu(&e2);
 89                                 begin_ins_str(L,e2);
 90                                 }
 91                                 break;
 92                         case 8:
 93                                 {
 94                                 student e3;
 95                                 into_stu(&e3);
 96                                 end_ins_str(L,e3);
 97                                 }
 98                                 break;
 99                         case 9:
100                                 begin_del_str(L);
101                                 break;
102                         case 10:
103                                 end_del_str(L);
104                                 break;
105                         case 11:
106                                 delete_reverse(L);
107                                 break;
108                         case 12:
109                                 printf("请输入要查找学生的姓名:");
110                                 char nm[50];
111                                 scanf("%s",nm);
112                                 int k=find_stu(L,nm);
113                                 if(k!=-1){
114                                         printf("查找成功\n");
115                                 }else{
116 
117                                         printf("查找失败\n");
118                                 }
119 
120                                 break;
121 
122                         default:
123                                 printf("感谢使用,再见^o^\n");
124                                 return 0;
125 
126                 }
127         }
128         return 0;
129 }
~                                                                                                                                        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值