数的编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间的调用(包括递归调用)。由于我们是分工编写代码,最后需要将每个人的代码放到一起进行调试。因为我们每个人写的函数的思想不都一样,所以在调试的过程中也遇到了困难,但经过我们耐心的修改,终于功夫不负有心人,我们成功了!
在参考书上,我们不仅参考了谭浩强主编的第二版《C语言程序设计》进行参考。
当然,我们的程序还有一些不完善的地方,比如说,当输入的数据不符合我们定义的数据的格式的时候,程序会出现一些错误,有时会出现主菜单的死循环;在一次程序运行中,只能行使一种权限,要想再行使另一种权限,就只能退出程序,然后再运行程序。
一周的课程设计即将结束,时间虽短,但是我收获了很多。最后,谢谢老师和同学们的指导,更要感谢我们小组成员之间的合作与交流。
- 21 -
参考文献
[1] 谭浩强.《C语言程序设计》(第二版).北京: 清华大学出版社,2009. [2] 谭浩强《C程序设计程序设计学习辅导》 .北京:清华大学出版社,2005.
22
附录 源代码
#include
char name[20];
int num; int score[M]; };
void enter(struct stu s[],int n); void print(struct stu s[],int n); void save(struct stu s[],int n); void sort(struct stu s[],int n); void modify(struct stu s[],int n); void count(struct stu s[],int n); int menu();
void main() {
void clrscr();
struct stu student[NUM]; for( ; ; ) switch(menu()) {
case 1:enter(student,NUM);break;
case 2:print(student,NUM);break; case 3:save(student,NUM);break; case 4:sort(student,NUM);break;
23
case 5:modify(student,NUM);break; case 6:count(student,NUM);break; case 7:return; } } int menu() { int choice;
printf(\***************************\\n\
printf(\ 1 成绩录入\\n\printf(\ 2 成绩显示\\n\printf(\ 3 成绩保存\\n\printf(\ 4 成绩排序\\n\printf(\ 5 成绩修改\\n\printf(\ 6 成绩统计\\n\printf(\ 7 退出系统\\n\
printf(\ 学生人数级 NUM 课程 数学0 语文1 英语2 政治3\\n\
printf(\do {
printf(\
班
级
成
绩
管
理
scanf(\}
while(choice<1||choice>7); return choice; }
void enter(struct stu s[],int n) { {
24
char c; int i=0; int j; do