-
大小: 4KB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2021-05-06
- 語(yǔ)言: 其他
- 標(biāo)簽:
資源簡(jiǎn)介
這個(gè)程序包括學(xué)生成績(jī)的基本功能,初始化,創(chuàng)建,插入,刪除,修改,顯示,排序之類的

代碼片段和文件信息
#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(“請(qǐng)輸入需要?jiǎng)?chuàng)建的學(xué)生數(shù)據(jù)個(gè)數(shù):“);
scanf(“%d“&maxsize);
initsqlist(&Lmaxsize);
printf(“初始化完成,按任意鍵繼續(xù)\n“);
getch();
break;
case?2:
printf(“請(qǐng)輸入需要插入的學(xué)生姓名、成績(jī),空格隔開\n“);
scanf(“%s%f“s.name&s.score);
printf(“請(qǐng)輸入需要插入的位置(1-%d):“l(fā)engthsqlist(L));
scanf(“%d“&i);
insertsqlist(&Lis);
printf(“插入完成,按任意鍵繼續(xù)\n“);
getch();
break;
case?3:
printf(“請(qǐng)輸入需要?jiǎng)h除的學(xué)生姓名:“);
scanf(“%s“s.name);
n=locatesqlist(Ls);
if(n==L.length+1)
printf(“沒(méi)有該數(shù)據(jù)“);
else
{
deletesqlist(&Ln&s);
printf(“刪除的學(xué)生數(shù)據(jù)為姓名:%-10s成績(jī):%5.2f“s.names.score);
}
printf(“刪除完成,按任意鍵繼續(xù)\n“);
getch();
break;
case?4:
printf(“*****所有學(xué)生數(shù)據(jù)*****\n“);
dispsqlist(L);
printf(“按任意鍵繼續(xù)\n“);
getch();
break;
case?5:
printf(“請(qǐng)輸入需要更新的學(xué)生姓名、成績(jī),空格隔開\n“);
scanf(“%s%f“s.name&s.score);
n=locatesqlist(Ls);
if(n==L.length+1)
printf(“沒(méi)有該數(shù)據(jù)\n“);
updatesqlist(&Lns);
printf(“更新完成,按任意鍵繼續(xù)\n“);
getch();
break;
case?6:
ranksqlist(&L);
printf(“排序完成,按任意鍵繼續(xù)\n“);
getch();
break;
case?0:
t=0;
break;
default:
printf(“輸入有誤\n“);
printf(“按任意鍵繼續(xù)\n“);
getch();
}
}
}
int?menu()
{
int?n;
system(“cls“);
printf(“******歡迎使用新生成績(jī)管理系統(tǒng)******\n“);
printf(“1、初始化新生數(shù)據(jù)??2、插入新生數(shù)據(jù)\n“);
printf(“3、刪除新生數(shù)據(jù)????4、顯示新生數(shù)據(jù)\n“);
printf(“5、更新新生數(shù)據(jù)????6、按成績(jī)重新排序\n“);
printf(“0、退出\n“);
printf(“*************************************\n“);
printf(“請(qǐng)選擇功能編號(hào):“);
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(“沒(méi)有空間,不能插入\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(“沒(méi)有數(shù)據(jù),不能刪除\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(“沒(méi)有數(shù)據(jù)\n“);
return?0;
}
for(k=1;k<=L.length;k++)
if(strcmp(L.data[k-1].namex.name)==0)
break;
return
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????4066??2018-11-23?15:40??董艷法-學(xué)生管理系統(tǒng)(順序表).cpp
評(píng)論
共有 條評(píng)論