java学生简单管理系统

  1  //设一个班有n名学生,期末考试5门,编写程序评定学生奖学金
  2 514 //要求打印输出一二等奖学金学生的学号,姓名和各科成绩
  3 515 //总成绩超过全班总平均成绩20%一等奖学金,超过总平均成绩10%发二等奖学金
  4 516 package calsswork3;
  5 517 
  6 518 import java.util.Scanner;
  7 519 
  8 520 public class student {
  9 521      private String name;
 10 522      private int id;
 11 523      private int java;
 12 524      private int c;
 13 525      private int datastruct;
 14 526      private int math;
 15 527      private int english;
 16 528   public String getName() {
 17 529     return name;
 18 530   }
 19 531   public void setName(String name) {
 20 532     this.name = name;
 21 533   }
 22 534   public int getJava() {
 23 535     return java;
 24 536   }
 25 537   public void setJava(int java) {
 26 538     this.java = java;
 27 539   }
 28 540   public int getId() {
 29 541     return id;
 30 542   }
 31 543   public void setId(int id) {
 32 544     this.id = id;
 33 545   }
 34 546   public int getC() {
 35 547     return c;
 36 548   }
 37 549   public void setC(int c) {
 38 550     this.c = c;
 39 551   }
 40 552   public int getDatastruct() {
 41 553     return datastruct;
 42 554   }
 43 555   public void setDatastruct(int datastruct) {
 44 556     this.datastruct = datastruct;
 45 557   }
 46 558   public int getMath() {
 47 559     return math;
 48 560   }
 49 561   public void setMath(int math) {
 50 562     this.math = math;
 51 563   }
 52 564   public int getEnglish() {
 53 565     return english;
 54 566   }
 55 567   public void setEnglish(int english) {
 56 568     this.english = english;
 57 569   }
 58 570   public void set(String name, int id, int java, int c, int datastruct, int math, int english) {
 59 571     this.name = name;
 60 572     this.id = id;
 61 573     this.java = java;
 62 574     this.c = c;
 63 575     this.datastruct = datastruct;
 64 576     this.math = math;
 65 577     this.english = english;
 66 578   }
 67 579   
 68 580   public student() {
 69 581     Scanner in =new Scanner(System.in);
 70 582     String name=in.next();
 71 583     int id=in.nextInt();
 72 584     int java=in.nextInt();
 73 585     int c=in.nextInt();
 74 586     int datastruct=in.nextInt();
 75 587     int math=in.nextInt();
 76 588     int english=in.nextInt();
 77 589     set(name, id, java, c, datastruct, math, english);
 78 590   }
 79 591   
 80 592      
 81 593 }
 82 594 package calsswork3;
 83 595 
 84 596 import java.util.Scanner;
 85 597 
 86 598 public class studentmanage {
 87 599     private int n;
 88 600   private student[] ss;
 89 601   private int []sumsocre;
 90 602   public studentmanage() {
 91 603     System.out.println("请输入班级人数N");
 92 604     Scanner in=new Scanner(System.in);
 93 605     int n=in.nextInt();
 94 606     this.ss=new student[n];
 95 607     this.sumsocre=new int[n];
 96 608   }    
 97 609   public void init() {
 98 610     for(int i=0;i<ss.length;++i) {
 99 611       System.out.println("请输入第"+(i+1)+"个学生的信息(依次输入姓名,学号和java,c语言,数据结构,数学,英语成绩)");
100 612       ss[i]=new student();
101 613       }
102 614     
103 615   }
104 616   private int sum() {
105 617     int total=0;
106 618        for(int i=0;i<sumsocre.length;++i) {
107 619          sumsocre[i]=ss[i].getC()+ss[i].getDatastruct()+ss[i].getMath()+ss[i].getEnglish();
108 620            total+=sumsocre[i];
109 621        }
110 622        return total;
111 623   }
112 624   private double avg() {
113 625     int total=sum();
114 626     double avgscore=total*1.0/ss.length;
115 627     return avgscore;
116 628   }
117 629   public void jiangxuejin() {
118 630     double a=avg();
119 631     double b=a*1.2;
120 632     double c=a*1.1;
121 633     System.out.println("获得一等奖学金的同学为:");
122 634     System.out.println("名字\t学号\t\tjava\t\tc\t\t数据结构\t\t离散数学\t\t英语");
123 635     for(int i=0;i<sumsocre.length;++i) {
124 636       if(sumsocre[i]>=b) {    
125 637         System.out.println(ss[i].getName()+"\t"+ss[i].getId()+"\t\t"+ss[i].getJava()+"\t\t"+ss[i].getC()+"\t\t"+ss[i].getDatastruct()+"\t\t"+ss[i].getMath()+"\t\t"+ss[i].getEnglish());
126 638       }
127 639       
128 640     }
129 641     System.out.println("获得二等奖学金的同学为:");
130 642     System.out.println("名字\t学号\t\tjava\t\tc\t\t数据结构\t\t离散数学\t\t英语");
131 643     for(int i=0;i<sumsocre.length;++i) {
132 644       if(sumsocre[i]>=c&&sumsocre[i]<b) {  
133 645         System.out.println(ss[i].getName()+"\t"+ss[i].getId()+"\t\t"+ss[i].getJava()+"\t\t"+ss[i].getC()+"\t\t"+ss[i].getDatastruct()+"\t\t"+ss[i].getMath()+"\t\t"+ss[i].getEnglish());
134 646       }
135 647     }
136 648   }
137 649   public void showss() {
138 650     System.out.println("名字\t学号\t\tjava\t\tc\t\t数据结构\t\t离散数学\t\t英语");
139 651     for(int i=0;i<ss.length;++i) {
140 652       
141 653       System.out.println(ss[i].getName()+"\t"+ss[i].getId()+"\t\t"+ss[i].getJava()+"\t\t"+ss[i].getC()+"\t\t"+ss[i].getDatastruct()+"\t\t"+ss[i].getMath()+"\t\t"+ss[i].getEnglish());
142 654     }
143 655   }
144 656 }
145 657 package calsswork3;
146 658 
147 659 public class studenttest {
148 660 
149 661   public static void main(String[] args) {
150 662     studentmanage manager=new studentmanage();
151 663     manager.init();
152 664     System.out.println("全部学生信息:");
153 665     manager.showss();
154 666         manager.jiangxuejin();
155 667   }
156 668 
157 669 }
158 670 //学生信息管理系统
159 671 package classwork_5;
160 672 
161 673 public class student {
162 674        private String name;//名字
163 675        private int id;//学号
164 676        private String state;//是否在籍
165 677        private double gpa;//在校绩点成绩       
166 678   public student() {
167 679     
168 680   }
169 681   public student(String name, int id, String state, double gpa) {
170 682     this.name = name;
171 683     this.id = id;
172 684     this.state = state;
173 685     this.gpa = gpa;
174 686   }
175 687   public String getName() {
176 688     return name;
177 689   }
178 690   public void setName(String name) {
179 691     this.name = name;
180 692   }
181 693   public int getId() {
182 694     return id;
183 695   }
184 696   public void setId(int id) {
185 697     this.id = id;
186 698   }
187 699   public String getState() {
188 700     return state;
189 701   }
190 702   public void setState(String state) {
191 703     this.state = state;
192 704   }
193 705   public double getGpa() {
194 706     return gpa;
195 707   }
196 708   public void setGpa(double d) {
197 709     this.gpa = d;
198 710   }
199 711        
200 712 }
201 713 package classwork_5;
202 714 
203 715 import java.util.Scanner;
204 716 
205 717 public class stumanager {
206 718   private student[] stu;
207 719   private Scanner in = new Scanner(System.in);
208 720 
209 721   // 初始化,先往学生管理系统里面存入一些学生信息
210 722   public void init() {
211 723     stu = new student[20];
212 724     student stu0 = new student();
213 725     stu0.setName("张三");
214 726     stu0.setId(110120130);
215 727     stu0.setState("在籍");
216 728     stu0.setGpa(4.5);
217 729     stu[0] = stu0;
218 730   }
219 731 
220 732   public void menu() {
221 733     System.out.println("*******欢迎使用学生管理系统*******");
222 734     System.out.println("请根据提示选择");
223 735     System.out.println("1.添加学生信息");
224 736     System.out.println("2.删除学生信息");
225 737     System.out.println("3.修改学生信息");
226 738     System.out.println("4.查询学生并输出");
227 739     System.out.println("5.所有学生信息");
228 740 
229 741     int choice = in.nextInt();
230 742     switch (choice) {
231 743     case 1:
232 744       addstu();
233 745       break;
234 746     case 2:
235 747       delstu();
236 748       break;
237 749     case 3:
238 750       amendstu();
239 751       break;
240 752     case 4:
241 753       findstu();
242 754       break;
243 755     case 5:
244 756       show();
245 757       break;
246 758     default:
247 759     }
248 760   }
249 761 
250 762   public void iscontinuemenu() {
251 763     System.out.println("是否返回到主菜单(y/n)");
252 764     String iscon = in.next();
253 765     if ("y".equals(iscon)) {
254 766       menu();
255 767     }
256 768   }
257 769 
258 770   private void addstu() {
259 771     System.out.println("增加学生信息");
260 772     student st = new student();
261 773     System.out.println("请输入学生名");
262 774     String name = in.next();
263 775     System.out.println("请输入学生学号");
264 776     int id = in.nextInt();
265 777     System.out.println("请输入学生的入学年份");
266 778     int year = in.nextInt();
267 779     String y = "";
268 780     if (year <= 2020&&year>=2017) {
269 781       y = "在籍";
270 782     } else {
271 783       y = "不在籍";
272 784     }
273 785     System.out.println("请输入学生绩点");
274 786     double gpa = in.nextDouble();
275 787     st.setName(name);
276 788     st.setId(id);
277 789     st.setState(y);
278 790     st.setGpa(gpa);
279 791     // 寻找增加的位置,第一个为null的位置
280 792     int pos = -1;
281 793     for (int i = 0; i < stu.length; ++i) {
282 794       if (stu[i] == null) {
283 795         pos = i;
284 796         break;
285 797       }
286 798     }
287 799     stu[pos] = st;
288 800     iscontinuemenu();
289 801   }
290 802     //删除学生信息,根据名字删除
291 803   private void delstu() {
292 804     System.out.println("请输入要删除的名字");
293 805     String name=in.next();
294 806     //定位要删除的书的位置
295 807     int pos=-1;
296 808     for(int i=0;i<stu.length;++i) {
297 809       if(stu[i].getName().equals(name)) {
298 810         pos=i;
299 811         break;
300 812       }
301 813     }
302 814     
303 815     //寻找空位置
304 816     int start=pos+1;
305 817     int firstnullpos=-1;
306 818     for(int i=0;i<stu.length;++i) {
307 819       if(stu[i]==null) {
308 820         firstnullpos=i;
309 821         break;
310 822       }
311 823     }
312 824     int end=firstnullpos-1;
313 825     if(firstnullpos==-1) {//信息系统已满,不存在为null的元素
314 826       end=stu.length-1;
315 827     }
316 828     //移动
317 829     for(int i=start;i<=end;++i) {
318 830       stu[i-1]=stu[i];
319 831           
320 832     }
321 833     stu[end]=null;
322 834     iscontinuemenu();
323 835   }
324 836   //修改学生信息amend
325 837   private void amendstu() {
326 838     System.out.println("请输入要修改学生的名字");
327 839     String name=in.next();
328 840     int pos=-1,i;
329 841     for( i=0;i<stu.length;++i) {
330 842       if(stu[i].getName().equals(name)) {
331 843         pos=i;
332 844         break;
333 845       }
334 846     }
335 847     System.out.println("请输入新名字,学号,绩点");
336 848     String name1=in.next();
337 849     int id=in.nextInt();
338 850     double gpa=in.nextDouble();
339 851     stu[i].setName(name1);
340 852     stu[i].setId(id);
341 853     stu[i].setGpa(gpa);
342 854     System.out.println("已修改完毕请返回主菜单查看");
343 855     iscontinuemenu();
344 856   }
345 857   //查询学生信息,根据学号查询
346 858   private void findstu() {
347 859     System.out.println("请输入要查询学生的学号");
348 860     int id=in.nextInt();
349 861     int pos=-1,i;
350 862     for( i=0;i<stu.length;++i) {
351 863       if(stu[i].getId()==id) {
352 864         pos=i;
353 865         break;
354 866       }
355 867     }
356 868     if(pos==-1) {
357 869       System.out.println("学号输入有误,暂无此人");
358 870     }
359 871     else {
360 872       System.out.println(stu[i].getName() + "\t\t" + stu[i].getId() + "\t\t" + stu[i].getState() + "\t\t" + stu[i].getGpa());
361 873     }
362 874     iscontinuemenu();
363 875   }
364 876   // 查看所有学生信息
365 877   private void show() {
366 878     System.out.println("姓名\t\t学号\t\t\t在籍状态\t\t在校成绩");
367 879 
368 880     for (student x : stu) {
369 881       if (x != null) {
370 882         System.out.println(x.getName() + "\t\t" + x.getId() + "\t\t" + x.getState() + "\t\t" + x.getGpa());
371 883       }
372 884     }
373 885     iscontinuemenu();
374 886   }
375 887 
376 888 }
377 889 package classwork_5;
378 890 
379 891 public class stuman_test {
380 892 
381 893   public static void main(String[] args) {
382 894      stumanager a=new stumanager();
383 895      a.init();
384 896      a.menu();
385 897   }
386 898 
387 899 }

 

posted @ 2020-11-22 09:35  丁帅帅dss  阅读(210)  评论(0)    收藏  举报