【实验目的】
1.学会定义线性表的顺序存储结构和单链表存储结构 2.熟悉顺序表、单链表的基本操作和具体的函数定义 3.学会线性表的应用
【实验内容】
⒈简单学生信息管理系统
实现一个简单的学生信息管理系统。学生的主要信息包括学号、姓名、年龄、语文、数学、英语成绩;其上能完成添加、删除、查找、显示等基本功能;分别用顺序表、链表方式实现。 编写程序如下:
#include int id; char name[10]; int age; int english[10]; int math[20]; int chinese; char nativeplace[50]; }st[50]; int i=0; void shuru() { char a; do{ printf(\"\\n请输入学号:\"); scanf(\"%d\ fflush(stdin); printf(\"\\n请输入姓名:\"); gets(st[i].name); printf(\"\\n\") ; printf(\"请输入年龄:\"); scanf(\"%d\ fflush(stdin); printf(\"\\n请输入英语:\"); scanf(\"%d\ fflush(stdin); printf(\"\\n请输入数学:\"); scanf(\"%d\ printf(\"\\n请输入语文:\"); scanf(\"%d\ fflush(stdin); printf(\"\\n请输入籍贯:\"); gets(st[i].nativeplace); printf(\"\\n是否继续输入另外一个学生信息?(y/n)\"); fflush(stdin); a=getchar(); i++; } while(a=='y' && i<=50); } void xianshi() { int j; printf(\"\学号\姓名\年龄\英语\数学\\语文\籍贯\\n\"); for(j=0;jprintf(\"\%d\%s\%d\%d\%d\%d\%s\\n\ st[j].id,st[j].name,st[j].age,st[j].english,st[j].math,st[j].chinese,st[j].nativeplace); } void paixu() //按年龄从大到小排序函数 { int j,k; int temp; for(j=0;jfor(k=0;k st[k].age=st[k+1].age; st[k+1].age=temp; } } } xianshi(); //排序后输出 } void chazhao() { int m,j; char name[20],b; do { printf(\"\\n请输入想查找的学生姓名:\"); fflush(stdin); gets(name); for(m=0;m{ if(strcmp(name,st[m].name)==0) { printf(\"\\n\您查找的学生在第%d个位置找到了!!!\\n\ break; } } if(m>=20) printf(\"\\n\没有找到这个学生!!!\\n\"); else { printf(\"\学号\姓名\年龄\英语\数学\\语文\籍贯\\n\"); printf(\"\%d\%s\%d\%d\%d\%d\%s\\n\ st[j].id,st[j].name,st[j].age,st[j].english,st[j].math,st[j].chinese,st[j].nativeplace); } printf(\"\\n是否查找另一个学生的信息?(y/n)\"); fflush(stdin); b=getchar(); }while(b=='y'); } void shanchu() { char name[20],c; int a,b; do { printf(\"\\n请输入要删除的学生姓名:\\n\"); fflush(stdin); gets(name); for(a=0;aif(strcmp(name,st[a].name)==0) break; } for(b=a;bst[b]=st[b+1]; if(a>i) printf(\"\没有找到这个学生!!!\\n\"); else { i--; xianshi(); } printf(\"\\n是否继续删除另一个学生信息?(y/n) \"); fflush(stdin); c=getchar(); }while(c=='y'); } void charu() { shuru(); paixu(); } void main() //主函数 { int change; do{ system(\"cls\"); printf(\"============================学生===================================\\n\"); printf(\"\\一: 输入学生信息\\n\"); printf(\"\\二: 显示学生信息\\n\"); printf(\"\\三: 查找学生信息\\n\"); printf(\"\\四: 删除学生信息\\n\"); printf(\"\\五: 插入学生信息\\n\"); printf(\"\\六: 退出程序\\n\"); fflush(stdin); printf(\"\\请输入功能选项:\"); scanf(\"%d\switch(change) { case 1: 信息管理系统 shuru(); break; case 2: xianshi(); break; case 3: chazhao(); break; case 4: shanchu(); break; case 5: charu(); break; case 6: break; } getch(); }while(change!=6); } 因篇幅问题不能全部显示,请点此查看更多更全内容