资源描述:
《数据结构与软件方法实验指导书.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验一学生成绩管理系统设计一、问题描述某班有30个学生,每个学生的只要信息包含学号、姓名、各科(计算机、英语、数学等)成绩。要求通过计算机对这些数据信息进行管理,设计出一个学生成绩管理系统。二、实验目的1、掌握线性表的基本运算(插入、删除、修改等)。2、进一步学习C语言程序设计方法与技巧。三、实验内容与要求学生信息表如下学号姓名计算机英语数学李华856597王平877090张小娟767688赵静958576…………………………王海8990781、要求同学们首先建立学生的姓名、学号、课程表,将每个学生的姓名、学号录入,成绩下来后根据学号
2、将录入每人的成绩;2、班上若有退学或留级的,将删除该学生的信息;3、若有新插入本班的则将该学生的信息加到该表中;4、日常可能由于各种原因需要浏览所有学生的成绩信息,也有可能修改学生信息。5、以上所有的功能都是随机的。需要设计一个合理的输入输出界面或者功能菜单。四、相关算法与分析学生成绩管理系统设计主要涉及到的是数据结构中线性表的相关知识,包括线性表的插入、删除、查找等基本运算,该实验正是课本中相关内容的综合。学生在实验中首先设计一个合理的输入输出界面,然后将各种运算应用到程序中就可以。线性表的基本运算可以采用顺序存储结构实现也可以采用
3、链式存储结构实现。下面给出了设计的参考范例。#include"stdafx.h"#include"stdlib.h"#include"string.h"#definemaxlen100typedefstructstudent{charname[10],no[10];intmath,eng,comp;}elemtype;/*******************************************************//**********以下是线性表顺序存储结构的插入算法begin******//************
4、*******************************************/intinsert(elemtypea[],int*n,inti,elemtypex){intj;if(i<0
5、
6、i>*n){printf("wheninsert,thepositionisinvalid");return0;}elseif(*n==maxlen-1){printf("thelistisfull!");return0;}else{for(j=*n-1;j>=i;j--)a[j+1]=a[j];//元素后移a[i]=x;//插
7、入元素(*n)++;//表长加1return1;}}/****************************************************//**********线性表顺序存储结构的插入算法end***********//****************************************************//*###################################################//**********线性表顺序存储结构的删除算法begin*********//*
8、***************************************************/intdel(elemtypea[],int*n,inti){intj;if(i<0
9、
10、i>*n-1){printf("whendel,thepositionisinvalid!");return0;}else{for(j=i+1;j<=*n-1;j++)a[j-1]=a[j];//元素前移;(*n)--;return1;}}/***************************************************
11、*//**********线性表顺序存储结构的删除算法end*********//****************************************************///主函数如下:main(){elemtypestu[maxlen],x;inti,sel,p,q;int*len,temp;charkch[10];printf("1-------------初始化");printf("2-------------录入成绩");printf("3-------------插入");printf(
12、"4-------------删除");printf("5-------------修改");printf("6-------------显示");printf("0-------------退出");l