简单学生信息管理系统源代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六线性结构
【实验目的】
1.学会定义线性表的顺序存储结构和单链表存储结构
2.熟悉顺序表、单链表的基本操作和具体的函数定义
3.学会线性表的应用
【实验内容】
⒈简单学生信息管理系统
实现一个简单的学生信息管理系统。

学生的主要信息包括学号、姓名、年龄、语文、数学、英语成绩;其上能完成添加、删除、查找、显示等基
本功能;分别用顺序表、链表方式实现。

编写程序如下:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
struct student
{
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",&st[i].id);
fflush(stdin);
printf("\n请输入姓名:");
gets(st[i].name);
printf("\n") ;
printf("请输入年龄:");
scanf("%d",&st[i].age);
fflush(stdin);
printf("\n请输入英语:");
scanf("%d",st[i].english);
fflush(stdin);
printf("\n请输入数学:");
scanf("%d",st[i].math);
printf("\n请输入语文:");
scanf("%d",&st[i].chinese);
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("\t学号\t姓名\t年龄\t英语\t数学\t\t语文\t籍贯\n");
for(j=0;j<i;j++)
printf("\t%d\t%s\t%d\t%d\t%d\t%d\t%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;j<i;j++)
{
for(k=0;k<i-1-j;k++)
{
if(st[k].age<st[k+1].age)
{
temp=st[k].age;
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<i;m++)
{
if(strcmp(name,st[m].name)==0)
{
printf("\n\t您查找的学生在第%d个位置找到了!!!\n",m+1);
break;
}
}
if(m>=20)
printf("\n\t没有找到这个学生!!!\n");
else
{
printf("\t学号\t姓名\t年龄\t英语\t数学\t\t语文\t籍贯\n");
printf("\t%d\t%s\t%d\t%d\t%d\t%d\t%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;a<i;a++)
{
if(strcmp(name,st[a].name)==0)
break;
}
for(b=a;b<i;b++)
st[b]=st[b+1];
if(a>i)
printf("\t没有找到这个学生!!!\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("\t\t一:输入学生信息\n");
printf("\t\t二:显示学生信息\n");
printf("\t\t三:查找学生信息\n");
printf("\t\t四:删除学生信息\n");
printf("\t\t五:插入学生信息\n");
printf("\t\t六:退出程序\n");
fflush(stdin);
printf("\t\t请输入功能选项:");
scanf("%d",&change);
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); }。

相关文档
最新文档