数据结构_顺序表综合实例(学生管理系统)

更新时间:2024-07-08 23:17:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

/*------数据结构之线性表--------------- 名称:线性表的链式存储实例 语言:C语言 敲者:C.ROOKIE

邮箱:MG_TCCX@126.COM Q Q:2424488418

日期:2012.11.09 (06:41) 目的:再次复习数据结构 心情:

实例:数据结构线性表综合实例.. 实现学生管理系统.. --------------------------------------*/ /*这是一个顺序表实现的。。还有很多功能没实现。。VC++6.0编译通过*/ #include #include #include #include

/*学生信息结构体定义*/ typedef struct{ int stuno; char name[10]; int score; int age; }Student;

#define MaxSize 100 typedef struct{ Student data[MaxSize]; int length; }SqList;

/*菜单选项功能实现函数*/ void menu();

/*输入学生数据声明*/ Student Create_List(); /*输出学生数据声明*/

void Print_List(SqList L,int i); /*查询学生数据声明*/ int Locate_List(SqList L); /*添加学生数据声明*/

SqList Insert_List(SqList L); /*删除学生数据声明*/

SqList Delete_List(SqList L);

/*主函数*/ int main() { int n; SqList L; // Student S; L.length=0; menu(); scanf(\ while(n) { switch(n) {

case 0: printf(\退出程序 return 0; case 1: printf(\查找学生信息 Locate_List(L); getch(); break; case 2: printf(\添加学生信息 L=Insert_List(L); break; case 3: printf(\删除学生信息 L=Delete_List(L); break; default:printf(\请重新输入.\\n\ } getch(); menu(); scanf(\ } printf(\ return 0; }

/*输入学生数据函数定义*/ Student Create_List() { Student S;

printf(\学号:\ scanf(\ printf(\姓名:\ scanf(\

printf(\成绩:\ scanf(\ printf(\年龄:\ scanf(\ return S; }

/*输出学生数据函数定义*/ void Print_List(SqList L,int i) { printf(\学号\\t姓名\\t成绩\\t年龄\\n\ printf(\ }

/*查询学生数据函数定义*/ int Locate_List(SqList L) { int n,i=0; char ch; printf(\请输入要查询的学号:\ scanf(\ while(i<=L.length) { if(n==L.data[i].stuno) { break; } i++; } if(n==L.data[i].stuno) { printf(\此学生存在.是否输出学生信息(Y/N):\ scanf(\这里必须是%s.. if(ch=='y') { Print_List(L,i); } else { return 0; } } else

{ printf(\此学生不存在.\\n\ } return 0; }

/*添加学生数据函数定义*/ SqList Insert_List(SqList L) { int i=0; Student S; i=L.length;

S=Create_List(); if(L.length==MaxSize) { printf(\表已满.不能插入.\\n\ return L; } while(S.stuno

/*删除学生数据声明*/

SqList Delete_List(SqList L) { int i=0,n=0; char ch; printf(\请输入要删除的学号:\ scanf(\ while(i<=L.length-1)

{ if(n==L.data[i].stuno) { break; } i++; } if(L.data[i].stuno==n) { printf(\查到此生.是否删除(Y/N):\ scanf(\ if(ch=='y') { for(;i<=L.length-1;i++) L.data[i]=L.data[i+1]; L.length--; printf(\删除成功.\\n\ } else { return L; } } else { printf(\次生不存在.\\n\ } return L; }

/*菜单选项功能实现函数*/ void menu() { system(\清屏 printf(\ printf(\ printf(\ C.ROOKIE(2012.11.09(06:41))\\n\ printf(\ printf(\退出 程序 |\\n\ printf(\查找学生信息 |\\n\ printf(\添加学生信息 |\\n\ printf(\删除学生信息 |\\n\ printf(\修改学生信息 |\\n\ printf(\所有学生信息 |\\n\

printf(\ printf(\请输入(0--5)的数字:\}

本文来源:https://www.bwwdw.com/article/x9f.html

Top