当前位置:文档之家› c语言课程设计报告

c语言课程设计报告

C语言程序设计B课程设计报告设计题目:学生成绩管理系统年级班级:学号:姓名:指导教师:2020 年 6 月 18 日目录一、设计目的 (3)二、课程设计内容和要求 (4)三、总体设计 (5)四、主要步骤 (12)五、功能实现 (13)六、功能测试 (64)七、评价程序 (83)八、课程设计体会 (84)一、设计目的程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。

程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。

主要目的为以下几点:1、熟练掌握面向过程(结构化)程序设计基本知识;2、综合运用所学知识解决实际问题;3、受到面向过程(结构化)程序设计的基本训练;4、体会面向过程(结构化)开发程序的过程。

二、课程设计内容和要求1.课程设计内容:学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。

2.课程设计要求1)具有菜单,可以在菜单上进行选择;2)能实现学生数据录入、修改、删除、查询;3)能实现数据排序;4)有数据输出功能;5)有数据读取与存储功能;6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数学、英语、总分、名次等信息;7)以结构方式存储每条记录;8)多条记录以链表方式存储到内存;9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。

三、总体设计1.主函数的结构:2.用户的需求分析:学生成绩管理系统面向的用户群体分为两类:学生和教师。

对于学生:由于教务处的规定,原则上,系统对学生群体只开放“查看成绩”和“打印成绩”这两个版块的功能。

对于教师:由于工作上的需求,系统对教师开放全部功能,包括“添加学生”、“查找学生”、“删除学生”、“修改信息”、“成绩排序”、“打印成绩”等全部版块的功能。

3.版块设计:1.系统用户选择界面:在使用该系统的时候,需要先进行“注册账号”,之后才能“登陆账号”,进行之后的一系列操作;若已有账号,则直接进行“登陆账号”即可。

流程图如下:(用户账号选择界面)流程图说明:用户有两条途径可以到达下一步“用户选择界面”:1.直接“登录账户”,输入账号密码,程序进行“循环判断”直至遍历所有“已存在的账号密码”,若成功,则继续;若失败,则重新输入账号密码。

2.先“注册账户”,再进行“登陆账户”,用户在进行注册账户时,程序会对用户输入的账号进行判断“是否注册”,若不存在。

则进行下一步输入密码,登陆账号;若存在,则提示“账号已存在,请重新输入或者直接登陆”。

(用户身份选择界面)流程图说明:在用户选择“用户身份”时,会有两个选择:1.选择“学生身份”,之后选择班级后,进入到学生菜单进行下一步操作,之后退出系统;2.选择“教师身份”,在选择班级后,用户在进入“教师”菜单之前,会被要求“输入教师系统密码”,该密码由学校教务处设定,若用户输入正确教师系统密码,则进入到“教师菜单”;若用户输入错误,则会直接进入到“退出系统”。

程序不允许用户进行“多次输入密码”的操作,目的是为了保证“学生信息的安全”。

2.学生/教师菜单:(学生菜单)流程图说明:在用户选择“学生身份”后,会进入到“学生菜单界面”,会有3个选择:1、进行查找学生操作,在完成操作后,会“返回至学生菜单界面”;2、进行打印成绩操作,在完成操作后,会“返回至学生菜单界面”;3、退出系统。

4、根据“学生群体的需求”和学校教务处的规定,系统对“学生身份”的用户只开放“查找学生”和“打印成绩”功能,其他功能暂不对学生开放,若学生有其他需要,可与所在班级的教师联系;但是系统对“学生群体”不限制使用功能的次数,因此学生可以在系统开放的时间段内无限次的使用所开放的功能。

(教师界面)流程图说明:在用户成功进入到“教师菜单界面”后,会有8项功能可以选择:添加学生、查找学生、删除学生、保存信息、修改学生、成绩排序、打印成绩、退出系统。

1.在教师进行“添加学生、删除学生”的操作后,系统会自动进行“成绩排序”操作,目的是为了方便教师对学生成绩的进一步管理;但是在进行“修改学生”后,不会进行“成绩排序”操作,原因是根据一些学校的相关规定,以及高考的相关制度,“学生在对成绩提出有异议后,会对该学生的成绩进行复查,若情况属实,对其成绩予以改正,但是排名/位次不予以修改”。

2.教师在进行完对“学生成绩”的相关工作后,要及时进行“保存信息”操作,否则系统默认“不保存”。

4.添加学生:流程图说明:在用户选择“添加学生”后,会先要求“输入学号”操作,然后程序进行循环判断,“学号是否存在”,若存在则用户需要重新输入学号,再次进行循环判断,直至学号不存在,才可以输入其他信息,输入完成后,会提示添加成功,之后会返回至“教师菜单界面”。

5.查找学生:流程图说明:在用户选择“查找学生”后,会有3个选择:“按照学号查找”、“按照姓名查找”、“返回上一层界面”1、根据数据统计,以及用户的使用习惯,查找学生功能提供两个查找方式以便进行“模糊查找”,满足用户的需求;2、在用户选择查找方式后,会进行相同原理的操作,若该学生存在,则输出打印该学生的相关信息,若不存在,则会有提示,重新输入或者返回上一层。

6.删除学生:流程图说明:在用户选择“删除学生”后,需要先输入“学号”进行查找,若该学生存在,则会删除该学生的全部成绩;若不存在,则会提示,重新输入或者返回上一层。

7.修改学生:流程图说明:在用户选择“修改学生”后,会先进行“查找学生”操作,在找到该学生后,用户可以对其“所有科目的成绩”进行修改,但不能对其的学号、姓名、总分进行修改,原因是该功能只允许教务处使用,在修改完成后,会返回上一层。

8.退出系统:回收链表空间,退出系统。

四、主要步骤以下是本课程设计的主要步骤:1.构造本课程设计的流程图;2.编写主要函数以及部分主要函数的子函数;3.调试主要函数(1)调试子函数;(2)作出具体的测试报告。

4.将各主函数连接构造成为完整的结构,并调试结构;5.复查主要代码;6.调整输出窗口(使得输出界面美观大方);7.撰写实验报告;(1)编辑封面扉页;(2)设计目录;(3)课程设计及其内容;(4)设计目的;(5)总体设计;(6)主要步骤;(7)功能实现;(8)功能测试;(9)课程设计体会、心得。

五、功能实现以下是实现本程序的主要函数:1.创建链表函数:void CreateList(){pStu = (STU*)malloc(sizeof(STU));pStu->pnext = NULL;}2.文件打开函数:void OpenFile(){char ch;STU* pnew = NULL;STU* ptemp = NULL; //2 个结构体指针system("cls");CreateList(); //先创建链表ptemp=pStu;printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 请选择班级:\n");printf("\t\t\t\n");printf("\t\t\t 例如:19级信计2班.txt \n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t请输入要管理的班级:");gets(filename);fp=fopen(filename, "r+"); //绝对路径if (fp == NULL){printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 文档无法打开,请创建后再尝试!\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");exit(0);}else{printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 打开成功!\n");printf("\t\t\t \n");printf("\t\t\t 按“任意键”继续... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();}printf("\n");while(1){//开辟了内存pnew = (STU*)malloc(sizeof(STU));//没有读出来if((fscanf(fp,"%d\t%s\t%f\t%f\t%f\t%f\t%f\t%d\n",&pnew->num,pnew->name,&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("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 全部学生成绩\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");STU *ptemp = pStu ->pnext;if(ptemp == NULL) //处理文件{printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 没有数据!按“任意键”继续... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();return;}printf("\t\t\t学号\t姓名\t语文\t数学\t英语\tC语言\t总分\t名次\n");while(ptemp !=NULL){printf("\t\t\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%d\n",ptemp->num,ptemp->name,ptemp->chinese,ptemp->math,ptemp->english,ptemp->computer,ptemp->sum,ptemp->rank);ptemp= ptemp->pnext;}printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 按任意键继续... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();}4.按照学号查找函数:void searchNum(STU *ptemp){int num;system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 正在按照学号查找学生\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t请输入您要查找的学号:");scanf("%d",&num);printf("\n");ptemp = ptemp->pnext; //实参pSTU->形参ptemp ptemp指向头结点 ptemp指向第一个有数据的空间while(ptemp!=NULL){if(ptemp->num==num) //找到了{printf("\t\t\t学号\t姓名\t语文\t数学\t英语\tc语言\t总分\t名次\n");printf("\t\t\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%d\n",ptemp->num,ptemp->name,ptemp->chinese,ptemp->math,ptemp->english,ptemp->computer,ptemp->sum,ptemp->rank);printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 查找成功!\n");printf("\t\t\t\n");printf("\t\t\t 按“任意键”返回上一层界面... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();return;}ptemp = ptemp->pnext;}printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t 查无此人!\n");printf("\t\t\t\n");printf("\t\t\t 按“任意键”返回上一层界面...\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");getch();}5.按照姓名查找函数:void searchName(STU *ptemp){char name[20];system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 正在按照姓名查找学生\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t请输入您要查找的姓名:"); scanf("%s",name);printf("\n");ptemp = ptemp->pnext; //实参pSTU->形参ptemp ptemp指向头结点 ptemp指向第一个有数据的空间int n=0;while(ptemp!=NULL){if(!strcmp(ptemp->name,name)) //找到了{if(n == 0){printf("\t\t\t学号\t姓名\t语文\t数学\t英语\tc语言\t总分\t名次\n");}printf("\t\t\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%d\n",ptemp->num,ptemp->name,ptemp->chinese,ptemp->math,ptemp->english,ptemp->computer,ptemp->sum,ptemp->rank);n++;}ptemp = ptemp->pnext;}//找完了if(n==0){printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 查无此人!\n");printf("\t\t\t \n");printf("\t\t\t 按“任意键”返回上一层界面... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");}else{printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 查找成功!\n");printf("\t\t\t \n");printf("\t\t\t 按“任意键”返回上一层界面... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");}getch();}6.查找学生的主函数:void searchMain(){int choice;do{system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 正在查找学员\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 1.按学号查找\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 2.按姓名查找\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 3.返回主界面\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 请选择:\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t"); scanf("%d",&choice); printf("\n");switch(choice){case 1:searchNum(pStu);break;case 2:searchName(pStu);break;case 3:break;}}while(choice !=3);}7.学生/教师界面选择函数:void stuortea(){int choice;system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 请选择页面信息\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t\n");printf("\t\t\t 1.学生页面 2.教师页面\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t");scanf("%d",&choice); printf("\n");while(!(choice==2 && choice==1)){if(choice==2){printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 选择成功!按“任意键”继续... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();mima();do{welcome1(); //主界面printf("\t\t\t \n");printf("\t\t\t 请选择:");scanf("%d",&choice);printf("\t\t\t \n");printf("\t\t\t************************************************************\n");switch(choice){case 1:addstudata();rank1(pStu);//添加学生break;case 2:searchMain();//查找学生break;case 3:delstu(pStu);rank1(pStu);//删除学生break;case 4://保存信息savedata();break;case 5://修改信息editMain();break;case 6:rank2(pStu);//成绩排序break;case 7://打印成绩printfALL();break;case 8://退出系统//回收链表空间freelist(pStu);printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t 内存释放成功!\n");printf("\t\t\t \n");printf("\t\t\t 按“回车键”后退出系统\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");break;default:break;}}while(choice != 8);}else if(choice == 1){printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t 选择成功!按“任意键”继续...\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");getch();do{welcome2(); //主界面printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t 请选择:");scanf("%d",&choice);printf("\t\t\t \n");printf("\t\t\t************************************************************\n");switch(choice){case 1:searchMain();break;//查找学员case 2:printfALL();//打印成绩break;case 3://退出系统//释放链表空间freelist(pStu);break;default:break;}}while(choice != 3);}else{printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 输入错误!请重新输入您的选择!\n");printf("\t\t\t");scanf("%d",&choice);printf("\t\t\t \n");printf("\t\t\t************************************************************\n");}}}8.添加学生信息函数:void addstudata(){int number; //学生信息的个数system("cls");STU *ptemp = NULL;STU *pnew = NULL;printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 正在添加学员\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t请输入您要添加几个学生:");scanf("%d",&number);printf("\n");for(int i=0;i<number;i++){//开辟空间pnew = (STU *)malloc(sizeof(STU));printf("\t\t\t************************************************************\n");printf("\t\t\t 正在添加第%d个学生信息:\n",i+1);printf("\t\t\t\n");printf("\t\t\t请输入学号:");scanf("%d",&pnew->num);ptemp = pStu->pnext;while(ptemp!=NULL){if(pnew->num == ptemp->num){printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 学号重复,请重新输入:\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t请输入学号:");scanf("%d",&pnew->num);ptemp = pStu->pnext;continue;}elseptemp = ptemp->pnext;}printf("\t\t\t请输入姓名:");scanf("%s",pnew->name);printf("\t\t\t请输入语文:");scanf("%f",&pnew->chinese);printf("\t\t\t请输入数学:");scanf("%f",&pnew->math);printf("\t\t\t请输入英语:");scanf("%f",&pnew->english);printf("\t\t\t请输入C语言:");scanf("%f",&pnew->computer);printf("\t\t\t*************************************************** *********\n");if(pStu->pnext == NULL) //说明链表里面一个数据都没有{pnew->pnext = NULL;pStu->pnext = pnew;}else //说明有数据{ptemp = pStu;while(ptemp != NULL){if(ptemp->pnext != NULL){if(pnew->num > ptemp->num && pnew->num <ptemp->pnext->num){pnew->pnext = ptemp->pnext;ptemp->pnext = pnew;break;}}else{pnew->pnext = NULL;ptemp->pnext = pnew;break;}ptemp = ptemp->pnext;}}printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 信息添加成功!\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");}printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 按“任意键”返回上一层界面... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();}9.保存数据函数:void savedata(){STU *ptemp = pStu->pnext;system("cls");fp=fopen(filename,"w");if(fp == NULL){printf("\t\t\t文件打开失败!");}else{while(ptemp != NULL){fprintf(fp,"\t\t\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%d\n",ptemp->num,ptemp->name,ptemp->chinese,ptemp->math,ptemp->english,ptemp-> computer,ptemp->sum,ptemp->rank);ptemp = ptemp->pnext;}}fclose(fp);printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 保存信息成功!\n");printf("\t\t\t \n");printf("\t\t\t 按“任意键”返回上一层界面... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();}10.加密函数:void mima(){int mima;system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 请输入教师系统密码:\n");printf("\t\t\t (默认密码:123)\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 温馨提示:教师系统密码由教务处设定,教师无权限修改!\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t");scanf("%d",&mima);printf("\n");if(mima != 123){printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 密码错误!若忘记密码请联系教务处!\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");exit(0);}fflush(stdin);printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 登陆成功!\n");printf("\t\t\t \n");printf("\t\t\t 按回车键继续... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();}11.修改学生的信息(按照学号)函数:void editstu1(STU *ptemp){int num;float score;int sub;system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 正在修改学生的信息\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t请输入您要编辑学生的学号: ");scanf("%d",&num); printf("\n");ptemp = ptemp->pnext; //实参pSTU->形参ptemp ptemp指向头结点 ptemp指向第一个有数据的空间while(ptemp!=NULL){if(ptemp->num==num) //找到了{printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t学号\t姓名\t语文\t数学\t英语\tc语言\t总分\n");printf("\t\t\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",ptemp->num,ptemp->name,ptemp->chinese,ptemp->math,ptemp->english,ptemp->computer,ptemp->sum);printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t请输入需要修改该学生的成绩科目:\n");printf("\n");printf("\t\t\t(1、语文 2、数学 3、英语 4、C语言)\n");printf("\t\t\t");scanf("%d",&sub);printf("\n");switch(sub){case 1:printf("\t\t\t请输入修改后的语文成绩:\n");printf("\t\t\t");scanf("%f",&score);printf("\n");ptemp->chinese=score;break;case 2:printf("\t\t\t请输入修改后的数学成绩:\n");printf("\t\t\t");scanf("%f",&score);printf("\n");ptemp->math=score;break;case 3:printf("\t\t\t请输入修改后的英语成绩:\n");printf("\t\t\t");scanf("%f",&score);printf("\n");ptemp->english=score;break;case 4:printf("\t\t\t请输入修改后的c语言成绩:\n");printf("\t\t\t");scanf("%f",&score);printf("\n");ptemp->computer=score;break;default:break;}printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 修改成功!\n");printf("\t\t\t\n");printf("\t\t\t 按回车键继续... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();return;}ptemp = ptemp->pnext;}printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t 查无此人!\n");printf("\t\t\t\n");printf("\t\t\t 按回车键继续...\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");getch();}12.修改学生的信息(按照姓名)函数:void editstu2(STU *ptemp){int num;char name[20];float score;int sub;system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 正在修改学生的信息\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t请输入您要编辑学生的姓名:");scanf("%s",name); printf("\n");ptemp = ptemp->pnext; //实参pSTU->形参ptemp ptemp指向头结点 ptemp指向第一个有数据的空间int n=0;while(ptemp!=NULL){if(!strcmp(ptemp->name,name)) //找到了{if(n == 0){printf("\t\t\t************************************************************\n");。

相关主题