服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C语言代码实现学生成绩管理系统

C语言代码实现学生成绩管理系统

2022-12-15 14:13dearzcs C/C++

这篇文章主要为大家详细介绍了C语言代码实现学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

某班有最多不超过 30 人(具体人数由键盘输人)参加期未考试,考试科目 最多不超过 6 门(具体门数由键盘输入,但不少于 3 门),学生成绩管理系统是一 个非常实用的程序,如果能够把用户输入数据存盘,下次运行时读出,就更有用 了。增加文件读写的功能,即编程实现如下菜单驱动的学生成绩管理系统:

(1) 录入每个学生的学号、姓名和各科考试成绩。
(2) 计算每门课程的总分和平均分。
(3) 计算每个学生的总分和平均分。
(4) 按每个学生的总分由高到低排出名次表。
(5) 按学号由小到大排出成绩表。
(6) 按姓名的字典顺序排出成绩表。
(7) 按学号查询学生排名及其考试成绩。
(8) 按姓名查询学生排名及其考试成绩。
(9) 按优秀(90-100 分)、良好(80-89 分)、中等(70-79 分)、及格(60-69 分)、 不及格(0-59 分)5 个类别,对每门课程分别统计每个类别的人数以及所占的百 分比。
(10)输出每个学生的学号、姓名、各科考试成绩、总分、平均分以及每门课 程的总分和平均分。

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
const int N = 40;
int i,j;
typedef struct  control
{
    int no;
    char name[20];
    char name1[20];
    int cj[7];
    int all;
    int lave;
 
} AVA;
// ------------------------函数
void menu();
void menu1();
void menu2();
void menu4(AVA stu[],int n,int n3);
//-------------------------
//-------------------------链接菜单与功能的函数
void basic(AVA stu[]);
//------------------------
//-------------------------信息录入函数
void keyboard(AVA stu[],int n,int n2);
//------------------------功能函数调用总函数
void case1(AVA stu[],int n,int a);
//========================
//------------------------功能函数
void function4(AVA stu[],AVA t,int n);//总分排序
void function5(AVA stu[],AVA t,int n);//学号排序
void function6(AVA stu[],AVA t,int n);//姓名排序
void function7(AVA stu[],AVA t,int n,int w);//学号查找
void function8(AVA stu[],AVA t,int n,char s[]);//姓名查找
void function9(AVA stu[],int n,int a);//数据分析
void function10(AVA stu[],int n,int a,int b1[],int b2[]);//输出学生信息
void function11(AVA stu[],int n,int a);//存进文件里面
void exchange(AVA stu[],int a,int b);//读档函数
//-------------------------
int main()
{
    AVA  stu[N];
   for(i = 0; i < 30; i ++)
   {
       stu[i].all = 0;
       stu[i].lave = 0;
   }
  basic(stu);
  return 0;
}
void menu()
{
     printf("_                                                                     _\n");
    printf("|                                                                     |\n");
    printf("                                                                       \n");
    printf("                                                                       \n");
    printf("                            学生信息管理系统                           \n");
    printf("                                                                       \n");
    printf("                                                                       \n");
    printf("                                                                       \n");
    printf("|                                                                     |\n");
    printf("-                                                                     -\n");
}
void menu1()
{
    printf("->                             信息输入                              <-\n");
    printf("->                             学课成绩                              <-\n");
    printf("->                             学生成绩                              <-\n");
    printf("->                             总分排序                              <-\n");
    printf("->                             学号排序                              <-\n");
    printf("->                             姓名排序                              <-\n");
    printf("->                             学号查询                              <-\n");
    printf("->                             姓名查询                              <-\n");
    printf("->                             数据分析                              <-\n");
    printf("->                             信息输出                              <-\n");
    printf("->                             数据存档                              <-\n");
}
void menu2()
{
    printf("_                                                                     _\n");
    printf("|                                                                     |\n");
    printf("->                             功能代号                              <-\n");
    printf("->                <1><2><3><4><5><6><7><8><9><10><11>                <-\n");
    printf("|                                                                     |\n");
    printf("-                                                                     -\n");
}
void menu4(AVA stu[],int n,int n3)//读档函数总调用
{
    printf("如果档案中没有存有足够的学科数,则可能提取乱码\n");
    printf("如果文件中没有数据则会显示无法打开\n");
    exchange( stu,n,n3);
    case1( stu,n,n3);
 
}
//中转函数,菜单与功能的桥梁
void basic(AVA stu[])
{
    menu();
    printf("若无学生信息档案需要先录入\n");
    printf("<1-录入><2-读档><3-退出>\n");
    int n,n1,n3;
    do
    {
        scanf("%d",&n1);
        if(3<n1||n1<1)
        {
            printf("数据输入错误,请重新输入\n");
        }
    }while(3<n1||n1<1);
     printf("输入学生数量\n");
    do
    {
        scanf("%d",&n);
        if(30<n||n<1)
        {
            printf("数据输入错误,请重新输入<1-30>\n");
        }
    }while(30<n||n<1);
    printf("输入学科数量\n");
     do
    {
        scanf("%d",&n3);
        if(6<n3||n3<3)
        {
            printf("数据输入错误,请重新输入<3-6>\n");
        }
    }while(6<n3||n3<3);
    if(n1==1)
{
 keyboard( stu,n,n3);
   case1( stu, n,n3);
}
 
    else if(n1==2)  menu4(stu,n,n3);
 
    else
    {
        printf("欢迎再次使用\n");
        exit(0);
    }
 
}
//=========================功能函数调用的函数
void case1(AVA stu[],int n,int a)
{
    AVA t;
 
         for(i = 0; i < n; i ++)
    {
 
        for(j = 0; j < a; j ++)
        {
 
            stu[i].all+=stu[i].cj[j];
        }
 
        stu[i].lave = stu[i].all/a;
    }
     int x[10]={0},y[10]={0};
      for(j = 0; j < a;j ++)
    {
       for(i = 0; i < n; i ++)
        {
            y[j]+=stu[i].cj[j];
        }
    }
    for(i = 0; i < a; i ++)
    {
        x[i] = y[i]/n;
    }
    menu1();
    menu2();
    printf("数据录入成功\n");
    printf("请输入你想选择的功能\n");
    int n2;
    while(scanf("%d",&n2)&&n2!=0)
    {
        if(n2==2)
        {
            for(i = 0; i < a; i ++)
            {
                 printf("第%d门总分为:%d,平均分为:%d\n",i+1,y[i],x[i]);
            }
            menu1();
            menu2();
            printf("完成\n");
        }
        else if(n2==3)
        {
            int f;
            printf("计算完成,是否打印?<1 or 0>\n");
            scanf("%d",&f);
            if(f==1)
                {
            for(i = 0; i < n; i ++)
            {
                printf("第%d个同学的总分为:%d,平均分为:%d\n",i+1,stu[i].all,stu[i].lave);
            }
            printf("打印完成\n");
            menu2();
                }
            else
            {
                menu1();
                menu2();
            }
             printf("完成\n");
        }
        else if(n2==4)
        {
            function4( stu, t, n);
            menu1();
            menu2();
            printf("完成\n");
        }
        else if(n2==5)
        {
            function5( stu, t, n);
            menu1();
            menu2();
            printf("完成\n");
        }
        else if(n2==6)
        {
            function6( stu, t, n);
            menu1();
            menu2();
            printf("完成\n");
        }
        else if(n2==7)
        {
            int w;
            printf("输入你想查询的学号\n");
            scanf("%d",&w);
            function7( stu, t, n, w);
            menu1();
            menu2();
            printf("完成\n");
        }
        else if(n2==8)
        {
            char s[30];
            printf("输入你想查询的名字\n");
            scanf("%s",s);
            function8(stu,t, n,s);
             menu1();
             menu2();
            printf("完成\n");
        }
        else if(n2==9)
        {
            function9( stu, n, a);
            menu1();
            menu2();
            printf("完成\n");
        }
        else if(n2==10)
        {
            function10( stu, n, a, x, y);
            menu1();
           menu2();
           printf("完成\n");
        }
        else if(n2==11)
        {
            function11( stu, n, a);
            menu1();
            menu2();
            printf("完成\n");
        }
        else  menu2();
    }
}
 
//=========================信息录入函数
void keyboard(AVA stu[],int n,int n2)
{
         for(i = 0; i < n; i ++)
    {
        printf("正在输入%d个学生信息\n",i+1);                     //
        printf("学号:\n");
        scanf("%d",&stu[i].no);
        printf("姓名:\n");
        scanf("%s",stu[i].name);
        printf("姓名拼音简写\n");
        scanf("%s",stu[i].name1);
        printf("分别输入%d门学课成绩\n",n2);
        for(j = 0; j < n2; j ++)
        {
            scanf("%d",&stu[i].cj[j]);
 
        }
 
 
    }
 
}
void function4(AVA stu[],AVA t,int n)//总分排序
{
    printf("总分排序\n");
    FILE *fp;
    for(i = 0; i < n-1;i ++)
      for(j = 0; j < n-1-i;j++)
      {
         if(stu[j].all<stu[j+1].all)
         {
             t = stu[j];
             stu[j] = stu[j+1];
             stu[j+1] = t;
         }
      }
     printf("正在生成文件\n");
     printf("请及时拷贝文件,否则会造成数据丢失\n");
     fp = fopen("总分排序.txt","w");
     if(fp==NULL)
     {
         printf("打开失败\n");
         exit(0);
     }
     for(i = 0; i < n;i ++)
     {
         fprintf(fp,"%s %d\n",stu[i].name,stu[i].all);
     }
     fclose(fp);
}
void function5(AVA stu[],AVA t,int n)//学号排序
{
    printf("学号排序\n");
    FILE *fp;
    for(i = 0; i < n-1;i ++)
      for(j = 0; j < n-1-i;j++)
      {
         if(stu[j].no<stu[j+1].no)
         {
             t = stu[j];
             stu[j] = stu[j+1];
             stu[j+1] = t;
         }
      }
     char name[N];
     strcpy(name,"学号为:");
     printf("正在生成文件\n");
     printf("请及时拷贝文件,否则会造成数据丢失\n");
     fp = fopen("学号排序.txt","w");
     if(fp==NULL)
     {
         printf("打开失败\n");
         exit(0);
     }
     for(i = 0; i < n;i ++)
     {
         fprintf(fp,"%s%d\n",name,stu[i].no);
         fprintf(fp,"%s%d\n",stu[i].name,stu[i].all);
     }
     fclose(fp);
}
void function6(AVA stu[],AVA t,int n)//姓氏排序
{
    printf("姓名排序\n");
    FILE *fp;
    for(i = 0; i < n-1;i ++)
      for(j = 0; j < n-1-i;j++)
      {
         if(stu[j].name1[0]>stu[j+1].name1[0])
         {
             t = stu[j];
             stu[j] = stu[j+1];
             stu[j+1] = t;
         }
      }
     printf("正在生成文件\n");
     printf("请及时拷贝文件,否则会造成数据丢失\n");
     fp = fopen("姓名排序.txt","w");
     if(fp==NULL)
     {
         printf("打开失败\n");
         exit(0);
     }
     for(i = 0; i < n;i ++)
     {
         fprintf(fp,"%s%d\n",stu[i].name,stu[i].all);
     }
     fclose(fp);
}
void function7(AVA stu[],AVA t,int n,int w)//学号查找
{
     int m = 0;
     for(i = 0; i < n-1;i ++)
      for(j = 0; j < n-1-i;j++)
      {
         if(stu[j].all<stu[j+1].all)
         {
             t = stu[j];
             stu[j] = stu[j+1];
             stu[j+1] = t;
         }
      }
      for(i = 0; i <n; i ++)
      {
          m++;
          if(stu[i].no==w)
          {
              printf("学号为:%d\n",stu[i].no);
              printf("姓名为:%s\n",stu[i].name);
              printf("成绩为:%d\n",stu[i].all);
              printf("排名为:%d\n",m);
              break;
          }
      }
}
void function8(AVA stu[],AVA t,int n,char s[])//姓名查找
{
     int m = 0;
     for(i = 0; i < n-1;i ++)
      for(j = 0; j < n-1-i;j++)
      {
         if(stu[j].all<stu[j+1].all)
         {
             t = stu[j];
             stu[j] = stu[j+1];
             stu[j+1] = t;
         }
      }
      for(i = 0; i <n; i ++)
      {
          m++;
          if(strcmp(stu[i].name,s)==0)
          {
              printf("学号为:%d\n",stu[i].no);
              printf("姓名为:%s\n",stu[i].name);
              printf("成绩为:%d\n",stu[i].all);
              printf("排名为:%d\n",m);
              break;
          }
      }
 
}
void function9(AVA stu[],int n,int a)//数据分析
{
    printf("请在文件夹中查看\n");
    for(i = 0; i < a; i++)
    {
        double k1=0,k2=0,k3=0,k4=0,k5=0;
         for( j = 0; j < n; j ++)
    {
        if(stu[j].cj[i]>=90)  k1++;
 
        else if(stu[j].cj[i]>=80&&stu[j].cj[i]<=89) k2++;
 
        else if(stu[j].cj[i]>=70&&stu[j].cj[i]<=79) k3++;
 
        else if(stu[j].cj[i]>=60&&stu[j].cj[i]<=69)  k4++;
 
        else if(stu[j].cj[i]<=59)  k5++;
    }
      FILE *fp;
      fp = fopen("数据分析.txt","a");
      if(fp==NULL)
      {
        printf("打开失败\n");
        exit(0);
      }
      char s[20];
      strcpy(s,"subject");
      s[7] = '0'+i;
      s[8] = '\0';
      char name1[20];
      char name2[20];
      char name3[20];
      char name4[20];
      char name5[20];
      strcpy(name1,"优:%");
      strcpy(name2,"良好:%");
      strcpy(name3,"中等:%");
      strcpy(name4,"及格:%");
      strcpy(name5,"不及格:%");
      fprintf(fp,"\n%s\n",s);
      fprintf(fp,"%s%.2f\n",name1,(k1*100)/n);
      fprintf(fp,"%s%.2f\n",name2,(k2*100)/n);
      fprintf(fp,"%s%.2f\n",name3,(k3*100)/n);
      fprintf(fp,"%s%.2f\n",name4,(k4*100)/n);
      fprintf(fp,"%s%.2f\n",name5,(k5*100)/n);
     k1=0,k2=0,k3=0,k4=0,k5=0;
     fclose(fp);
    }
 
}
void function10(AVA stu[],int n,int a,int b1[],int b2[])//输出学生信息
{
    for(i = 0; i < n; i ++)
  {
 
       printf("学号:%d\n",stu[i].no);
       printf("姓名:%s\n",stu[i].name);
       printf("总分:%d\n",stu[i].all);
       printf("平均分:%d\n",stu[i].lave);
       printf("每科分数为:");
       for(j = 0; j < a; j ++)
       {
           printf("%d ",stu[i].cj[j]);
       }
       printf("\n");
       printf("\n");
       printf("\n");
       printf("\n");
       }
    printf("学科平均分为:\n");
   for(j = 0; j < a; j ++)
    {
    printf("第%d学科平均分为:%d\n",j+1,b1[j]);
    }
    printf("学科总分:\n");
    for(j = 0; j < a; j ++)
    {
    printf("第%d学科总分为:%d\n",j+1,b2[j]);
    }
}
void function11(AVA stu[],int n,int a)//存进文件中
{
    FILE *fp;
    fp = fopen("学生信息存档.txt","a");
    if(fp==NULL)
    {
        printf("无法打开\n");
        exit(0);
    }
    char name[30];
    char name1[30];
    char name2[30];
    strcpy(name,"每科成绩:");
    strcpy(name1,"总平均成绩:");
    strcpy(name2,"总成绩:");
    for(i = 0; i < n; i ++)
    {
        fprintf(fp,"\n%d %s\n",stu[i].no,stu[i].name);
        fprintf(fp,"%s %d\n",name2,stu[i].all);
        fprintf(fp,"%s %d\n",name1,stu[i].lave);
        fprintf(fp,"%s\n",name);
        for(j = 0; j < a;j ++)
        {
            fprintf(fp,"%d ",stu[i].cj[j]);
        }
    }
  fclose(fp);
  FILE *fpk1,*fpk2,*fpk3,*fpk4,*fpk5,*fpk6,*fpk7,*fpk8,*fpk9;
  fpk1 = fopen("学号.txt","a");
  fpk2 = fopen("姓名.txt","a");
  fpk3 = fopen("姓名简称.txt","a");
  fpk4 = fopen("学科1.txt","a");
  fpk5 = fopen("学科2.txt","a");
  fpk6 = fopen("学科3.txt","a");
  fpk7 = fopen("学科4.txt","a");
  fpk8 = fopen("学科5.txt","a");
  fpk9 = fopen("学科6.txt","a");
  if(fpk1==NULL||fpk2==NULL||fpk3==NULL||fpk4==NULL||fpk5==NULL||fpk6==NULL||fpk7==NULL||fpk8==NULL||fpk9==NULL)
  {
      printf("无法打开\n");
      exit(0);
  }
  for(i = 0; i < n; i ++)
  {
      fprintf(fpk1,"%d\n",stu[i].no);
      fprintf(fpk2,"%s\n",stu[i].name);
      fprintf(fpk3,"%s\n",stu[i].name1);
      fprintf(fpk4,"%d\n",stu[i].cj[0]);
      fprintf(fpk5,"%d\n",stu[i].cj[1]);
      fprintf(fpk6,"%d\n",stu[i].cj[2]);
      if(a==4||a==5||a==6)
      {
          fprintf(fpk7,"%d\n",stu[i].cj[3]);
      }
      if(a==5||a==6)
      {
          fprintf(fpk8,"%d\n",stu[i].cj[4]);
      }
      if(a==6)
        {
        fprintf(fpk9,"%d\n",stu[i].cj[5]);
        }
 
  }
   fclose(fpk1);
   fclose(fpk2);
   fclose(fpk3);
   fclose(fpk4);
   fclose(fpk5);
   fclose(fpk6);
   fclose(fpk7);
   fclose(fpk8);
   fclose(fpk9);
}
void exchange(AVA stu[],int a,int b)//读档函数 a学生b学科
{
   FILE *fpk1,*fpk2,*fpk3,*fpk4,*fpk5,*fpk6,*fpk7,*fpk8,*fpk9;
    fpk1 = fopen("学号.txt","r");
    fpk2 = fopen("姓名.txt","r");
    fpk3 = fopen("姓名简称.txt","r");
    fpk4 = fopen("学科1.txt","r");
    fpk5 = fopen("学科2.txt","r");
    fpk6 = fopen("学科3.txt","r");
    fpk7 = fopen("学科4.txt","r");
    fpk8 = fopen("学科5.txt","r");
    fpk9 = fopen("学科6.txt","r");
    if(fpk1==NULL||fpk2==NULL||fpk3==NULL||fpk4==NULL||fpk5==NULL||fpk6==NULL||fpk7==NULL||fpk8==NULL||fpk9==NULL)
  {
      printf("无法打开\n");
      exit(0);
  }
  i = 0;
  char s1[N],s2[N],s3[N],s4[N],s5[N],s6[N],s7[N],s8[N],s9[N];
   while(fgets(s1,40,fpk1)!=NULL)
   {
       int w;
       w = strlen(s1);
       if(w==2)
       {
           stu[i].no = s1[0]-'0';
       }
       else if(w==3)
       {
           stu[i].no=(s1[0]-'0')*10+s1[1]-'0';
       }
       i++;
       if(i==a) break;
   }
   i=0;
   while(fgets(s2,40,fpk2)!=NULL)
   {
       strcpy(stu[i].name,s2);
       i++;
       if(i==a)break;
   }
   i=0;
    while(fgets(s3,40,fpk3)!=NULL)
   {
       strcpy(stu[i].name1,s3);
       i++;
       if(i==a)break;
   }
        i = 0;
   while(fgets(s4,40,fpk4)!=NULL)
   {
       int w;
       w = strlen(s4);
       if(w==2)
       {
          stu[i].cj[0] = s4[0]-'0';
       }
       else if(w==3)
       {
            stu[i].cj[0]=(s4[0]-'0')*10+s4[1]-'0';
       }
       i++;
       if(i==a) break;
   }
    i = 0;
   while(fgets(s5,40,fpk5)!=NULL)
   {
       int w;
       w = strlen(s5);
       if(w==2)
       {
            stu[i].cj[1] = s5[0]-'0';
       }
       else if(w==3)
       {
          stu[i].cj[1]=(s5[0]-'0')*10+s5[1]-'0';
       }
       i++;
       if(i==a) break;
   }
    i = 0;
   while(fgets(s6,40,fpk6)!=NULL)
   {
       int w;
       w = strlen(s6);
       if(w==2)
       {
           stu[i].cj[2] = s6[0]-'0';
       }
       else if(w==3)
       {
           stu[i].cj[2]=(s6[0]-'0')*10+s6[1]-'0';
       }
       i++;
       if(i==a) break;
   }
    if(b==4||b==5||b==6)
    {
          i = 0;
   while(fgets(s7,40,fpk7)!=NULL)
   {
       int w;
       w = strlen(s7);
       if(w==2)
       {
           stu[i].cj[3] = s7[0]-'0';
       }
       else if(w==3)
       {
           stu[i].cj[3]=(s7[0]-'0')*10+s7[1]-'0';
       }
       i++;
       if(i==a) break;
   }
    }
     if(b==5||b==6)
     {
          i = 0;
   while(fgets(s8,40,fpk8)!=NULL)
   {
       int w;
       w = strlen(s8);
       if(w==2)
       {
            stu[i].cj[4] = s8[0]-'0';
       }
       else if(w==3)
       {
          stu[i].cj[4]=(s8[0]-'0')*10+s8[1]-'0';
       }
       i++;
       if(i==a) break;
   }
     }
    if(b==6)
    {
         i = 0;
   while(fgets(s9,40,fpk9)!=NULL)
   {
       int w;
       w = strlen(s9);
       if(w==2)
       {
           stu[i].cj[5] = s9[0]-'0';
       }
       else if(w==3)
       {
           stu[i].cj[5]=(s9[0]-'0')*10+s9[1]-'0';
       }
       i++;
       if(i==a) break;
   }
    }
 
   fclose(fpk1);
   fclose(fpk2);
   fclose(fpk3);
   fclose(fpk4);
   fclose(fpk5);
   fclose(fpk6);
   fclose(fpk7);
   fclose(fpk8);
   fclose(fpk9);
   printf("读档完成\n");
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/dearzcs/article/details/123547205

延伸 · 阅读

精彩推荐
  • C/C++解析c++中的默认operator=操作的详解

    解析c++中的默认operator=操作的详解

    本篇文章是对c++中的默认operator=操作的应用进行了详细的分析介绍。需要的朋友参考下...

    C++教程网7872020-11-28
  • C/C++C语言实现扫雷游戏及其优化

    C语言实现扫雷游戏及其优化

    这篇文章主要为大家详细介绍了C语言实现扫雷游戏及其优化,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    照顾不周6072021-08-01
  • C/C++深入串的模式匹配算法(普通算法和KMP算法)的详解

    深入串的模式匹配算法(普通算法和KMP算法)的详解

    本篇文章是对串的模式匹配算法(普通算法和KMP算法)的应用进行了详细的分析介绍,需要的朋友参考下...

    C语言教程网4422020-12-11
  • C/C++利用Matlab复刻举牌加油小人生成器

    利用Matlab复刻举牌加油小人生成器

    upuptoyou是一款非常有创意的小工具,可以在线生成举牌小人,看起来很可爱,也比较有趣,并能用于表白,或节日送祝福等场景。本文将用Matlab复刻这一小...

    slandarer11512022-10-11
  • C/C++C语言实现扫雷小游戏(扩展版)

    C语言实现扫雷小游戏(扩展版)

    这篇文章主要为大家详细介绍了C语言实现扩展版的扫雷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    木阿南二三记3482022-11-24
  • C/C++C语言开发实现贪吃蛇游戏

    C语言开发实现贪吃蛇游戏

    这篇文章主要为大家详细介绍了C语言开发实现贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    C 小白8992021-09-18
  • C/C++VC++ 6.0 C语言实现俄罗斯方块详细教程

    VC++ 6.0 C语言实现俄罗斯方块详细教程

    这篇文章主要为大家介绍了VC++ 6.0 C语言实现俄罗斯方块详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    jinxinliu110332021-06-26
  • C/C++C++实现LeetCode(125.验证回文字符串)

    C++实现LeetCode(125.验证回文字符串)

    这篇文章主要介绍了C++实现LeetCode(验证回文字符串).本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...

    Grandyang9072021-11-23