C語言實現(xiàn)學籍管理系統(tǒng)_第1頁
C語言實現(xiàn)學籍管理系統(tǒng)_第2頁
C語言實現(xiàn)學籍管理系統(tǒng)_第3頁
C語言實現(xiàn)學籍管理系統(tǒng)_第4頁
C語言實現(xiàn)學籍管理系統(tǒng)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第C語言實現(xiàn)學籍管理系統(tǒng)本文實例為大家分享了C語言實現(xiàn)學籍管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

設計一個學籍管理系統(tǒng),基本功能包括:

1.輸入學生基本信息

2.查詢學生信息(1.按學號2.按姓名)

3.刪除學生信息(1.按學號2.按姓名)

4.學生信息排序(1.按學號2.按姓名)

5.修改學生基本信息

6.輸出學生信息

7.保存學生信息

0.退出程序

注:由于知識有限,該系統(tǒng)暫時規(guī)定只輸入3個學生數(shù)據(jù),今后會改良成可隨機處理任意多個學生的數(shù)據(jù)

一、首頁

voidenter(structstudentstu[],intn)

intselect;

while(select!=0)

{

printf("\t\t\t

---------------------------\n");

printf("\n");

printf("\t\t\t

歡迎使用學籍管理系統(tǒng)\n");

printf("\n");

printf("\t\t\t

---------------------------\n");

printf("\t\t\t

1.輸入學生基本信息\n");

printf("\t\t\t

2.查詢學生信息(1.按學號2.按姓名)\n");

printf("\t\t\t

3.刪除學生信息(1.按學號2.按姓名)\n");

printf("\t\t\t

4.學生信息排序(1.按學號2.按姓名)\n");

printf("\t\t\t

5.修改學生基本信息\n");

printf("\t\t\t

6.輸出學生信息\n");

printf("\t\t\t

7.保存學生信息\n");

printf("\t\t\t

0.退出程序\n");

printf("\t\t\t

請輸入您的選項");

scanf("%d",select);

system("cls");

switch(select)

{

case1:input(stu,n);break;

case2:seek(stu,n);break;

case3:delect(stu,n);break;

case4:sort(stu,n);break;

case5:revise(stu,n);break;

case6:output(stu,n);break;

case7:keep(stu,n);break;

case0:printf("\t\t\t

您已退出學籍管理系統(tǒng)\n");break;

default:printf("輸入有誤\n");

system("pause");

system("cls");

}

}

}

二、輸入

intcount=0;

//計數(shù)器記錄學生個數(shù)

voidinput(structstudentstu[],intn)

{

inti;

if(count!=0)

count=0;

printf("\t\t\t-------------------------------\n");

printf("\n");

printf("\t\t\t

歡迎進入學生信息錄入系統(tǒng)\n");

printf("\n");

printf("\t\t\t-------------------------------\n");

printf("\t\t請輸入學生基本信息(學號,姓名,年齡,性別(女w,男m))\n");

for(i=0;ii++)

scanf("%d%s%d%c",stu[i].number,stu[i].name,stu[i].age,stu[i].sex);

system("cls");

printf("\t\t\t

學生信息已錄入\n");

system("pause");

system("cls");

}

三、查詢

voidseek(structstudentstu[],intn)

inti,select2,num2;

charname2[10];

printf("\t\t\t-------------------------------\n");

printf("\n");

printf("\t\t\t

歡迎進入學生信息查詢系統(tǒng)\n");

printf("\n");

printf("\t\t\t-------------------------------\n");

printf("\t\t請選擇查詢方式(1.按學號查詢

2.按姓名查詢)");

scanf("%d",select2);

system("cls");

switch(select2)

{

case1:

{

printf("\t\t\t\t

請輸入學號");

scanf("%d",num2);

system("cls");

for(i=0;in-count;i++)

if(stu[i].number==num2)break;

//判斷輸入學號和結(jié)構(gòu)數(shù)組的學號是否匹配,找到匹配項則退出循環(huán)

if(in-count)

//數(shù)組下標小于學生數(shù),則說明找到該學生,輸出信息

{

printf("\t\t\t您要查詢的學生信息為:\n");

printf("\t\t\t學號%d姓名%s年齡%d性別%c\n",stu[i].number,stu[i].name,stu[i].age,stu[i].sex);

}

else

//數(shù)組下標等于學生數(shù),則沒有找到該學生

printf("\t\t\t\t查無此人\n");

system("pause");

system("cls");

}break;

case2:

{

printf("\t\t\t\t

請輸入姓名");

scanf("%s",name2);

system("cls");

for(i=0;in-count;i++)

if(strcmp(stu[i].name,name2)==0)break;

if(in-count)

{

printf("\t\t\t您要查詢的學生信息為:\n");

printf("\t\t\t學號%d姓名%s年齡%d性別%c\n",stu[i].number,stu[i].name,stu[i].age,stu[i].sex);

}

else

printf("\t\t\t\t查無此人\n");

system("pause");

system("cls");

}break;

}

}

四、刪除

voiddelect(structstudentstu[],intn)

inti=n,j,select3,num3,choice3;

charname3[10];

printf("\t\t\t-------------------------------\n");

printf("\n");

printf("\t\t\t

歡迎進入學生信息刪除系統(tǒng)\n");

printf("\n");

printf("\t\t\t-------------------------------\n");

printf("\t\t請選擇刪除方式(1.按學號刪除

2.按姓名刪除)");

scanf("%d",select3);

system("cls");

switch(select3)

{

case1:

{

printf("\t\t\t\t

請輸入學號");

scanf("%d",num3);

system("cls");

for(i=0;in-count;i++)

if(stu[i].number==num3)break;//首先找到要刪除的學生

if(in-count)

{

printf("\t\t\t當前您要修改的學生信息為\n");

printf("\t\t\t學號%d姓名%s年齡%d性別%c\n",stu[i].number,stu[i].name,stu[i].age,stu[i].sex);

printf("\t\t\t如果您不想再刪除該生信息請按0,繼續(xù)刪除請按1\n");

scanf("%d",choice3);

system("cls");

if(choice3==1)

{

for(j=i;jn-count;j++)//從該學生往后每一項向前移動一項,覆蓋前一個數(shù)據(jù)項

stu[j]=stu[j+1];

count++;

printf("\t\t\t\t該生信息已刪除\n");

system("pause");

system("cls");

}

}

else

{

printf("\t\t\t\t查無此人\n");

system("pause");

system("cls");

}

}break;

case2:

{

printf("\t\t\t\t

請輸入姓名");

scanf("%s",name3);

system("cls");

for(i=0;in-count;i++)

if(strcmp(stu[i].name,name3)==0)break;

if(in-count)

{

printf("\t\t\t當前您要修改的學生信息為\n");

printf("\t\t\t學號%d姓名%s年齡%d性別%c\n",stu[i].number,stu[i].name,stu[i].age,stu[i].sex);

printf("\t\t\t如果您不想再刪除該生信息請按0,繼續(xù)刪除請按1\n");

scanf("%d",choice3);

system("cls");

if(choice3==1)

{

for(j=i;jn-count;j++)

stu[j]=stu[j+1];

count++;

printf("\t\t\t\t該生信息已刪除\n");

system("pause");

system("cls");

}

}

else

{

printf("\t\t\t\t查無此人\n");

system("pause");

system("cls");

}

}

}

}

五、排序

voidsort(structstudentstu[],intn)

intselect4,i,j;

structstudentt;

printf("\t\t\t-------------------------------\n");

printf("\n");

printf("\t\t\t

歡迎進入學生信息排序系統(tǒng)\n");

printf("\n");

printf("\t\t\t-------------------------------\n");

printf("\t\t請選擇排序方式(1.按學號排序

2.按姓名排序)");

scanf("%d",select4);

system("cls");

switch(select4)

{

case1:{

//冒泡排序

for(j=1;jn-count;j++)

{

for(i=0;in-count-j;i++)

{

if(stu[i].numberstu[i+1].number)

{

t=stu[i];

stu[i]=stu[i+1];

stu[i+1]=t;

}

}

}

}break;

case2:{

for(j=1;jn-count;j++)

{

for(i=0;in-count-j;i++)

{

if(strcmp(stu[i].name,stu[i+1].name)0)

{

t=stu[i];

stu[i]=stu[i+1];

stu[i+1]=t;

}

}

}

}

}

printf("\t\t\t\t已按要求完成排序\n");

system("pause");

system("cls");

}

六、修改

voidrevise(structstudentstu[],intn)

intnum5,i=n,choice5;

printf("\t\t\t-------------------------------\n");

printf("\n");

printf("\t\t\t

歡迎進入學生信息修改系統(tǒng)\n");

printf("\n");

printf("\t\t\t-------------------------------\n");

printf("\t\t\t請輸入您要修改的學生學號");

scanf("%d",num5);

system("cls");

for(i=0;in-count;i++)

if(stu[i].number==num5)break;

if(in-count)

{

printf("\t\t\t當前您要修改的學生信息為\n");

printf("\t\t\t學號%d姓名%s年齡%d性別%c\n",stu[i].number,stu[i].name,stu[i].age,stu[i].sex);

printf("\t\t\t如果您不想再修改該生信息請按0,繼續(xù)修改請按1\n");

scanf("%d",choice5);

system("cls");

if(choice5==1)

{

printf("\t\t\t請輸入修改的信息\n");

printf("\t\t\t學號\t姓名\t年齡\t性別\n");

printf("\t\t\t");

scanf("%d%s%d%c",stu[i].number,stu[i].name,stu[i].age,stu[i].sex);//直接將新信息存儲到原數(shù)據(jù)項中,覆蓋原信息即可

system("cls");

printf("\t\t\t\t已完成信息修改\n");

system("pause");

system("cls");

}

}

else

{

printf("\t\t\t\t查無此人\n");

system("pause");

system("cls");

}

}

七、輸出

voidoutput(structstudentstu[],intn)

inti;

printf("\t\t\t-------------------------------\n");

printf("\n");

pr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論