课程设计实验报告 李锐
提供两个查找方式以便进行“模糊查找”,满足用户 的需求;
2、在用户选择查找方式后,会进行相同原理的操作,若 该学生存在,则输出打印该学生的相关信息,若不存 在,则会有提示,重新输入或者返回上一层。 6.删除学生:
流程图说明:在用户选择“删除学生”后,需要先输入“学号”进行查 找,若该学生存在,则会删除该学生的全部成绩;若不存 在,则会提示,重新输入或者返回上一层。 7.修改学生:
流程图说明:在用户选择“修改学生”后,会先进行“查找学生”操作, 在找到该学生后,用户可以对其“所有科目的成绩”进行 修改,但不能对其的学号、姓名、总分进行修改,原因是 该功能只允许教务处使用,在修改完成后,会返回上一层。 8.退出系统:
回收链表空间,退出系统。
11
课程设计实验报告 李锐
四、主要步骤
以下是本课程设计的主要步骤: 1.构造本课程设计的流程图;
2.编写主要函数以及部分主要函数的子函数; 3.调试主要函数 (1)调试子函数; (2)作出具体的测试报告。
4.将各主函数连接构造成为完整的结构,并调试结构; 5.复查主要代码;
6.调整输出窗口(使得输出界面美观大方); 7.撰写实验报告; (1)编辑封面扉页; (2)设计目录; (3)课程设计及其内容; (4)设计目的; (5)总体设计; (6)主要步骤; (7)功能实现; (8)功能测试;
(9)课程设计体会、心得。
12
课程设计实验报告 李锐
五、功能实现
以下是实现本程序的主要函数:
1.创建链表函数: void CreateList() {
pStu = (STU*)malloc(sizeof(STU)); pStu->pnext = NULL; }
2.文件打开函数: void OpenFile() {
char ch;
STU* pnew = NULL;
STU* ptemp = NULL; //2 个结构体指针
system(\
CreateList(); //先创建链表
ptemp=pStu;
printf(\
printf(\*********\\n\
printf(\\\n\
printf(\\\n\
printf(\学生成绩管理系统 \\n\
printf(\\\n\
printf(\\\n\
printf(\*********\\n\
13
课程设计实验报告 李锐
printf(\\\n\
printf(\\\n\
printf(\请选择班级: \\n\
printf(\\\n\
printf(\例如:19级信计2班.txt \\n\
printf(\\\n\
printf(\\\n\
printf(\*********\\n\
printf(\请输入要管理的班级:\ gets(filename);
fp=fopen(filename, \绝对路径
if (fp == NULL) {
printf(\*********\\n\
printf(\\\n\
printf(\文档无法打开,请创建后再尝试! \\n\
printf(\\\n\
printf(\*****\\n\
exit(0); } else {
printf(\*********\\n\
printf(\\\n\
14
课程设计实验报告 李锐
printf(\打开成功! \\n\
printf(\\\n\
printf(\按“任意键”继续... \\n\
printf(\\\n\
printf(\*********\\n\ getch(); }
printf(\ while(1) {
//开辟了内存
pnew = (STU*)malloc(sizeof(STU));
//没有读出来
if((fscanf(fp,\e,&pnew->chinese,&pnew->math,&pnew->english,&pnew->computer,&pnew->sum,&pnew->rank))==EOF) {
free(pnew); break; }
pnew->pnext = NULL; ptemp->pnext = pnew; ptemp = ptemp->pnext; } }
3.打印信息函数: void printfALL() {
system(\
15