C語言 學生資訊管理系統
阿新 • • 發佈:2019-02-03
前文是樓主的一些經歷,給大家分享一下,希望能夠幫到大家。文中有不足的地方還請指出,我們一同探討,或者可以直接看正文(恩~第一次在這兒發帖確實有點小激動O(∩_∩)O~)。
|前文|
我是一名職高學生,入校選擇專業時毫不猶豫選擇了計算機,只因對此擁有濃厚的興趣(哈哈,可能是很早接觸計算機有關吧!)。樓主對於C語言也是情有獨鍾(這是真愛啊、)。自學的階段總是迷茫的,尤其對於初學者。 對於初學者提升興趣的方法就是成功,當你認真去寫一個程式並且能夠載入計算機記憶體成功執行,這種感覺是之前未有過的。 樓主開始學的時候也是一頭霧水,不知從何開始,從剛開始到現在已經有一個學期了,記得剛開始的時候最多就是寫個hello world!學了許久只是簡單瞭解基本資料型別定義,還是停留在懵逼的狀態, 慢慢的通過老師的講解可以做一些簡單的資料處理了,這是一個良好的開端,不要小看這些資料處理,它就猶如是一個“零件”,“零件”運用多了,才能熟練,將這些小型的零件拼接到一起就構成了一個大型的系統。這樣方能做到“知其然知其所以然”。 “百度”一個非常好的搜尋引擎,裡面有很多相關的資料,這是一個很高效的網路學習方法,最重要的還是自己要努力。 學習C語言本就是枯燥乏味的,我覺得計算機專業學生不應該只停留在軟體應用上(那是業餘人乾的),應該要偏重學習程式開發。有人就說了:“恩,我覺得開發這東西不適合我,而且我基礎不太好,不學!”。這不是藉口,只能說明自己懶,懶得編寫,懶得想,每個人的起步都是一樣的,沒有什麼天才,只有付諸行動,才能有收穫,學習C語言要經常寫程式碼,程式碼寫多了自然就理解了 其實呢,學習程式語言最重要的還是要掌握程式設計的思想,從計算機的角度去思考問題,自然迎刃而解!!!
|正文|
上圖:
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<Windows.h> struct students { int id; int age; char name[10]; char xin[10]; int yu,shu,yin,com,sum; }stu[100]; int i=0,j=0; //i迴圈新增資訊變數 j顯示全部資訊迴圈變數 int menu(void) //主介面 { int a; printf("\t*** ╭□════■□■□══╮ ***\n"); printf("\t* │ 學生資訊管理系統 │ *\n"); printf("\t* ╰═■□■□══════■╯ *\n"); printf("\t* ┌───────────┐ *\n"); printf("\t* │1.新增資訊 2.修改資訊│ *\n"); printf("\t* │ │ *\n"); printf("\t* │3.查詢資訊 4.刪除資訊│ *\n"); printf("\t* │ │ *\n"); printf("\t* │5.資料排序 6.儲存讀取│ *\n"); printf("\t* │ │ *\n"); printf("\t* │7.退出系統 │ *\n"); printf("\t* └───────────┘ *\n"); printf("\t************************************\n"); printf("\t請輸入你的選擇(1~7):"); scanf("%d", &a); while (a<1 || a>7) { printf("\t輸入範圍為1~7:"); scanf("%d", &a); } if (a == 1) ID(); if (a == 2) xiugai(); if (a == 3) chaxun(); if (a == 4) shanchu(); if (a == 5) paixu(); if (a == 6) menufile(); if (a == 7) printf("\n\t\t\t\t退出系統中..."); Sleep(3000); exit(0); return 0; } //********************** //********************** //********************** int ID(void) //新增資訊 { int a,k,j,x,one; do { printf("\n----------------------------------------------------\n"); printf("\t ———新增資訊———\n\n"); fflush(stdin); printf("學號:"); scanf("%d", &x); while ( x<1 || x>100) { printf("輸入範圍為1~100:"); scanf("%d", &x); } one=0; for(j=0;j<i;j++) { if(x==stu[j].id) { one=1; printf("\n記錄中已有此人!不得重複新增..."); getch(); system("cls"); menu(); } } if(one==0) { stu[i].id=x; } printf("姓名:"); getchar(); gets(stu[i].name); printf("性別:"); gets(stu[i].xin); while (strcmp(stu[i].xin,"男") != 0 && strcmp(stu[i].xin, "女") != 0) { printf("性別只限男女:"); gets(stu[i].xin); } printf("年齡:"); scanf("%d", &stu[i].age); while (stu[i].age <= 0 || stu[i].age>100) { printf("年齡只限1~100:"); scanf("%d", &stu[i].age); } printf("語文:"); scanf("%d", &stu[i].yu); while (stu[i].yu<0 || stu[i].yu>100) { printf("輸入只限0~100:"); scanf("%d", &stu[i].yu); } printf("數學:"); scanf("%d", &stu[i].shu); while (stu[i].shu<0 || stu[i].shu>100) { printf("輸入只限0~100:"); scanf("%d", &stu[i].shu); } printf("英語:"); scanf("%d", &stu[i].yin); while (stu[i].yin<0 || stu[i].yin>100) { printf("輸入只限0~100:"); scanf("%d", &stu[i].yin); } printf("專業:"); scanf("%d", &stu[i].com); while (stu[i].com<0 || stu[i].com>100) { printf("輸入只限1~100:"); scanf("%d", &stu[i].com); } stu[i].sum=0; stu[i].sum = stu[i].yu + stu[i].shu + stu[i].yin + stu[i].com; i++; printf("\n新增完畢! 目前共有%d名學生!\n按1回到主介面!按2繼續新增資訊!按其他鍵退出程式! ",i); scanf("%d", &a); }while(a==2); if (a == 1) { system("cls"); menu(); } if (a != 1) { printf("\n退出系統中..."); Sleep(3000); exit(0); } return 0; } //********************* //********************* //********************* int xiugai(void) //修改資訊 { int a; printf("\n----------------------------------------------------\n"); printf("\t ───修改資訊───\n\n"); printf("\t ┌──────┐\n"); printf("\t │1.按學號修改│\n"); printf("\t │ │\n"); printf("\t │2.按姓名修改│\n"); printf("\t │ │\n"); printf("\t │3.返回 │\n"); printf("\t └──────┘\n"); printf("\t 請選擇修改方式:"); scanf("%d", &a); while (a<1 || a>3) { printf("輸入錯誤~請重新輸入:"); scanf("%d", &a); } if (a == 1) { idxiugai(); //按學號方式修改 } if (a == 2) { namexiugai(); //按姓名方式修改 } if (a == 3) { system("cls"); menu(); } return 0; } //************************** //************************** //************************** int chaxun(void) //查詢資訊 { int a; printf("----------------------------------------------------\n"); printf("\t ───查詢資訊───\n"); printf("\t ┌─────────────┐ \n"); printf("\t │1.按學號查詢 2.按姓名查詢│ \n"); printf("\t │ │ \n"); printf("\t │3.全部顯示 4.返回 │ \n"); printf("\t └─────────────┘ \n"); printf("\t 請輸入你的選擇:"); scanf("%d", &a); while(a<1||a>3) { printf("\t 請輸入你的選擇:"); scanf("%d",&a); } if (a == 1) { idchaxun(); //按學號方式查詢 } if (a == 2) { namechaxun(); //按姓名方式查詢 } if (a == 3) { quanbuxianshi(); //全部顯示 } if (a == 4) { system("cls"); menu(); } } //****************************** //****************************** //****************************** int idchaxun(void) //按學號查詢 { int i,j,a; printf("\t 請輸入需要查詢的學號:"); scanf("%d",&a); j=0; for(i=0;i<100;i++) { if(stu[i].id==a) { j=1; //節點 printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); printf(" 學號\t姓名\t性別\t年齡\t語文\t數學\t英語\t專業\t總分\n"); printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); printf(" %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[i].id, stu[i].name, stu[i].xin, stu[i].age, stu[i].yu, stu[i].shu, stu[i].yin, stu[i].com, stu[i].sum); printf("\n\n 輸入1返回主介面,按其他鍵退出程式! "); break; } } if(j==0) //節點沒變說明沒有查詢到結果 { printf("\t 對不起,記錄中沒有此人!\n"); printf("\n\n 輸入1返回主介面,按其他鍵退出程式! "); } scanf("%d",&a); if(a==1) { system("cls"); menu(); } if(a!=1) { printf("\n\t\t\t\t退出系統中..."); Sleep(3000); exit(0); } return 0; } //****************************** //****************************** //****************************** int namechaxun(void) //按姓名查詢 { char num[10]; int i,j,a; printf("\t 請輸入需要查詢的姓名:"); scanf("%s",num); j=0; for(i=0;i<10;i++) { if(strcmp(num,stu[i].name)==0) { j=1; printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); printf(" 學號\t姓名\t性別\t年齡\t語文\t數學\t英語\t專業\t總分\n"); printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); printf(" %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[i].id, stu[i].name, stu[i].xin, stu[i].age, stu[i].yu, stu[i].shu, stu[i].yin, stu[i].com, stu[i].sum); printf("\n\n 輸入1返回主介面,按其他鍵退出程式! "); break; } } if(j==0) { printf("\t 對不起,記錄中沒有此人!"); printf("\n\n 輸入1返回主介面,按其他鍵退出程式! "); } scanf("%d",&a); if(a!=1) { printf("\n\t\t\t\t退出程式中..."); Sleep(3000); exit(0); } if(a==1) { system("cls"); menu(); } return 0; } //****************************** //****************************** //****************************** int quanbuxianshi(void) //全部顯示 { int a; printf("\n"); printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); printf(" 學號\t姓名\t性別\t年齡\t語文\t數學\t英語\t專業\t總分\n"); printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); for(j=0;j<i;j++) { printf(" %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[j].id, stu[j].name, stu[j].xin, stu[j].age, stu[j].yu, stu[j].shu, stu[j].yin, stu[j].com, stu[j].sum); } printf("\n\n 輸入1返回主介面,按其他鍵退出程式! "); scanf("%d", &a); if (a == 1) { system("cls"); menu(); } if (a != 1) { printf("\n\t\t\t\t\t退出程式中..."); Sleep(3000); exit(0); } return 0; } //************************** //************************** //************************** int idxiugai(void) //按學號修改 { int i,a,j; printf("\t 請輸入需要修改的學號資訊:"); scanf("%d",&a); while(a>100&&a<1) { printf("\t 輸入範圍為1~100:"); scanf("%d",&a); } j=0; for(i=0;i<100;i++) { if(a==stu[i].id) { j=1; printf("請輸入修改後新的資訊:\n"); printf("學號:"); scanf("%d", &stu[i].id); while (stu[i].id<1 || stu[i].id>100) { printf("輸入範圍為1~100:"); scanf("%d", &stu[i].id); } printf("姓名:"); getchar(); gets(stu[i].name); printf("性別:"); gets(stu[i].xin); while (strcmp(stu[i].xin,"男") != 0 && strcmp(stu[i].xin, "女") != 0) { printf("性別只限男女:"); gets(stu[i].xin); } printf("年齡:"); scanf("%d", &stu[i].age); while (stu[i].age <= 0 || stu[i].age>100) { printf("年齡只限1~100:"); scanf("%d", &stu[i].age); } printf("語文:"); scanf("%d", &stu[i].yu); while (stu[i].yu<0 || stu[i].yu>100) { printf("輸入只限0~100:"); scanf("%d", &stu[i].yu); } printf("數學:"); scanf("%d", &stu[i].shu); while (stu[i].shu<0 || stu[i].shu>100) { printf("輸入只限0~100:"); scanf("%d", &stu[i].shu); } printf("英語:"); scanf("%d", &stu[i].yin); while (stu[i].yin<0 || stu[i].yin>100) { printf("輸入只限0~100:"); scanf("%d", &stu[i].yin); } printf("專業:"); scanf("%d", &stu[i].com); while (stu[i].com<0 || stu[i].com>100) { printf("輸入只限1~100:"); scanf("%d", &stu[i].com); } stu[i].sum=0; stu[i].sum = stu[i].yu + stu[i].shu + stu[i].yin + stu[i].com; printf("\n修改完畢!\n\n按1返回主介面,按其他鍵退出程式! "); } } if(j==0) { printf("\t 對不起,記錄中沒有此人!"); printf("\n\n按1返回主介面,按其他鍵退出程式! "); } scanf("%d",&a); if(a==1) { system("cls"); menu(); } if(a!=1) { printf("\n\t\t\t\t退出程式中..."); Sleep(3000); exit(0); } return 0; } //************************** //************************** //************************** int namexiugai(void) //按姓名修改 { int a,i,j; char num[10]; printf("\t 請輸入需要修改的名稱資訊:"); scanf("%s",num); j=0; for(i=0;i<100;i++) { if(strcmp(num,stu[i].name)==0) { j=1; printf("請輸入修改後新的資訊:\n"); printf("學號:"); scanf("%d", &stu[i].id); 。。。。。。。。 。。。。。。。。 。。。。。。。。 如果需要購買全部程式碼,那麼請新增 qq:1294604252 青樹檸檬。 如果不好用 當我啥也沒說 →_→ →_→
//嘿嘿 樓主第一次在這兒寫帖子,有什麼問題麻煩指出來哈! 多多關照O(∩_∩)O