本文實例為大家分享了C語言實現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、做網(wǎng)站、四平網(wǎng)絡(luò)推廣、小程序開發(fā)、四平網(wǎng)絡(luò)營銷、四平企業(yè)策劃、四平品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供四平建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
#include#include #include #include #include //**********************************結(jié)構(gòu)體************************************* struct score { char class_num[10]; char person_num[10]; char name[15]; char sex; int num; }stu; //******************************輸出******************************************* void print1() //輸出科目函數(shù) { printf("班級 學(xué)號 姓名 性別 分?jǐn)?shù)\n"); } //*****************************菜單******************************************** int menu() //菜單函數(shù) { char i; printf("\n\n\n\n"); puts("\t\t**********************主菜單******************\t\n"); puts("\t\t\t\t1.學(xué)生信息輸入 \n"); puts("\t\t\t\t2.學(xué)生信息瀏覽 \n"); puts("\t\t\t\t3.學(xué)生信息檢索 \n"); puts("\t\t\t\t4.學(xué)生信息修改 \n"); puts("\t\t\t\t5.學(xué)生信息刪除 \n"); puts("\t\t\t\t6. 退 出 系 統(tǒng) \n"); puts("\t\t**********************************************\t\n"); printf("\t\t\t 請選擇(1-6):[ ]\b\b"); i=getchar(); system("cls"); return i; } //**********************輸入函數(shù)******************************************* void Enter() { FILE *fp; char ch; if((fp=fopen("f:\\zimou.txt","a+"))==NULL) { printf("\nCannot open file!\n"); getch(); exit(1); } do { printf("請輸入班級:");scanf("%s",stu.class_num);getchar(); printf("\n"); printf("請輸入學(xué)號:");gets(stu.person_num); printf("\n"); printf("請輸入姓名:");gets(stu.name); printf("\n"); printf("性 別(m/f):");scanf("%c",&stu.sex);getchar(); printf("\n"); printf("分 數(shù):");scanf("%d",&stu.num);getchar(); printf("\n"); fwrite(&stu,sizeof(stu),1,fp); printf("繼續(xù)(y/n)?[ ]\b\b"); ch=getchar(); getchar(); }while(ch=='y'||ch=='Y'); fclose(fp); system("cls"); } //*****************瀏覽函數(shù)********************************************** void Browse() { FILE *fp; int total=0; if((fp=fopen("f:\\zimou.txt","a+"))==NULL) { printf("\tCan not open the inform file!"); getch(); exit(1); } while(fread(&stu,sizeof(stu),1,fp)==1) { total++; if(total==1) print1(); printf("%-10s%-10s%-20s",stu.class_num,stu.person_num,stu.name); printf("%-8c",stu.sex); printf("%-4d ",stu.num); printf("\n"); } fclose(fp); printf("\n\n\t共有 %d 條記錄!\n",total); printf("\tpress any key to continue!"); getchar(); getchar(); system("cls"); } //*******************查詢函數(shù)********************************************* void Query() { FILE * fp; char num1[10]; char ch; if((fp=fopen("f:\\zimou.txt","a+"))==NULL) { printf("\tCan not open the inform file!"); getch(); exit(1); } do { getchar(); rewind(fp); printf("\n請輸入學(xué)號查詢:"); gets(num1); while(fread(&stu,sizeof(stu),1,fp)==1) if(strcmp(num1,stu.person_num)==0) { print1(); printf("%-10s%-10s%-20s",stu.class_num,stu.person_num,stu.name); printf("%-8c",stu.sex); printf("%-4d ",stu.num); printf("\n"); break; } puts("\n"); printf("繼續(xù)查詢?(Y/N):[ ]\b\b"); ch=getchar(); }while(ch=='Y'||ch=='y'); fclose(fp); system("cls"); } //**********************學(xué)生成績修改函數(shù)*********************************** void Recopose() { FILE * fp1,* fp2; char num1[10]; char ch; getchar(); do { if((fp1=fopen("f:\\zimou.txt","a+"))==NULL) { printf("\tCan not open the infom file!"); getch(); exit(1); } if((fp2=fopen("f:\\ziye.txt","a+"))==NULL) { printf("\tCan not creat the temp file!"); getch(); exit(1); } printf("請輸入想要修改的學(xué)號:"); gets(num1); while(fread(&stu, sizeof(stu),1,fp1)==1) { if(strcmp(num1,stu.person_num)==0) { print1(); printf("%-10s%-10s%-20s",stu.class_num,stu.person_num,stu.name); printf("%-8c",stu.sex); printf("%-4d ",stu.num); printf("\n"); printf("\n\nPlease input the new information:\n"); printf("\t班級代號:");gets(stu.class_num); printf("\t學(xué)生學(xué)號:");gets(stu.person_num); printf("\t學(xué)生姓名:"); gets(stu.name); printf("\t學(xué)生性別:");gets(&stu.sex); printf("\t學(xué)生成績:");scanf("%d",&stu.num); getchar(); } fwrite(&stu,sizeof(stu),1,fp2); } fclose(fp1); fclose(fp2); printf("修改成功!\n"); remove("f:\\zimou.txt"); rename("f:\\ziye.txt","f:\\zimou.txt"); printf("繼續(xù)修改?(Y/N):[ ]\b\b"); ch=getchar(); getchar(); }while(ch=='Y'||ch=='y'); system("cls"); } //*********************刪除函數(shù)****************************************** void Delete() { FILE * fp1,* fp2; int flag; char num1[10]; char ch; getchar(); do { if((fp1=fopen("f:\\zimou.txt","a+"))==NULL) { printf("\tCan not open the inform file!"); getch(); exit(1); } if((fp2=fopen("f:\\ziye.txt","a+"))==NULL) { printf("\tCan not creat the temp file!"); getch(); exit(1); } printf("請輸入你要刪除的學(xué)生的學(xué)號:"); gets(num1); flag=0; while(fread(&stu,sizeof(stu),1,fp1)==1) { if(strcmp(num1,stu.person_num)==0) { print1(); printf("%-10s%-10s%-20s",stu.class_num,stu.person_num,stu.name); printf("%-8c",stu.sex); printf("%-4d ",stu.num); printf("\n"); flag=1; } else fwrite(&stu,sizeof(stu),1,fp2); } fclose(fp1); fclose(fp2); if(flag==1) { remove("f:\\zimou.txt"); rename("f:\\ziye.txt","f:\\zimou.txt"); } else printf("Can not find this record!\n"); printf("繼續(xù)刪除?(Y/N):[ ]\b\b"); ch=getchar(); getchar(); }while(ch=='Y'||ch=='y'); system("cls"); } //***********************************退出************************************** void Exit() { puts("\n\t\t\t\t感謝使用本系統(tǒng)??!\n\n\t\t\t\t有任何問題請聯(lián)系:1005483758@qq.com \n"); exit(0); } //******************歡迎界面********************************** void Welcome() { printf("\n\n"); printf(" \t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n"); printf(" \t┃**********************************************************┃\n"); printf(" \t┃***┏━━━━━━━━━━━━━━━━━━━━━━━━┓***┃\n"); printf(" \t┃***┃************************************************┃***┃\n"); printf(" \t┃***┃*** ****┃***┃\n"); printf(" \t┃***┃*** 歡迎使用學(xué)生成績管理系統(tǒng) ****┃***┃\n"); printf(" \t┃***┃*** ****┃***┃\n"); printf(" \t┃***┃*** ****┃***┃\n"); printf(" \t┃***┃*** 制作人:XXY ****┃***┃\n"); printf(" \t┃***┃*** ****┃***┃\n"); printf(" \t┃***┃*** 2013.6.20 ****┃***┃\n"); printf(" \t┃***┃*** ****┃***┃\n"); printf(" \t┃***┃************************************************┃***┃\n"); printf(" \t┃***┗━━━━━━━━━━━━━━━━━━━━━━━━┛***┃\n"); printf(" \t┃**********************************************************┃\n"); printf(" \t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"); puts(" \n\t ① 管理員登陸! \n"); puts(" \n\t ② 游客 登陸! \n"); printf("\n請選擇登陸(1 or 2):[ ]\b\b"); / /左移一位“\b ” } //*****************************主函數(shù)**************************************** int main() { int i,k=0; char username[15],pwd[7],c; system("color 5e");//顏色 Welcome(); c=getchar();getchar(); if (c=='1') { system("cls");//跳轉(zhuǎn)頁面。 puts("\n\n\n\n\n\n\n\t\t\t\t管 理 員 登 陸!\n\n\n\n\n\t\t\t\t 請 登 陸!"); getchar(); for(i=0;i<3;i++) { printf("\n請輸入用戶名:"); gets(username); printf("\n請輸入6位密碼:"); gets(pwd); //判斷條件 if((strcmp(username,"xiaxianyun")==0)&&(strcmp(pwd,"123456")==0)) { printf("\n您已經(jīng)成功登錄\n"); k=1; for(i=0;i<20;i++) { printf("."); Sleep(100); } system("cls"); while(1) switch(menu()) { case '1':Enter();break; case '2':Browse();break; case '3':Query();break; case '4':Recopose();break; case '5':Delete();break; case '6':Exit();break; } break; } else printf("\n用戶名或密碼無效 請重新輸入:\n"); continue; } if(k==0) printf("\n連續(xù)輸入錯誤3次 將退出程序\n"); Sleep(2000); exit(1); } else if(c=='2')//游客登錄 { system("cls");//跳轉(zhuǎn)頁面。 puts("\n\n\n\n\n\n\n\t\t\t\t歡 迎 游 客 進(jìn) 入!\n\n\n\n\n\t\t\t\t 請 確 定!"); getchar(); system("cls"); while(1) switch(menu()) { case '1':Enter();break; case '2':Browse();break; case '3':Query();break; case '4':system("cls");getchar(); puts("\n\n\t\t對不起你沒有權(quán)限修改!\n\n"); printf("\t\tpress any key to continue!");getchar();system("cls");break; case '5':system("cls");getchar(); puts("\n\n\t\t對不起你沒有權(quán)限刪除!\n\n"); printf("\t\tpress any key to continue!");getchar();system("cls");break; case '6':Exit();break; } } return 0; }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。