C语言课程设计(成绩管理系统)

时间:2022-04-29
本文章向大家介绍C语言课程设计(成绩管理系统),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

C语言课程设计(成绩管理系统)

翻到了大学写的C语言课程设计,缅怀一下

内容:

增加学生成绩

查询学生成绩

删除

按照学生成绩进行排序

  1 #include <stdio.h> 
  2 #include <string.h>
  3 #include <stdlib.h> 
  4 #define N 20 
  5 struct student 
  6 {
  7     int  num; 
  8     char name[30]; 
  9     int  chinese; 
 10     int  math; 
 11     int  english; 
 12     int  sum;
 13 }; 
 14 struct student stu[N],temp;
 15 int choose; 
 16 void tianjiachengji(); //添加成绩
 17 void xianshichengji(); //显示成绩
 18 void chaxunchengji();  //查询成绩
 19 void shanchuchengji(); //删除成绩
 20 void chengjipaixu();   //成绩排序
 21 void ruanjiantuichu(); //软件退出
 22 int  c=0;
 23 
 24 
 25 void tianjiachengji() 
 26 {
 27     int i; 
 28     printf("请输入你要添加的学生个数:n");
 29     scanf("%d",&c);
 30     for(i=0;i<c;i++) 
 31     {
 32         printf("请输入学号:n"); 
 33         scanf("%ld",&stu[i].num); 
 34         printf("请输入名字:n"); 
 35         scanf("%s",stu[i].name);  
 36         printf("请输入语文成绩:n"); 
 37         scanf("%d",&stu[i].chinese); 
 38         printf("请输入数学成绩:n");
 39         scanf("%d",&stu[i].math); 
 40         printf("请输入英语成绩:n"); 
 41         scanf("%d",&stu[i].english); 
 42         stu[i].sum=stu[i].chinese+stu[i].english+stu[i].math;
 43     } 
 44 
 45 } 
 46 
 47 
 48 void xianshichengji() 
 49 {
 50     int i;
 51     printf("学号t姓名t语文成绩t数学成绩t英语成绩t总分n");
 52     for(i=0;i<c;i++)
 53     {
 54         printf("%ldt%st%dtt%dtt%dtt%dn",stu[i].num,stu[i].name,stu[i].chinese,stu[i].math,stu[i].english,stu[i].sum); 
 55     } 
 56 } 
 57 
 58 
 59 void chaxunchengji() 
 60 {
 61     char name[20]; 
 62     int k,f=0; 
 63     printf("请输入您所要查找的姓名: "); 
 64     getchar();//吸收回车符
 65     gets(name); 
 66     for(k=0;k<c;k++) 
 67         if(strcmp(name,stu[k].name)==0)
 68         {
 69             printf("学号t姓名t语文成绩t数学成绩t英语成绩t总分n");
 70             printf("%ldt%st%dtt%dtt%dtt%dn",stu[k].num,stu[k].name,stu[k].chinese,stu[k].math,stu[k].english,stu[k].sum); 
 71             f=1;
 72         }
 73         if(f==0) 
 74         printf("木有这个人~~~TOT"); 
 75 } 
 76 
 77 
 78 void shanchuchengji() 
 79 { 
 80     int k; 
 81     char newname[20]; 
 82     printf("请输入所要删除学生的名字:n");
 83     getchar();  //吸收回车符
 84     gets(newname); 
 85     printf("所有学生记录为:n"); 
 86     xianshichengji();
 87     for(k=0;k<c;k++) 
 88         if(strcmp(newname,stu[k].name)==0)
 89         {
 90             printf("你选择的学生为:n"); 
 91             printf("%ld,%s,%d,%d,%d",stu[k].num,stu[k].name,stu[k].chinese,stu[k].math,stu[k].english); 
 92             stu[k].num=stu[k+1].num; 
 93             strcpy(stu[k].name,stu[k+1].name); 
 94             stu[k].chinese=stu[k+1].chinese; 
 95             stu[k].math=stu[k+1].math; 
 96             stu[k].english=stu[k+1].english; 
 97             stu[k].sum=stu[k+1].sum; 
 98         }
 99         printf("学生记录删除完毕!n"); 
100         return 1;
101 } 
102 
103 
104 void chengjipaixu()
105 {
106     int i,j;
107     temp.sum=stu[0].sum;
108     for(i=0;i<c;i++)
109     {
110         for(j=0;j<c;j++)
111         {
112             if(stu[j].sum<stu[i].sum)
113             {
114                 temp.sum=stu[i].sum;
115                 stu[i].sum=stu[j].sum;
116                 stu[j].sum=temp.sum;
117                 temp.num=stu[i].num;
118                 stu[i].num=stu[j].num;
119                 stu[j].num=temp.num;
120                 temp.chinese=stu[i].chinese;
121                 stu[i].chinese=stu[j].chinese;
122                 stu[j].chinese=temp.chinese;
123                 temp.math=stu[i].math;
124                 stu[i].math=stu[j].math;
125                 stu[j].math=temp.math;
126                 strcpy(    temp.name,stu[i].name);
127                 strcpy(    stu[i].name,stu[j].name);
128                 strcpy(    stu[j].name,temp.name);
129             }
130         }
131     }
132     xianshichengji();
133 }
134 
135 void ruanjiantuichu()
136 {
137     system("cls");
138     printf(" .......................................n");
139     printf(" .................★︵___︵★...............n");
140     printf(" ................./     \...............n");
141     printf(" .................︴●   ● ︴..............n");
142     printf(" .................︴≡ ﹏ ≡ ︴..............n");
143     printf(" .................\_____/...............n");
144     printf(" ..........╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮........n");
145     printf(" ..........│亲││们││,││再││见││哦││!│........n");
146     printf(" ..........╘∞╛╘∞╛╘∞╛╘∞╛╘∞╛╘∞╛╘∞╛........n");
147     printf(" .......................................n");
148     printf(" *******************************************************************************n");
149     printf("                     正在退出管理系统,欢迎再次使用!                       nn");
150     printf("********************************************************************************nnn");
151     exit(0);
152 }
153 
154 
155 void main() 
156 { 
157     printf("t★∵☆.◢◣   ◢◣n");
158     printf("t   ◢■■◣ ◢■■◣n");
159     printf("t  ◢■■■■■■■■■◣n");
160     printf("t ◢■■■ ╭~~*╮  ((((( ◣n");
161     printf("t ◥■■■/( '-' )(' .' )◤n");
162     printf("t  ◥■■■/■ ..../■ ◤n");
163     printf("t    ◥■国庆ㄉ快乐■◤n");
164     printf("t    ◥■■■■■◤n");
165     printf("t     ◥■■■◤n");
166     printf("t      ◥■◤n");
167     printf("t       ▼n");
168     printf("t        \n");
169     printf("t  祝      \n");
170     printf("t  同       \n");
171     printf("t   学        \ 祝你们幸福~○( ̄0 ̄)○n");
172     printf("t  们  国      \n");
173     printf("t     庆       \n");
174     printf("t     快        \n");
175     printf("t     乐       ● \  ●n");
176     printf("t             《 》 》》n");
177     printf("t              》 《   n");
178     printf("t           ▂▃▄▅▆▇███▇▆▅▄▃▂    by__六班 n");
179     system("pause");
180     system("cls");
181     printf(" nnn                   |-------------------------------------------|n");
182     printf("                   |              学生管理系统                 |n");
183     printf("                   |-------------------------------------------|n");
184     printf("                   |         1.添加成绩:加入新的成绩           |n");
185     printf("                   |-------------------------------------------|n");
186     printf("                   |         2.显示成绩:显示原有成绩           |n");
187     printf("                   |-------------------------------------------|n");
188     printf("                   |         3.查询成绩:查询原有成绩           |n");
189     printf("                   |-------------------------------------------|n");
190     printf("                   |         4.删除成绩:删除原有成绩           |n");
191     printf("                   |-------------------------------------------|n");
192     printf("                   |         5.成绩排序:按照成绩排名           |n");
193     printf("                   |-------------------------------------------|n");
194     printf("                   |         6.软件退出:退出管理系统           |n");
195     printf("                   |-------------------------------------------|n");
196     printf("请输入您要进行的操作(1~5):n"); 
197     scanf("%d",&choose);
198     while(choose!=1&&choose!=2&&choose!=3&&choose!=4&&choose!=5&&choose!=6) 
199     {
200     printf(" nnnttt..____.╭╮╭╮.____...n");
201     printf(" ttt.._...╭-┴┴★╮_......n");
202     printf(" ttt.._...│◎  ︵│_......n");
203     printf(" ttt...※※※╰○--○╯※※※....n");
204     printf(" ttt....错了哦!请重新输入!.....n");
205     printf(" ttt...................n");
206     printf("请输入您要进行的操作:n"); 
207     scanf("%d",&choose); 
208     } 
209     while(choose==1||choose==2||choose==3||choose==4||choose==5||choose==6)
210     {
211         switch(choose) 
212         {
213         case 1:tianjiachengji(); break; //添加成绩
214         case 2:xianshichengji(); break; //显示成绩
215         case 3:chaxunchengji();  break; //查询成绩
216         case 4:shanchuchengji(); break; //删除成绩
217         case 5:chengjipaixu();   break; //成绩排序
218         case 6:ruanjiantuichu(); break; //软件退出
219         }
220         printf("请输入您要进行的操作(1~6):n"); 
221         scanf("%d",&choose); 
222     } 
223 
224 }