数据结构实验报告(一)学生信息管理系统

您所在的位置:网站首页 数据结构与算法实验报告总结 数据结构实验报告(一)学生信息管理系统

数据结构实验报告(一)学生信息管理系统

2024-07-10 15:47| 来源: 网络整理| 查看: 265

大二计算机学生报告的汇总 进入计算机专业以来每天的必要工作就是写报告,按照老师的话来说,我们计算机专业的学生经过长时间的训练,以后出去写代码就跟喝水一样简单.在这里我将发表部分我写的报告,仅以此怀念我的大二时光.(报告写的不好.仅供欣赏) 报告汇总之c语言数据结构报告篇(一) 学生信息管理系统 代码区

代码说明:此代码所运用的软件是ios系统的x-code

#include #include #include int sum; //创建一个学生的信息结构体 typedef struct student{ long id; char name[64]; float grade; }s; //定义顺序表 typedef struct { s* student; int length; }SqList; //构造空顺序表 int CreatStudent(SqList*L){ L->student=(s*)malloc(sizeof(s)); if (L->student==NULL) return 0; else { L->length=0; return 1; } } //录入基础学生信息和需要插入的学生信息 void GetStudent(SqList*L,int i){ printf("请输入学生的学号:"); scanf("%ld",&L->student[i].id); printf("请输入学生的姓名:"); scanf("%s",L->student[i].name); printf("请输入学生的成绩:"); scanf("%f",&L->student[i].grade); L->length++; } void jiaohuan(SqList*L,int i); //打印学生信息 void PrintStudent(SqList*L,int i) { printf("%ld\n%s\n%.3f\n\n",L->student[i].id,L->student[i].name,L->student[i].grade); } //查找指定的学生信息 void FindStudent (SqList*L) { int n; printf("请输入查找方式:\n0=学号查找\n1=存储位置查找");//查找方式的选择 scanf("%d",&n); printf("请输入需要查找学生的信息:"); switch (n) { case 0: { long number;//输入需要查找的学生学号 scanf("%ld",&number); for (int i=0;ilength;i++) { if (number==L->student[i].id) PrintStudent(L,i);//打印出查找到的学神信息 } break; } case 1: { int number; scanf("%d",&number);//输入需要查找的学生位置 PrintStudent(L,number-1); break; } default: printf("您输入的查找方式有误请确认后再操作"); break; } } //删除指定的学生信息 void DeletStudent (SqList*L,int i) { if(isum) printf("输入信息有误"); else { for (int m=i-1;mstudent[m]=L->student[m+1]; } //删除 sum--; L->length--; } } //更新表中的学生信息 void ReGetStudent (SqList*L) { int p; printf("请输入需要更新的位置:"); scanf("%d",&p); GetStudent(L, p-1); } void charu(SqList* L) { printf("请输入需要插入的位置:"); int p; scanf("%d",&p); GetStudent(L, sum); sum++; for (int i=sum-1;i>p-1;i--) jiaohuan(L,i); } void jiaohuan(SqList*L,int i) { long a; a=L->student[i-1].id; L->student[i-1].id=L->student[i].id; L->student[i].id=a; char b[64]; strcpy(b, L->student[i-1].name); strcpy(L->student[i-1].name,L->student[i].name); strcpy(L->student[i].name, b); float c; c=L->student[i-1].grade; L->student[i-1].grade=L->student[i].grade; L->student[i].grade=c; } void paixu (SqList*L) { printf("请输入排序的要求:0代表学号;1代表成绩"); int m; scanf("%d",&m); switch (m) { case 0: while (1) { int f=0,q=0; f=q; for (int i=0;istudent[i].id>L->student[i+1].id) { jiaohuan(L, i+1); f=1; } else f=0; if (f==0) break; } break; case 1: while (1) { int f=0,q=0; f=q; for (int i=0;istudent[i].grade>L->student[i+1].grade) { jiaohuan(L, i+1); f++; } if (f==q) break; } break; } } void qingkong (SqList*L) { L->length=0;sum=0; printf("所有数据已经清空"); } int main() { SqList *text=(SqList*)malloc(sizeof(SqList)*10000); //为text划分存储空间 CreatStudent(text); printf("共有多少名学生:"); //录入基础有多少学生 scanf("%d",&sum); text->length=0; for (int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3