2022年C语言程序设计-学生成绩管理系统 .pdf
《2022年C语言程序设计-学生成绩管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言程序设计-学生成绩管理系统 .pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 河南理工大学计算机科学与技术学院课程设计报告200 200 学年第学期课程名称设计题目学生姓名学号专业班级指导教师年月日一、设计目的3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 16 页 - - - - - - - - - 2 二、课程设计的要求与数据 3 三、成绩管理系统主要功能 4 四、界面设计4 五、程序源码5 六、心得体会16 一、设计目的进一步加深、巩固学生所学专业课程( C语言 )的基本理论知识,理论联系实际, 进一步培养学生综合分析问题和解决问题的
2、能力。掌握运用C 语言独立地编写、调试应用程序和进行其它相关设计的技能。二 、 课程设计的要求与数据名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 16 页 - - - - - - - - - 3 1、用C语言实现系统;2、对学生信息 (包括学号、姓名、性别、高数、英语、C语言、平均分 )进行管理 , 包括学生成绩的信息输入、 显示、添加、删除、修改、查询、退出 . 3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能:(1) 每一条记录包括一个
3、学生的学号、姓名、性别、3门课成绩。(2) 成绩信息显示浏览功能:完成全部学生记录的显示。(3)可以添加后来学生的信息。(4) 成绩信息的删除 : 按学号进行删除某学生的成绩。(5)可以修改某学生的信息。(6) 查询功能:完成按姓名查找学生记录,并显示。(7) 应提供一个界面来调用各个功能, 调用界面和各个功能的操作界面应尽可能清晰美观 ! 三、成绩管理系统主要功能1. 输入记录2. 用指定格式显示全部记录3. 根据姓名查找记录4. 根据姓名删除记录5. 保存记录到文件6. 按序号显示记录名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
4、- - 名师精心整理 - - - - - - - 第 3 页,共 16 页 - - - - - - - - - 4 7. 按姓名由小到大的顺序排序四、 界面设计此系统界面采用图形和数字化菜单设计。主界面设计如下:- 欢迎进入学生成绩管理系统-制作者:河南理工大学信息管理* *主菜单* * 1. 登记学生资料2. 删除学生资料3. 查找学生资料4. 修改学生资料5. 保存学生资料6. 退出系统* 五、程序代码#include stdio.h #include stdlib.h #include string.h int shoudsave=0; /* */ struct student char
5、 num10;/* 学号*/ char name20; char sex4; int cgrade; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 16 页 - - - - - - - - - 5 int mgrade; int egrade; int totle; int ave; char neartime10;/* 最近更新时间*/ ; typedef struct node struct student data; struct node *next; Node
6、,*Link; void menu() printf(*主菜单*); printf(t1登记学生资料ttttt2 删除学生资料n); printf(t3查询学生资料ttttt4 修改学生资料n); printf(t5保存学生资料ttttt0 退出系统 n); printf(*n); void printstart() printf(-n); void Wrong() printf(n=提示 :输入错误 !n); void Nofind() printf(n=提示 :没有找到该学生!n); void printc() /* 本函数用于输出中文*/ printf( 学号 t 姓名性别英语成绩数学成
7、绩C 语言成绩总分平均分 n); void printe(Node *p)/* 本函数用于输出英文*/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 16 页 - - - - - - - - - 6 printf(%-12s%st%st%dt%dt%dt %dt %dn,p-data.num,p-data.name,p-data.sex,p-data.egrade,p-data.mgrade,p-data.cgrade,p-data.totle,p-data.ave);
8、 Node* Locate(Link l,char findmess,char nameornum) /* 该函数用于定位连表中符合要求的接点,并返回该指针*/ Node *r; if(strcmp(nameornum,num)=0) /* 按学号查询*/ r=l-next; while(r!=NULL) if(strcmp(r-data.num,findmess)=0) return r; r=r-next; else if(strcmp(nameornum,name)=0) /* 按姓名查询*/ r=l-next; while(r!=NULL) if(strcmp(r-data.name,
9、findmess)=0) return r; r=r-next; return 0; void Add(Link l) /* 增加学生*/ Node *p,*r,*s; char num10; r=l; s=l-next; while(r-next!=NULL) r=r-next; /* 将指针置于最末尾*/ while(1) printf( 请你输入学号(以 0返回上一级菜单:); scanf(%s,num); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 16 页
10、- - - - - - - - - 7 if(strcmp(num,0)=0) break; while(s) if(strcmp(s-data.num,num)=0) printf(=提示 :学号为 %s 的学生已经存在,若要修改请你选择4 修改 !n,num); printstart(); printc(); printe(s); printstart(); printf(n); return; s=s-next; p=(Node *)malloc(sizeof(Node); strcpy(p-data.num,num); printf( 请你输入姓名:); scanf(%s,p-data
11、.name); getchar(); printf( 请你输入性别:); scanf(%s,p-data.sex); getchar(); printf( 请你输入c 语言成绩 :); scanf(%d,&p-data.cgrade); getchar(); printf( 请你输入数学成绩:); scanf(%d,&p-data.mgrade); getchar(); printf( 请你输入英语成绩:); scanf(%d,&p-data.egrade); getchar(); p-data.totle=p-data.egrade+p-data.cgrade+p-data.mgrade;
12、p-data.ave=p-data.totle / 3; /* 信息输入已经完成*/ p-next=NULL; r-next=p; r=p; shoudsave=1; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 16 页 - - - - - - - - - 8 void Qur(Link l) /* 查询学生*/ int sel; char findmess20; Node *p; if(!l-next) printf(n=提示 :没有资料可以查询!n); retur
13、n; printf(n=1按学号查找 n=2 按姓名查找 n); scanf(%d,&sel); if(sel=1)/* 学号*/ printf( 请你输入要查找的学号:); scanf(%s,findmess); p=Locate(l,findmess,num); if(p) printf(tttt查找结果 n); printstart(); printc(); printe(p); printstart(); else Nofind(); else if(sel=2) /* 姓名*/ printf( 请你输入要查找的姓名:); scanf(%s,findmess); p=Locate(l,
14、findmess,name); if(p) printf(tttt查找结果 n); printstart(); printc(); printe(p); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 16 页 - - - - - - - - - 9 printstart(); else Nofind(); else Wrong(); void Del(Link l) /* 删除*/ int sel; Node *p,*r; char findmess20; if(!l-
15、next) printf(n=提示 :没有资料可以删除!n); return; printf(n=1按学号删除 n=2 按姓名删除 n); scanf(%d,&sel); if(sel=1) printf( 请你输入要删除的学号:); scanf(%s,findmess); p=Locate(l,findmess,num); if(p) r=l; while(r-next!=p) r=r-next; r-next=p-next; free(p); printf(n=提示 :该学生已经成功删除!n); shoudsave=1; else Nofind(); else if(sel=2) prin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C语言程序设计-学生成绩管理系统 2022 语言程序设计 学生 成绩管理系统
限制150内