一、題目設(shè)計(jì)及其要求
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、做網(wǎng)站與策劃設(shè)計(jì),清苑網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:清苑等地區(qū)。清苑做網(wǎng)站價(jià)格咨詢:135182197921、題目:學(xué)生學(xué)籍管理系統(tǒng)
用數(shù)據(jù)文件存放學(xué)生的學(xué)籍,可對(duì)學(xué)生學(xué)籍進(jìn)行注冊(cè)、修改、查找、統(tǒng)計(jì)、學(xué)籍變化等操作。(用文件保存)
2、功能要求:
(1)系統(tǒng)以菜單方式工作;
(2)登記學(xué)生的學(xué)號(hào),姓名,性別,年齡,籍貫,學(xué)院,專業(yè),班級(jí);
(3)修改已知學(xué)號(hào)的學(xué)生信息;
(4)查找已知學(xué)號(hào)的學(xué)生信息;
(5)按學(xué)號(hào)和專業(yè)輸出學(xué)生籍貫表;
(6)查詢學(xué)生學(xué)籍變化,比如入學(xué),轉(zhuǎn)專業(yè),退學(xué),降級(jí),休學(xué),畢業(yè)。
二、設(shè)計(jì)平臺(tái)
Visual C++ 6.0
三、設(shè)計(jì)思路及過程
1、初步完成總體結(jié)構(gòu)設(shè)計(jì),主要運(yùn)用結(jié)構(gòu)體及函數(shù)調(diào)用的知識(shí)設(shè)計(jì)程序框架,根據(jù)功能確定函數(shù)個(gè)數(shù)及儲(chǔ)備每個(gè)功能所需的知識(shí);
2、創(chuàng)建工程,同時(shí)在工程路徑下創(chuàng)建記事本保存文件數(shù)據(jù),寫出程序的主要框架;
3、寫主函數(shù)以及被調(diào)用函數(shù),完成上述登記、修改、查找、輸出學(xué)生信息等功能;
4、調(diào)試代碼,不斷修改以達(dá)到運(yùn)行成功和取得最佳效果。
四、運(yùn)行結(jié)果
(1)系統(tǒng)以菜單方式工作
(2)登記學(xué)生的學(xué)號(hào)、姓名、性別、年齡、籍貫、學(xué)院、專業(yè)、班級(jí),并用文件保存
(3)修改已知學(xué)號(hào)的學(xué)生信息
(4)查找已知學(xué)號(hào)的學(xué)生信息
(5)按學(xué)號(hào)和專業(yè)輸出學(xué)生籍貫表
(6)查詢學(xué)生學(xué)籍變化,比如入學(xué)、轉(zhuǎn)專業(yè)、退學(xué)、降級(jí)、休學(xué)、畢業(yè)
(7)退出系統(tǒng)
五、程序代碼
#include#include#include//頭文件
#define LEN 20 //學(xué)號(hào)和姓名大字符數(shù),20
#define N 50 //大的學(xué)生人數(shù)
int M = 0;//當(dāng)前已經(jīng)有的學(xué)生數(shù)量
//函數(shù)聲明
void insert(); //錄入學(xué)生信息
void modify(); //修改學(xué)生信息
void search(); //查詢學(xué)生信息
void menu(); //主菜單函數(shù)
void save(); //保存學(xué)生信息
void jiguanbiao(); //輸出學(xué)生籍貫信息
void xueji(); //查詢學(xué)生學(xué)籍變化信息
//結(jié)構(gòu)體保存學(xué)生信息
struct student{
long int Id; //學(xué)號(hào)
char Name[LEN+1]; //姓名
char Sex[LEN+1]; //性別
int Age; //年齡
char BirthPlace[LEN+1]; //籍貫
char YuanXi[LEN+1]; //院系
char ZhuanYe[LEN+1]; //專業(yè)
int BanJi; //班級(jí)
char xueji[LEN+1];//學(xué)籍變化信息
}stu[N];
//主函數(shù)
int main()
{
while (1)
{
menu();
}
system("pause");
return 0;
}
void menu()//菜單函數(shù)
{
int num;
printf("\n");
printf("——————————————————————————\n");
printf("*************歡迎使用學(xué)生信息管理系統(tǒng)***************\n");
printf("* *\n");
printf("********************系統(tǒng)功能菜單********************\n");
printf("* *\n");
printf("* 1.添加學(xué)生信息 *\n");
printf("* 2.修改學(xué)生信息 *\n");
printf("* 3.查找學(xué)生信息 *\n");
printf("* 4.輸出學(xué)生籍貫表 *\n");
printf("* 5.保存信息到文件 *\n");
printf("* 6.查看學(xué)生學(xué)籍變化 *\n");
printf("* 7.退出系統(tǒng) *\n");
printf("——————————————————————————\n");
printf("請(qǐng)選擇菜單編號(hào):");
scanf("%d", &num);
switch (num)
{
case 1:
printf("Input student number(M<=50):\n");
scanf("%d", &M);
insert();
break;
case 2:
modify();
break;
case 3:
search();
break;
case 4:
jiguanbiao();
break;
case 5:
save();
break;
case 6:
xueji();
break;
case 7:
printf("退出程序成功!\n");
exit(0);
default:
printf("請(qǐng)?jiān)?-8之間選擇\n");
system("pause");//提示完成之后顯示按任意鍵繼續(xù)
}
}
void insert()//添加學(xué)生信息
{ int i;
for(i=1;i<=M;i++)
{
printf("請(qǐng)輸入第%d個(gè)學(xué)生的學(xué)號(hào):",i);
scanf("%ld",&stu[i].Id);
printf("請(qǐng)輸入第%d個(gè)學(xué)生的姓名:",i);
scanf("%s",&stu[i].Name);
printf("請(qǐng)輸入第%d個(gè)學(xué)生的性別:",i);
scanf("%s",&stu[i].Sex);
printf("請(qǐng)輸入第%d個(gè)學(xué)生的年齡:",i);
scanf("%d",&stu[i].Age);
printf("請(qǐng)輸入第%d個(gè)學(xué)生的籍貫:",i);
scanf("%s",&stu[i].BirthPlace);
printf("請(qǐng)輸入第%d個(gè)學(xué)生的學(xué)院:",i);
scanf("%s",&stu[i].YuanXi);
printf("請(qǐng)輸入第%d個(gè)學(xué)生的專業(yè):",i);
scanf("%s",&stu[i].ZhuanYe);
printf("請(qǐng)輸入第%d個(gè)學(xué)生的班級(jí):",i);
scanf("%d",&stu[i].BanJi);
printf("請(qǐng)輸入第%d個(gè)學(xué)生的學(xué)籍(如入學(xué)、轉(zhuǎn)專業(yè)、退學(xué)、降級(jí)、休學(xué)、畢業(yè)):",i);
scanf("%s",&stu[i].xueji);
}
printf("學(xué)生信息添加完畢!請(qǐng)立即保存數(shù)據(jù)信息到文件!");
}
void modify()//修改學(xué)生信息
{
int i, item;
long int a;
printf("請(qǐng)輸入要修改學(xué)生的學(xué)號(hào):\n");
scanf("%ld",&a);
for (i=1; i<=M; i++)
{
if (stu[i].Id==a)
{
printf("1.修改名字:\n");
printf("2.修改性別:\n");
printf("3.修改年齡:\n");
printf("4.修改籍貫:\n");
printf("5.修改學(xué)院:\n");
printf("6.修改專業(yè):\n");
printf("7.修改班級(jí):\n");
printf("8.修改學(xué)籍\n");
printf("0.End of program!\n");
while (1)
{
printf("please choose:");
scanf("%d", &item);
switch (item)
{
case 1:
printf("Please input new name:\n");
scanf("%s", &stu[i].Name);
break;
case 2:
printf("Please input sex:\n ");
scanf("%s", &stu[i].Sex);
break;
case 3:
printf("Please input new age:\n");
scanf("%d", &stu[i].Age);
break;
case 4:
printf("Please input BirthPlace:\n");
scanf("%s", &stu[i].BirthPlace);
break;
case 5:
printf("Please input new yuanxi:\n");
scanf("%s", &stu[i].YuanXi);
break;
case 6:
printf("Please input new zhuanye:\n");
scanf("%s", &stu[i].ZhuanYe);
break;
case 7:
printf("Please input new banji:\n ");
scanf("%d", &stu[i].BanJi);
break;
case 8:
printf("Please input new xueji:\n");
scanf("%s", &stu[i].xueji);
break;
default: printf("Input error!\n");
}
if (item == 0)
break;
}
}
}
}
void search() //查找已知學(xué)號(hào)的學(xué)生信息
{
long int b,term=-1;
int i;
printf("請(qǐng)輸入要查找學(xué)生的學(xué)號(hào):");
scanf("%ld",&b);
for (i=1; i<=M; i++)
{
if (stu[i].Id==b)
{
printf("學(xué)號(hào):%ld 姓名:%s 性別:%s 年齡:%d 籍貫:%s 學(xué)院:%s 專業(yè):%s 班級(jí):%d 學(xué)籍:%s \n",stu[i].Id,stu[i].Name,stu[i].Sex,stu[i].Age,stu[i].BirthPlace,stu[i].YuanXi,stu[i].ZhuanYe,stu[i].BanJi,stu[i].xueji);
term=-2;
}
}
if(term!=-2)
{
printf("Not found!\n");
}
}
void jiguanbiao()//按學(xué)號(hào)和專業(yè)輸出學(xué)生籍貫表
{
int i;
FILE *fp;
fp=fopen("student.txt","r");
printf("********************學(xué)生籍貫表*********************\n");
printf("學(xué)號(hào) 姓名 籍貫\n");
for(i=1;i<=M;i++)
{
printf("%ld %s %s\n",stu[i].Id,stu[i].Name,stu[i].BirthPlace);
}
fclose(fp);
}
void save()//保存學(xué)生信息到文件
{
int i;
FILE *fp;
fp=fopen("student.txt","w");//在工程路徑下創(chuàng)建名為“student.txt”的記事本
for(i=1;i<=M;i++)
{
fprintf(fp,"%ld %s %s %d %s %s %s %d %s \n",stu[i].Id,stu[i].Name,stu[i].Sex,stu[i].Age,stu[i].BirthPlace,stu[i].YuanXi,stu[i].ZhuanYe,stu[i].BanJi,stu[i].xueji);
}
fclose(fp);
printf("學(xué)生信息保存成功!");
}
void xueji() //查詢學(xué)生學(xué)籍變化信息
{
long int c,t=-1;
int i;
printf("請(qǐng)輸入要查詢學(xué)生的學(xué)號(hào):");
scanf("%ld",&c);
for (i=1; i<=M; i++)
{
if (c==stu[i].Id)
{
printf("學(xué)號(hào):%ld 姓名:%s 學(xué)籍:%s \n",stu[i].Id,stu[i].Name,stu[i].xueji);
t=-2;
}
}
if(t!=-2)
printf("Not found!\n");
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
新聞標(biāo)題:C語(yǔ)言程序設(shè)計(jì)——學(xué)生學(xué)籍管理系統(tǒng)-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://chinadenli.net/article42/dhpihc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站、網(wǎng)站內(nèi)鏈、App設(shè)計(jì)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容