资源描述:
《【精品】数据结构与软件方法实验指导书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验一学生成绩管理系统设计一、问题描述某班有30个学生,每个学生的只要信息包含学号、姓名、各科(计算机、英语、数学等)成绩。要求通过让算机对这些数据信息进行管理,设计出一个学牛成绩管理系统。二、实验目的1、掌握线性表的基木运算(插入、删除、修改等)。2、述一步学习C语言程序设计方法与技巧。三、实验内容与要求学主信息表如下学号姓名计算机英语数学98032001李华85659798032002王平87709098032003张小娟76768898032004赵静95857698032030王海8990781、要求同学们首先
2、建立学牛的姓名、学号、课程表,将每个学牛的姓名、学号录入,成绩卜•来后根据学号将录入每人的成绩;2、班上若有退学或留级的,将删除该学生的信息;3、若有新插入本班的则将该学生的信息加到该表中;4、H常可能rh于各种原因需要浏览所有学牛的成绩信息,也有可能修改学生信息。5、以上所有的功能都是随机的。需要设计一个合理的输入输出界面或者功能菜单。四、相关算法与分析学生成绩管理系统设计主要涉及到的是数据结构屮线性表的相关知识,包括线性表的插入、删除、查找等基木运算,该实验正是课本中相关内容的综合。学生在实验中首先设计一个合理的输
3、入输出界血,然后将各种运算应用到程序中就对以。线性表的基本运算町以釆用顺序存储结构实现也町以采用链式存储结构实现。下面给出了设计的参考范例。#include"stdafx.h"include“stdlib.h”#include"string.h"#definemaxlen100typedefstructstudent{charname[10],no[10J;intmath,eng,comp;Jelemtype;/**********以下是线性表顺序存储结构的插入算法begin******//•1^/!・p*1*・,・p
4、<7^・p9T^・p・p・p・p・p・p9nJintinsert(elemtypea[],int*n,inti,elemtypex){intj;if(i*n){printf(uwheninsert,thepositionisinvalid");return0;}elseif(*n==maxlen・l){printf("thelistisfull!");return0;1elsefor(j=*n-l;j>=i;j-)a[j+l]=a[j];//元素后移alij=x;〃插入元素(*n)++;//表长加1
5、return1;/•匕•匕•匕•匕*1*•匕*1*•匕•匕*1*•匕•・•匕*1*•匕it•[、•[、•[、•T*f/*」』』」」」21H4114UUAlXI』』』』』」」」UXldlHUUAlXI11X1』」UUAlUM1XJ1XI」」dd丄」11UUUUUJXJ1XI」」dd』」11//TTTTTTTTTJTJTTT"冲TTTTTTTTTj[mJTjyTT丫厂冲TTTTTTjyyfjyTT丫厂“TT7TTTJTTT丫厂TT7T//IT11llTTllJJIlliIIIITTIIil1111TTllJJliftItI
6、ITT11uil111TllIIIlliitITTVIIllnuITit11rillIITTITHIIill!//**********线性表顺序存储结构的删除算法begn*********/Z//*•»TwrTwrTw・[•rTw*Y»»TwrT«rT>rTwrTwrTwrTwrTw*Y»・丫・»YwrTwrTwrTwrTwrT»rY»»TwrTwrTwriwrT»»Tw»TwrTwrTwfintdel(elemtypea[],int*n,inti)intj;if(i<0lli>*n-l)printf(nwhend
7、el,thepositionisinvalid!11);return0;}elsefor(j=i+1;j<=*n-1;j++)a
8、j-l]=a[j];//元素前移;(*n)-;return1;/**********线性农顺序存储结构的删除算法end*********///主函数如下:main(){elemtypestu[maxlen],x;inti,sel,p,q;int*len,temp;charkch[10];printf("1初始化”);printfC12录入成绩“);printf(H3插入”
9、);printfC14删除”);printf(H5修改”);printfC*6显示”);printf(H0退出”);len二&temp;*len=-l;do{printf(uInputyourchoice:");scanf(°%du,&sel);getchar();switch(sel){case1:print