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("%ld\t%s\t%d\t\t%d\t\t%d\t\t%d\n",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("%ld\t%s\t%d\t\t%d\t\t%d\t\t%d\n",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(" 正在退出管理系统,欢迎再次使用! \n\n");
150 printf("********************************************************************************\n\n\n");
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(" \n\n\n\ |-------------------------------------------|\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(" \n\n\n\t\t\t..____.╭╮╭╮.____...\n");
201 printf(" \t\t\t.._...╭-┴┴★╮_......\n");
202 printf(" \t\t\t.._...│◎ ︵│_......\n");
203 printf(" \t\t\t...※※※╰○--○╯※※※....\n");
204 printf(" \t\t\t....错了哦!请重新输入!.....\n");
205 printf(" \t\t\t...................\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 }