课程设计-(c语言)学生成绩管理系统.doc





《课程设计-(c语言)学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《课程设计-(c语言)学生成绩管理系统.doc(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date课程设计-(c语言)学生成绩管理系统课程设计-(c语言)学生成绩管理系统湖北师范学院 信息工程班 朱文峰完整程序# include # include # include typedef struct student char num10; /学号char name10; /姓名int chinese; int math; int english; int compu
2、ter;int total; /总分float ave; /平均分STU;/单链表实现typedef struct node struct student data; /数据域struct node * next; /指针域 NODE, * PNODE; /主菜单void menu1() printf(n * 欢迎进入学生成绩管理系统 *nn);printf( 湖北师范学院 信工班nn);void menu2()printf( *nn);printf( 1 增加数据 2 删除数据 n);printf( 3 查找信息 4 修改信息 n);printf( 5 顺序显示 6 统计数据nn);prin
3、tf( *n);/保存学生信息void save(PNODE list)FILE *fp;NODE *p;fp = fopen(student, wb);/只写方式打开二进制文件if(fp = NULL) printf(n文件操作错误n);return ;p = list - next;while(p)if(fwrite(p,sizeof(NODE),1,fp) = 1) p = p - next;elsebreak;fclose(fp); /增加学生信息void add(PNODE list)NODE *p, *r, *s; char flag = 0, num10, name10;int
4、a,b,c,d;/各门成绩char ch;r = list;while(r - next != NULL)r = r - next;/将指针移到链表末尾while(1)while(1) printf(n 请依次输入学号,姓名,语文,数学,英语,计算机的成绩,用空格隔开:n);printf( );scanf(%s%s%d%d%d%d,num,name,&a,&b,&c,&d); flag = 0;s = list - next;while(s)/检查该学号是否已经存在if(strcmp(s - data.num, num) = 0)flag = 1;break;s = s - next;if(1
5、 = flag) printf( 您输入的学号已存在,请重新输入:);continue;break;p = (PNODE)malloc(sizeof(NODE); if(!p)printf(内存错误n); return ; strcpy(p - data.num, num);strcpy(p - data.name, name); p - data.chinese = a;p - data.math = b;p - data.english = c;p - puter = d;p - data.total = a + b + c + d;p - data.ave = (a + b + c +
6、d) / 4.0;p - next = NULL; r - next = p; /将新结点挂在尾结点后面r = p;save(list);printf( 保存成功! 是否继续操作?: );getchar();scanf(%c, &ch);if(ch = y | ch = Y)continue;elsereturn;/打印某个学生的信息void pri(NODE *r)printf( 学号 姓名 语文 数学 英语 计算机 平均分 总分n);printf( %-7s%5s%4d%5d%5d%6d%9.2f%5dn,r-data.num, r-data.name, r-data.chinese, r
7、-data.math,r-data.english, r-puter, r-data.ave, r-data.total);/遍历链表void traverse(PNODE list)PNODE p;p = list - next;printf( 学号 姓名 语文 数学 英语 计算机 平均分 总分n);while(p != NULL)printf( %-7s%5s%4d%5d%5d%6d%9.2f%5dn,p-data.num, p-data.name, p-data.chinese, p-data.math,p-data.english, p-puter, p-data.ave, p-dat
8、a.total);p = p - next;return ;/按学号排序学生信息并显示void dis(PNODE list)char ch;PNODE p, r;STU stu;if(!list - next)printf( 没有可用数据!n);return ;for(p = list - next; p - next != NULL; p = p - next)for(r = p - next; r != NULL; r = r - next)if(strcmp(p-data.num, r-data.num) 0)stu = p - data;p - data = r - data;r -
9、 data = stu;printf( -n);traverse(list);printf( -n);printf( 是否返回继续操作?: );getchar();scanf(%c, &ch);if(ch = y | ch = Y)return;elseexit(0);/查找学生信息void find(PNODE list)char num10, ch;NODE *r;int f = 0;while(1)r = list - next;printf( 请输入学号或姓名: );scanf(%s, num);while(r)if(strcmp(r - data.num, num) = 0) f =
10、 1;pri(r);break;else if(strcmp(r - data.name, num) = 0) f = 1;pri(r);r = r - next;if(!f)printf( 没有找到对应信息!n);printf( 是否继续操作?: );getchar();scanf(%c, &ch);if(ch = y | ch = Y)continue;elsereturn;/删除学生数据void del(PNODE list)while(1)PNODE r, p;char num10, ch;printf( 请输入学号或姓名: );scanf(%s, num);r = list - ne
11、xt;p = list;while(r)if(strcmp(r - data.num, num) = 0 | strcmp(r - data.name, num) = 0)while(p - next != r)p = p - next;p - next = r - next;r = r - next;printf( 删除成功!是否继续执行删除?: );save(list);getchar();scanf(%c, &ch);if(ch = y | ch = Y)continue;elsereturn;/修改学生信息void modi(PNODE list)while(1)PNODE r;int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 语言 学生 成绩管理系统

限制150内