-
大小: 129KB文件類(lèi)型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-18
- 語(yǔ)言: 其他
- 標(biāo)簽: 數(shù)據(jù)結(jié)構(gòu)??文件讀入??
資源簡(jiǎn)介
再給同學(xué)們呈上我大二時(shí)的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),完全又本人完成,無(wú)雷同版。題目為宿舍管理系統(tǒng),里面有詳細(xì)代碼和分工,包括文件操作,代碼風(fēng)格清晰,有注釋?zhuān)瑑H供參考。

代碼片段和文件信息
#include?
#include?
#include?
typedef?struct?Stu?{
????char?stuNo[20];
????char?stuName[20];
????char?dormNo[10];??//宿舍號(hào)
????char?stuAge[3];
????char?stuSex[3];
????char?stuNative[20];
????char?stuMajor[20];//專(zhuān)業(yè)
}Stu;
/*********************************************
?*????用來(lái)存放數(shù)據(jù)文件的目錄
?*
?*/
char?routeStu[]?=?“E:\\課程設(shè)計(jì)\\Data\\stuData“;
char?routeStuNum[]?=?“E:\\課程設(shè)計(jì)\\Data\\stuNum“;
char?routeSq[]?=?“E:\\課程設(shè)計(jì)\\Data\\sq“;?????//標(biāo)記信息
/********************************************/
void?Swap(Stu?&a?Stu?&b?int?flag)
{
????/**
?????*??此函數(shù)實(shí)現(xiàn)兩個(gè)結(jié)構(gòu)體進(jìn)行交換??用于排序和插入操作中
?????*??flag?有三個(gè)值?1??2??3
?????*??flag?==?1?時(shí)進(jìn)行學(xué)號(hào)比較并交換
?????*??flag?==?2?時(shí)進(jìn)行姓名比較并交換
?????*??flag?==?3?時(shí)進(jìn)行宿舍號(hào)比較并交換
?????*/
????Stu?temp;???????//結(jié)構(gòu)體交換臨時(shí)變量
????if?(flag?==?1)
????{
????????if?(strcmp(a.stuNo?b.stuNo)?>?0)?{
????????????temp?=?a;
????????????a?=?b;
????????????b?=?temp;
????????}
????}
????else?if?(flag?==?2)
????{
????????if?(strcmp(a.stuName?b.stuName)?>?0)?{
????????????temp?=?a;
????????????a?=?b;
????????????b?=?temp;
????????}
????}
????else
????{
????????if?(strcmp(a.dormNo?b.dormNo)?>?0)
????????{
????????????temp?=?a;
????????????a?=?b;
????????????b?=?temp;
????????}
????????else?if(strcmp(a.dormNo?b.dormNo)==0?&&?strcmp(a.stuNo?b.stuNo)>0)
????????{
????????????temp?=?a;
????????????a?=?b;
????????????b?=?temp;
????????}
????}
}
void?InsertStu(Stu?stu[]?int?stuNum?Stu?&stuTemp?int?flag)
{
????/**
?????*??功能:接受要插入學(xué)生信息?并按指定順序插入
?????*??st[]?成員結(jié)構(gòu)體數(shù)組
?????*??stuNum??學(xué)生人數(shù)
?????*??stuTemp?要插入學(xué)生結(jié)構(gòu)體
?????*??flag?按何種順序插入
?????*??flag?==?1?學(xué)號(hào)
?????*??flag?==?2?姓名
?????*??flag?==?3?宿舍號(hào)
?????*??說(shuō)明:此函數(shù)可需調(diào)用?Swap(Stu?&a?Stu?&b?int?flag)???函數(shù)
?????*/
????stu[stuNum]?=?stuTemp;
????for?(int?i=stuNum;?i>0;?i--)
????{
????????Swap(stu[i-1]?stu[i]?flag);
????}
}
/****************************************************/
void?OutStuInfo(Stu?stu[]?int?m)
{
????/**
?????*??功能:輸出學(xué)生信息?并進(jìn)行簡(jiǎn)單排版
?????*??stu[]???結(jié)構(gòu)體數(shù)組
?????*??m???要輸出學(xué)生結(jié)構(gòu)體下標(biāo)
?????*/
????//printf(“***********************************************************************\n“);
????//printf(“*??學(xué)號(hào)????????姓名??????性別?年齡?籍貫????????專(zhuān)業(yè)???????????宿舍號(hào)??*\n“);
????printf(“*?????????????????????????????????????????????????????????????????????*\n“);
????printf(“*??%-12s“?stu[m].stuNo);
????printf(“%-10s“?stu[m].stuName);
????printf(“%-5s“?stu[m].stuSex);
????printf(“%-5s“?stu[m].stuAge);
????printf(“%-12s“?stu[m].stuNative);
????printf(“%-15s“?stu[m].stuMajor);
????printf(“%-8s“?stu[m].dormNo);
????printf(“*\n“);
}
void?OutDormInfo(Stu?stu[]?int?m)
{
????/**
?????*??輸出宿舍成員信息?接收一成員?stu[m]
?????*??按學(xué)號(hào)順序輸出該宿舍所有成員信息
?????*??并進(jìn)行簡(jiǎn)單排版
?????*/
????int?min?=?m?max?=?m;
????while?(strcmp(stu[min-1].dormNo?stu[min].dormNo)?==?0)
????????min--;
????while?(strcmp(stu[max+1].dormNo?stu[max].dormNo)?==?0)
????????max++;
????printf(“\n該宿舍人數(shù)為?%d\n“?max-min+1);
????printf(“*************
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件??????????4??2011-06-13?08:35??課程設(shè)計(jì)\Data\sq
?????文件????????576??2011-06-13?08:35??課程設(shè)計(jì)\Data\stuData
?????文件??????????4??2011-06-13?08:35??課程設(shè)計(jì)\Data\stuNum
?????文件??????????0??2012-06-11?10:35??課程設(shè)計(jì)\將此文件夾放于E盤(pán).txt
?????文件?????511452??2011-06-24?08:16??課程設(shè)計(jì)\數(shù)?據(jù)?結(jié)?構(gòu).doc
?????文件??????30492??2011-06-13?08:34??課程設(shè)計(jì)\源文件.cpp
?????文件??????30402??2011-06-13?08:27??課程設(shè)計(jì)\源程序.exe
?????目錄??????????0??2011-06-13?08:01??課程設(shè)計(jì)\Data
?????目錄??????????0??2012-06-11?10:36??課程設(shè)計(jì)
-----------?---------??----------?-----??----
???????????????572930????????????????????9
評(píng)論
共有 條評(píng)論