资源简介
这个程序包括学生成绩的基本功能,初始化,创建,插入,删除,修改,显示,排序之类的
代码片段和文件信息
#include “stdio.h“
#include “stdlib.h“
#include “string.h“
#include “conio.h“
typedef struct{
char name[20];
float score;
}STD;
typedef struct{
STD *data;
int length;
int listsize;
}sqlist;
int menu();
int initsqlist(sqlist *Lint max);
int insertsqlist(sqlist *Lint iSTD x);
int deletesqlist(sqlist *Lint iSTD *x);
int locatesqlist(sqlist LSTD x);
int dispsqlist(sqlist L);
int updatesqlist(sqlist *Lint iSTD x);
int lengthsqlist(sqlist L);
int ranksqlist(sqlist *L);
void main()
{
int nit=1maxsize;
STD s;
sqlist L;
while(t)
{
n=menu();
switch(n)
{
case 1:
printf(“请输入需要创建的学生数据个数:“);
scanf(“%d“&maxsize);
initsqlist(&Lmaxsize);
printf(“初始化完成,按任意键继续\n“);
getch();
break;
case 2:
printf(“请输入需要插入的学生姓名、成绩,空格隔开\n“);
scanf(“%s%f“s.name&s.score);
printf(“请输入需要插入的位置(1-%d):“lengthsqlist(L));
scanf(“%d“&i);
insertsqlist(&Lis);
printf(“插入完成,按任意键继续\n“);
getch();
break;
case 3:
printf(“请输入需要删除的学生姓名:“);
scanf(“%s“s.name);
n=locatesqlist(Ls);
if(n==L.length+1)
printf(“没有该数据“);
else
{
deletesqlist(&Ln&s);
printf(“删除的学生数据为姓名:%-10s成绩:%5.2f“s.names.score);
}
printf(“删除完成,按任意键继续\n“);
getch();
break;
case 4:
printf(“*****所有学生数据*****\n“);
dispsqlist(L);
printf(“按任意键继续\n“);
getch();
break;
case 5:
printf(“请输入需要更新的学生姓名、成绩,空格隔开\n“);
scanf(“%s%f“s.name&s.score);
n=locatesqlist(Ls);
if(n==L.length+1)
printf(“没有该数据\n“);
updatesqlist(&Lns);
printf(“更新完成,按任意键继续\n“);
getch();
break;
case 6:
ranksqlist(&L);
printf(“排序完成,按任意键继续\n“);
getch();
break;
case 0:
t=0;
break;
default:
printf(“输入有误\n“);
printf(“按任意键继续\n“);
getch();
}
}
}
int menu()
{
int n;
system(“cls“);
printf(“******欢迎使用新生成绩管理系统******\n“);
printf(“1、初始化新生数据 2、插入新生数据\n“);
printf(“3、删除新生数据 4、显示新生数据\n“);
printf(“5、更新新生数据 6、按成绩重新排序\n“);
printf(“0、退出\n“);
printf(“*************************************\n“);
printf(“请选择功能编号:“);
scanf(“%d“&n);
getchar();
return n;
}
int initsqlist(sqlist *Lint max)
{
L->data=(STD *)malloc(max*sizeof(STD));
if(L->data==NULL)
{
printf(“分配失败\n“);
return 0;
}
L->length=0;
L->listsize=max;
return 1;
}
int insertsqlist(sqlist *Lint iSTD x)
{
int k;
if(L->length>=L->listsize)
{
printf(“没有空间,不能插入\n“);
return 0;
}
for(k=L->length;k>=i;k--)
L->data[k]=L->data[k-1];
L->data[i-1]=x;
++L->length;
return 1;
}
int deletesqlist(sqlist *Lint iSTD *x)
{
int k;
if(L->length==0)
{
printf(“没有数据,不能删除\n“);
return 0;
}
(*x)=L->data[i-1];
for(k=i;k<=L->length;k++)
L->data[k-1]=L->data[k];
--L->length;
return 1;
}
int locatesqlist(sqlist LSTD x)
{
int k;
if(L.length==0)
{
printf(“没有数据\n“);
return 0;
}
for(k=1;k<=L.length;k++)
if(strcmp(L.data[k-1].namex.name)==0)
break;
return
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4066 2018-11-23 15:40 董艳法-学生管理系统(顺序表).cpp
- 上一篇:libffmpeg.so动态库
- 下一篇:3dtiles实验数据
评论
共有 条评论