資源簡介
設計一個包含學生基本信息(學號,姓名,成績)的順序表,編程完成如下功能:
⑴ 初始化順序表 L: 根據用戶指定的學生數,逐個輸入學生信息;
⑵ 打印表中所有學生信息: 逐個顯示表中所有學生的基本信息;
⑶ 判斷 L 是否為空表;
⑷ 查找指定學生: 根據姓名進行查找, 返回學生的位序,并輸出學生的學號和成績;
⑸ 根據指定的位置, 返回并輸出相應學生的基本信息;
⑹ 給定一個學生信息, 將其插入到表中指定的位置;
⑺ 刪除指定位置的學生記錄;
⑻ 統計表中學生個數(求表長度);
⑼ 銷毀表 L;
以上為必做題, 下面為附加題(選做) 。
⑽ 建立兩個有序(學號) 的學生順序表 La 和 Lb: 分別向順序表 La 和 Lb 逐個輸入 m 個
和 n 個學生的信息(并不一定按學號大小順序輸入);
⑾ 打印表 La 和 Lb 中的學生信息;
⑿ 將 La 和 Lb 歸并為新的有序表 Lc;
⒀ 打印表 Lc 中的學生信息;
⒁ 銷毀順序表 La、 Lb 和 Lc。
其他要求:
⑴ 將所需要的標準頭文件以及一些符號常量的定義等放在 Common.h 頭文件中;
⑵ 順序表類型定義( 采用定義二) 和基本操作函數聲明放在 Sqlist.h 頭文件中;
⑶ 基本操作函數的實現放在 Sqlist.cpp 文件中;
⑷ 測試應用程序放在 SqlistTestApp.cpp 文件中( 可以任意重復測試) 。

代碼片段和文件信息
#include“common.h“
#include“Sqlist.h“
void?print()
{
printf(“************************************\n“);
printf(“*??0.輸出選項??????????????????????*\n“);
printf(“*??1.請按順序輸入n個學生的信息?????*\n“);
printf(“*??2.顯示所有學生的信息????????????*\n“);
printf(“*??3.判斷該表是否為空表????????????*\n“);
printf(“*??4.輸入學生姓名,查找該學生的信息*\n“);
printf(“*??5.輸入位置,顯示該學生信息??????*\n“);
printf(“*??6.添加學生信息??????????????????*\n“);
printf(“*??7.刪除學生信息??????????????????*\n“);
printf(“*??8.計算學生個數??????????????????*\n“);
printf(“*??9.銷毀表????????????????????????*\n“);
printf(“*??10.分別輸入學生表La和Lb?????????*\n“);
printf(“*??11.分別輸出學生表La和Lb的信息???*\n“);
printf(“*??12.將La和Lb歸并有序表Lc?????????*\n“);
printf(“*??13.輸出Lc的信息?????????????????*\n“);
printf(“*??14.銷毀LaLbLc?????????????????*\n“);
printf(“*??其他:輸出選項??????????????????*\n“);
printf(“************************************\n“);
}
void?InitList(Sqlist?&L)
{
int?ijtemi;
double?temd;
char?str1[100];
printf(“請輸入錄入學生信息的個數:“);
scanf(“%d“&L.length);
for(i=0;i {
printf(“請輸入該同學學號:“);
????scanf(“%d“&L.a[i].xuehao);
printf(“請輸入該同學姓名:“);
scanf(“%s“&L.a[i].name);
printf(“請輸入該同學分數:“);
scanf(“%lf“&L.a[i].fenshu);
printf(“\n“);
}
for(i=0;i {
for(j=i+1;j {
if(L.a[i].xuehao>L.a[j].xuehao)
{
temi=L.a[i].xuehao;
L.a[i].xuehao=L.a[j].xuehao;
L.a[j].xuehao=temi;
strcpy(str1L.a[i].name);
strcpy(L.a[i].nameL.a[j].name);
strcpy(L.a[j].namestr1);
temd=L.a[i].fenshu;
L.a[i].fenshu=L.a[j].fenshu;
L.a[j].fenshu=temd;
}
}
}
printf(“已完成錄入\n“);
}
void?InitList(Sqlist?L1Sqlist?L2Sqlist?&L3)
{
int?ijk=0temi;
double?temd;
char?str1[100];
L3.length=L1.length+L2.length;
for(i=0;i {
L3.a[k].xuehao=L1.a[i].xuehao;
????strcpy(L3.a[k].nameL1.a[i].name);
????L3.a[k].fenshu=L1.a[i].fenshu;
k++;
}
for(i=0;i {
L3.a[k].xuehao=L2.a[i].xuehao;
????strcpy(L3.a[k].nameL2.a[i].name);
????L3.a[k].fenshu=L2.a[i].fenshu;
k++;
}
for(i=0;i {
for(j=i+1;j {
if(L3.a[i].xuehao>L3.a[j].xuehao)
{
temi=L3.a[i].xuehao;
L3.a[i].xuehao=L3.a[j].xuehao;
L3.a[j].xuehao=temi;
strcpy(str1L3.a[i].name);
strcpy(L3.a[i].nameL3.a[j].name);
strcpy(L3.a[j].namestr1);
temd=L3.a[i].fenshu;
L3.a[i].fenshu=L3.a[j].fenshu;
L3.a[j].fenshu=temd;
}
}
}
printf(“成功歸入Lc!“);
}
void?DispList(Sqlist?&L)
{
int?i;
if(L.length==0)?printf(“該表已空!\n“);
for(i=0;i {
printf(“學號:%d????“L.a[i].xuehao);
printf(“姓名:%s????“L.a[i].name);
printf(“成績:%.1lf“L.a[i].fenshu);
printf(“\n“);
}
}
void?Panduan(Sqlist?&L)
{
if(L.length==0)?printf(“該表為空表!\n“);
printf(“該表不為空表\n“);
}
void?Findname(Sqlist?&Lchar?str[])
{
int?i;
for(i=0;i {
if(strcmp(strL.a[i].name)==0)
{
printf(“該同是%d名???“i+1);
printf(“學號:%d???
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-04-14?14:42??順序表\
?????目錄???????????0??2016-04-14?14:42??順序表\Debug\
?????文件???????31283??2015-12-22?11:37??順序表\Debug\Sqlist.obj
?????文件???????16926??2015-12-22?11:27??順序表\Debug\SqlistTestApp.obj
?????文件???????13838??2015-10-03?17:02??順序表\Debug\function.obj
?????文件???????99328??2015-12-22?11:37??順序表\Debug\vc60.idb
?????文件??????102400??2015-12-22?11:30??順序表\Debug\vc60.pdb
?????文件??????282692??2015-12-22?11:28??順序表\Debug\順序表.exe
?????文件??????392184??2015-12-22?11:28??順序表\Debug\順序表.ilk
?????文件?????1999088??2015-12-22?11:26??順序表\Debug\順序表.pch
?????文件??????607232??2015-12-22?11:28??順序表\Debug\順序表.pdb
?????文件????????4799??2015-12-22?11:30??順序表\Sqlist.cpp
?????文件?????????636??2015-12-22?11:26??順序表\Sqlist.h
?????文件????????1374??2015-09-30?12:35??順序表\SqlistTestApp.cpp
?????文件??????????95??2015-09-29?22:20??順序表\common.h
?????文件????????4476??2015-09-29?22:25??順序表\順序表.dsp
?????文件?????????520??2015-09-29?22:25??順序表\順序表.dsw
?????文件???????66560??2015-12-22?11:38??順序表\順序表.ncb
?????文件???????49664??2015-12-22?11:38??順序表\順序表.opt
?????文件?????????712??2015-12-22?11:37??順序表\順序表.plg
- 上一篇:oracle 存儲過程
- 下一篇:最新最全SQL2008存儲過程解密
評論
共有 條評論