还剩5页未读,继续阅读
文本内容:
豫备知识实验-实验目的I、复习c语言中结构体类型的定义方法,掌握数据元素类型的定义方法
2、掌握存储空间分配和释放的基本方法
3、巩固结构体变量成员的”引用和“引用
4、掌握C语言函数的声明、定义和调用二实验内容学生信息管理某年级共有n个学生,每一个学生的信息构成一个记录,如下表所示学生的学号作为关键字key这n个记录构成为了一个长度为n的线性表现要求完
1、输入所有学生的信息,建立学生表
2、输出所有学生的信息
3、查找在学生表中查找指定学生的信息,如果找到就显示该生的所有信息,否则显示“该学生的信息不存在,查找失败”
4、修改在学生表中修改指定学生的信息,然后显示所有学生信息,如果表中不存在该生就显示“该生的信息不存在,修改失败”
5、添加在当前学生表的末尾添加一个记录记录数增加1例如,添加记录为4256033吴强男828590要求按下列方法和步骤完成程序,并上机调试通过用struct和typedef语句定义学生记录类型即定义数据元素的类型typedefstructstudent{intnumber;charname
[20];charsex
[2];intEnglish;intComputer;intMath;inttotal;doubleaverage;}STUDENT;确定存储结构,现采用顺序存储结构定义一个类型为STUDENT的一维数组stu最大元素个数为
100.#defineMAXSIZE100STUDENTstu[MAXSIZE];函数声明题目中有5问,声明5个函数输入所有学生的信息,建立学生表voidlnputStuSTUDENTstu[]3intn;输出所有学生的信息voidOutputStuSTUDENTstu[]intn;查找在学生表中查找指定学生的信息,如果找到就显示该生的所有信息,否则显示〃该学生的信息不存在,酰失败’OvoidSearchStuSTUDENTstu[]intn修改在学生表中修改指定学生的信息,然后显示所有学生信息,如果表中不存在该生就显示〃该生的信息不存在,修改失败〃voidUpdateStuSTUDENTstu[]intn添加在当前学生表的末尾添加一个记录记录数增加1例如,添加记录为4256033吴强男828590voidAppendStuSTUDENTstu[]int*pn函数调用编写main函数voidmain{intn;STUDENTstufMAXSIZE];intindex;printfH\n请输入学生记录个数n=H;scanfn%dnn;printf”请输入学生信息\nM;lnputStustun;while1{printfH\n\t\t\t\t学生信息管理系统\rT;printf\t
1.显示学生信息\n;printf”\t
2.查找学生信息\n“;printf\t
3.修改学生信息\n“;printf”\t
4.添加学生信息\n;printf\t请选择1・4”;scanf”%d”index;switchindex{case1:OutputStustun;break;case2:SearchStustun;break;case3:llpdateStustun;break;case4:AppendStustun;break;default:printf\n输入有误,请重新输入!\rT;操作函数的定义5个自定义函数的定义voidlnputStuSTUDENTstu[]intn{inti;fori=0;in;i++{scanfn%dnstu[i].num;scanf%sn5stu[i].name;scanfn%snstu[i].sex;scanf”%d”stu[i].English;scanf%d”stu[i].Computer;scanfH%dstu[i].Math;stu[i].total=stu[i].English+stu[i].Computer+stu[i].Math;stu[i].average=stu[i].total/
3.0;voidOutputStuSTUDENTstu[]intn{inti=1;STUDENT*p;printfH\n序号\t学号\t姓名\t性别\t英语\t计算机\t高数\t总分\t平均分\n”;forp=stu
[0];pstu+n;p++{printf%d\t”i++;printf%d\tnp-num;printf%s\t”p-name;printf%s\tJp-sex;printf%d\t”p-English;printf%d\t”p-Computer;printfH%d\rp-Math;printf%d\t1p-total;printf”%
0.2f\t”p・average;printfH\nn;voidSearchStuSTUDENTstu[]intn{intx;printfM\n请输入待查找的学号”;scanfn%dKx;forinti=0;ivn;i++{ifstu[i].num==x{printfH\n查找成功\rT;break;}ifi〈n{printfn\n学号Y姓名\t性别\t英语\t计算机\t高数\t总分\t平均分\n“;printfH%d\t%s\t%s\t%d\t%d\t%d\t%d\t%
0.2f\t\nnstu[i].numstu[i].namestu[i].sexstu[i].Englishstu[i].Computerstu[i].Mathstu[i].totalJstu[i].average;}elseprintf\n该生信息不存在,查找失败!\n“;voidUpdateStuSTUDENTstu[]intn{STUDENT*p;inttx1x2;charx
[20];printf\n请输入要修改记录的学号”;scanfn%dnx1;forp=stu;pstu+n;p+4-{ifp-num==x1break;}ifp=stu+nprintf不存在学号为%d的记录,修改失败!\n\x1;else{printfn\n学号\t姓名\t性别\t英语\t计算机\t高数\t总分\t平均分\n;printf%d\t%s\t%s\t%d\t%d\t%d\t%d\t%
0.2f\t\np-nump-namep-sexp-Englishp-Computerp-Mathp-totalp-average;printf”\t
1.姓名\n“;printf\t
2.性别\rT;printf\t
3.英语\n;printf\t
4.计算机\n“;printf\t5•高数\n“;printfn\t请选择要修改的信息1・5scanfH%dnt;printf请输入修改后的信息:;ift3scanf”%20s”x;elseift6scanf%dx2;switcht{case1:strcpyp-namex;break;case2:strcpyp-sexx;break;case3:p-English=x2;break;case4:p-Computer=x2;break;case5:p-Math=x2;break;default:printf\n输入有误,请重新输入!\n;printf(n\n学号\t姓名\t性别\t英语\t计算机\t高数\t总分\t平均分\n);pnntf%d\t%s\t%s\t%d\t%d\t%d\t%d\t%
0.2f\t\rTp-nump-namepsexpEnglishp-Computerp-Mathp-totalp-average;}}voidAppendStuSTUDENTstu[]int*pn{inti;if*pn==1OOprintf空间已满添加失败!\n;elsei=*pn;printf“\n请输入学生信息”;scanfn%d%s%s%d%d%dHstu[i].numstu[i].namestu[i].sexstu[i].Englishstu[i].Computerstu[i].Math;stu[i].total=stu[i].English+stu[i].Computer+stu[i].Math;stu[i].average=stu[i].total/
3.0;*pn=*pn+1;printf更新成功”;}=实验鸥L建表输入学生信息,并显示学生信息
2.通过学号查找学生信息,查找成功则显示学生信息,查找失败则显示学号不存在计算机高数总分平均分
688422876.00学生信息管理系统青旃人待查找的学号
42630023.修改学生信息,选择要修改的数据项,输入修改内容,修改后显示修改后的学生内容青输入要修改记录的学号,4256007源7髓磊耕r驴机萨
4.添加学生信息通过本次实验,复习了之前学习的c语言知识,熟练了基本的循环结构,结构体定义,结构体变量的引用方法和函数调用学号姓名性别英语计算机高数总分平均分4256007贝小鹏男7668844256012黄坚女8764664256020林继磊女7869784256026潘耀男546652。