您好,登錄后才能下訂單哦!
這篇文章主要講解了“C語(yǔ)言如何實(shí)現(xiàn)學(xué)生宿舍信息管理系統(tǒng)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“C語(yǔ)言如何實(shí)現(xiàn)學(xué)生宿舍信息管理系統(tǒng)”吧!
該學(xué)生宿舍信息管理系統(tǒng)主要實(shí)現(xiàn)的功能有:創(chuàng)建學(xué)生宿舍信息,顯示學(xué)生宿舍信息,查詢學(xué)生宿舍信息,修改學(xué)生宿舍信息,刪除學(xué)生宿舍信息,保存學(xué)生宿舍信息,讀取學(xué)生宿舍信息。其系統(tǒng)功能模塊圖如下:
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> #include<windows.h> #define MAX 1000 int k=0; //結(jié)構(gòu)體類型 typedef struct { char name[20]; //姓名 char sex[5]; //性別 char classs[20]; //班級(jí) int number; //學(xué)號(hào) int age; //年齡 int dorm; //宿舍號(hào) int year; //年份 int month; //月份 }students; //創(chuàng)建學(xué)生宿舍信息 int establish(students stu[]) { int i,x; for(i=0;i<1000;i++) { system("cls"); printf("\n\n 錄入學(xué)生信息 (最多%d個(gè))\n",MAX); printf(" ----------------------------\n"); printf("\n 第%d個(gè)學(xué)生",k+1); printf("\n 請(qǐng)輸入學(xué)生的學(xué)號(hào):"); scanf("%d",&stu[k].number); printf("\n 請(qǐng)輸入學(xué)生的姓名:"); scanf("%s",stu[k].name); printf("\n 請(qǐng)輸入學(xué)生的性別:"); scanf("%s",stu[k].sex); printf("\n 請(qǐng)輸入學(xué)生的年齡:"); scanf("%d",&stu[k].age); printf("\n 請(qǐng)輸入學(xué)生的班級(jí):"); scanf("%s",stu[k].classs); printf("\n 請(qǐng)輸入學(xué)生入住時(shí)間(如:2017 9):"); while((scanf("%d %d",&stu[k].year,&stu[k].month))!=EOF) { if(stu[k].year<1000||stu[k].year>9999||stu[k].month>12||stu[k].month<1)//限定輸入范圍 { printf("對(duì)不起,輸入錯(cuò)誤,請(qǐng)重新輸入:"); } else break; } printf("\n 請(qǐng)輸入學(xué)生的宿舍號(hào):"); scanf("%d",&stu[k++].dorm); printf("\n 請(qǐng)按 1 鍵返回主菜單或按 0 鍵繼續(xù)創(chuàng)建:"); scanf("%d",&x); if(x!=0) break; } return k; } //顯示學(xué)生宿舍信息 void display(students stu[]) { int i; for(i=0;i<k;i++) { printf("學(xué)號(hào):%d 姓名:%s 性別:%s 年齡:%d 班級(jí):%s 宿舍號(hào): %d 入住時(shí)間:%d/%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].age,stu[i].classs,stu[i].dorm,stu[i].year,stu[i].month); } printf("按任意鍵返回主菜單!"); getch(); system("cls"); return ; } //查詢學(xué)生宿舍信息 void query(students stu[]) { int i,m=0; int number; printf("\n\n 請(qǐng)輸入您要查找的學(xué)生的學(xué)號(hào): "); scanf("%d",&number); printf(" 正在查詢,請(qǐng)稍后.....\n"); Sleep(1000); for(i=0;i<k;i++) { if(number==stu[i].number) { printf("\n\n學(xué)號(hào):%d 姓名:%s 性別:%s 年齡:%d 班級(jí):%s 宿舍號(hào): %d 入住時(shí)間:%d/%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].age,stu[i].classs,stu[i].dorm,stu[i].year,stu[i].month); m=1; } } if(m==0) { printf("對(duì)不起,此學(xué)生信息不存在!\n"); } printf("按任意鍵返回主菜單!"); getch(); system("cls"); return ; } //修改學(xué)生信息 void modify(students stu[]) { int number,i,choose,m=0; system("cls"); printf("\n\n\n 請(qǐng)輸入您要修改的學(xué)生的學(xué)號(hào):"); scanf("%d",&number); printf(" 正在查詢,請(qǐng)稍后.....\n"); Sleep(1000); for(i=0;i<k;i++) { if(number==stu[i].number) { printf("\n\n學(xué)號(hào):%d 姓名:%s 性別:%s 年齡:%d 班級(jí):%s 宿舍號(hào): %d 入住時(shí)間:%d/%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].age,stu[i].classs,stu[i].dorm,stu[i].year,stu[i].month); printf("\n\n ********請(qǐng)輸入您想要修改的數(shù)據(jù)********\n\n"); printf(" 1. 學(xué)號(hào)\n"); printf(" 2. 姓名\n"); printf(" 3. 性別\n"); printf(" 4. 年齡\n"); printf(" 5. 班級(jí)\n"); printf(" 6. 宿舍號(hào)\n"); printf(" 7. 入住時(shí)間\n\n"); printf(" 請(qǐng)選擇(1-7):"); while((scanf("%d",&choose))!=EOF) { if(choose<1||choose>7) { printf("對(duì)不起,輸入錯(cuò)誤,請(qǐng)重新輸入:"); } else { switch(choose) { case 1: { printf("\n 請(qǐng)輸入你改的新學(xué)號(hào):"); scanf("%d",&stu[i].number); break; } case 2: { printf("\n 請(qǐng)輸入你改的新姓名:"); scanf("%s",stu[i].name); break; } case 3: { printf("\n 請(qǐng)輸入你改的新性別:"); scanf("%s",stu[i].sex); break; } case 4: { printf("\n 請(qǐng)輸入你改的新年齡:"); scanf("%d",&stu[i].age); break; } case 5: { printf("\n 請(qǐng)輸入你改的新班級(jí):"); scanf("%s",stu[i].classs); break; } case 6: { printf("\n 請(qǐng)輸入你改的新宿舍:"); scanf("%d",&stu[i].dorm); break; } case 7: { printf("\n 請(qǐng)輸入你改的新入住時(shí)間:"); scanf("%d %d",&stu[i].year,&stu[i].month); break; } } printf("修改成功!"); Sleep(500); printf("\n\n學(xué)號(hào):%d 姓名:%s 性別:%s 年齡:%d 班級(jí):%s 宿舍號(hào): %d 入住時(shí)間:%d/%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].age,stu[i].classs,stu[i].dorm,stu[i].year,stu[i].month); m=1; break; } } } } if(m==0) { printf("對(duì)不起,此學(xué)生信息不存在!\n"); } printf("按任意鍵返回主菜單!"); getch(); return ; } //刪除學(xué)生信息 void deletee(students stu[]) { char name1[20]; int i,j,m=0; printf("請(qǐng)輸入學(xué)生姓名:"); scanf("%s",name1); printf("\n"); printf("正在查找是否存在此學(xué)生信息.....\n"); Sleep(1000); for(i=0;i<k;i++) { if(strcmp(stu[i].name,name1)==0) { m=1; printf("已找到此學(xué)生信息!\n刪除中....\n"); Sleep(2000); for(j=i;j<k;j++) { strcpy(stu[j].name,stu[j+1].name); strcpy(stu[j].sex,stu[j+1].sex); strcpy(stu[j].classs,stu[j+1].classs); stu[j].age=stu[j+1].age; stu[j].dorm=stu[j+1].dorm; stu[j].number=stu[j+1].number; stu[j].year=stu[j+1].year; stu[j].month=stu[j+1].month; } k--; printf("刪除成功!\n"); } } if(m==0) { printf("此學(xué)生信息不存在!\n"); } printf("按任意鍵返回主菜單!"); getch(); system("cls"); return ; } //保存學(xué)生住宿信息 void preservation(students stu[]) { int i; FILE *fp; if((fp=fopen("學(xué)生宿舍信息.txt","w"))==NULL) { printf("未發(fā)現(xiàn)學(xué)生宿舍信息!\n"); printf("按任意鍵返回...\n"); getch(); system("cls"); return ; } else { for(i=0;i<k;i++) { fprintf(fp,"\n\n學(xué)號(hào):%d 姓名:%s 性別:%s 年齡:%d 班級(jí):%s 宿舍號(hào): %d 入住時(shí)間:%d/%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].age,stu[i].classs,stu[i].dorm,stu[i].year,stu[i].month); } fclose(fp); printf("正在保存文件....\n"); Sleep(1000); printf("文件保存成功!\n"); printf("按任意鍵返回...\n"); getch(); system("cls"); return ; } } //讀取學(xué)生住宿信息 void read(students stu[]) { FILE *fp; char ch; if((fp=fopen("學(xué)生宿舍信息.txt","r"))==NULL) { printf("文件無(wú)法打開(kāi)!\n"); exit(0); } printf("正在讀入文件...\n"); Sleep(1000); printf("文件讀入成功!\n"); ch=fgetc(fp); while(!feof(fp)) { putchar(ch); ch=fgetc(fp); } printf("\n"); fclose(fp); printf("按任意鍵返回...\n"); getch(); system("cls"); return ; } void title() { printf(" \n\n\n **********************************\n"); printf(" * *\n"); printf(" * *\n"); printf(" * *\n"); printf(" * 歡迎進(jìn)入學(xué)生宿舍信息管理系統(tǒng) *\n"); printf(" * *\n"); printf(" * *\n"); printf(" * *\n"); printf(" **********************************\n"); printf("\n 按任意鍵進(jìn)入系統(tǒng)!\n"); getch(); } void start() { students stu[20]; int choose,k; while(choose!=0) { system("cls"); printf("\n\n\n ********學(xué)生宿舍信息管理系統(tǒng)********\n\n"); printf(" 1. 創(chuàng)建學(xué)生宿舍信息\n\n"); printf(" 2. 顯示學(xué)生宿舍信息\n\n"); printf(" 3. 查詢學(xué)生宿舍信息\n\n"); printf(" 4. 修改學(xué)生宿舍信息\n\n"); printf(" 5. 刪除學(xué)生宿舍信息\n\n"); printf(" 6. 保存學(xué)生宿舍信息\n\n"); printf(" 7. 讀取學(xué)生宿舍信息\n\n"); printf(" 0. 退出系統(tǒng)\n\n"); printf(" 請(qǐng)選擇(0-7):"); while((scanf("%d",&choose))!=EOF) { if(choose<0||choose>7) { printf("對(duì)不起,輸入錯(cuò)誤,請(qǐng)重新輸入:"); } else { switch(choose) { case 1: k=establish(stu); break;//創(chuàng)建學(xué)生宿舍信息 case 2: display( stu) ; break;//顯示學(xué)生宿舍信息 case 3: query(stu); break;//查詢學(xué)生宿舍信息 case 4: modify(stu); break;//修改學(xué)生宿舍信息 case 5: deletee(stu); break;//刪除學(xué)生宿舍信息 case 6: preservation(stu); break;//保存學(xué)生宿舍信息 case 7: read(stu);break;//讀取學(xué)生宿舍信息 case 0: break; } break; } } } } int main() { title(); start(); return 0; }
感謝各位的閱讀,以上就是“C語(yǔ)言如何實(shí)現(xiàn)學(xué)生宿舍信息管理系統(tǒng)”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)C語(yǔ)言如何實(shí)現(xiàn)學(xué)生宿舍信息管理系統(tǒng)這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。