#include
#include
#include
//宣告結構體型別
typedef
struct studentstu;
int count = 0; //記錄學生的有效個數
/*新增乙個學生,成功返回1 失敗返回0*/
int addstudent(stu* stus, int len);
/*檢查學生id是否重複,已經存在返回1 反之返回0*/
int checkid(stu* stus, int id);
/*列印所有學生的資訊*/
void printallstudent(stu* stus);
/*按姓名查詢學生資訊*/
void findstudentbyname(stu* stus);
/*通過學生的id修改學生的分數,成功返回1 失敗返回0*/
int modifyscorebyid(stu* stus);
/*通過id刪除指定的學生資訊,成功返回1 失敗返回0*/
int deletestudentbyid(stu* stus);
/*通過分數對學生生進公升序排序*/
void sortstudentbyscore(stu* stus);
/*指定排序規則*/
int compar(const
void * x , const
void * y)
/*螢幕暫停,直到接收下乙個字元時*/
void contine(void)
int main(int argc, char ** argv)
switch(choice)else
//暫停
contine();
break;
case
2: //列印
printallstudent(stus);
break;
case
3: //查詢
findstudentbyname(stus);
break;
case
4: //修改
if(modifyscorebyid(stus))else
break;
case
5: //刪除
if(deletestudentbyid(stus))else
break;
case
6: //排序
qsort(stus, count, sizeof(stu), compar);
printallstudent(stus);
//sortstudentbyscore(stus);
break;
case
0: return
1; //結束主函式,程式結束
default:
break;}}
return0;}
/*新增乙個學生,成功返回1 失敗返回0*/
int addstudent(stu* stus, int len)
//輸入學生資訊
stu stu;
memset(&stu, 0, sizeof(stu));
printf("請輸入學生id、姓名、分數: ");
scanf("%d %s %lf", &(stu.id), stu.name, &(stu.score));
//檢查id是否重複
if(!checkid(stus, stu.id))
return
0; //id重複,新增失敗
}/*檢查學生id是否重複,已經存在返回1 反之返回0*/
int checkid(stu*stus, int id)
//遍歷陣列查詢是否存在相同的id
int i = 0;
for(i = 0; i < count; i++)
}return0;}
/*列印所有學生的資訊*/
void printallstudent(stu* stus)
printf("學號\t\t姓名\t\t分數\n");
int i = 0;
for(i = 0; i < count; i++)
}/*按姓名查詢學生資訊*/
void findstudentbyname(stu* stus)
//遍歷陣列匹配要查詢的學生姓名
char name[20];
memset(name, 0, sizeof(name));
printf("請輸入要查詢的學生姓名: ");
scanf("%s", name);
int i = 0;
printf("學號\t\t姓名\t\t分數\n");
int flag = 0; //是否至少有乙個匹配
for(i = 0; i < count; i++)
}if(!flag)
}/*通過學生的id修改學生的分數,成功返回1 失敗返回0*/
int modifyscorebyid(stu* stus)
int id = 0;
printf("請輸入需要修改的學生id: ");
scanf("%d", &id);
//沒有該學生
if(!checkid(stus, id))
double score = 0.0;
printf("請輸入要修改的分數:");
scanf("%lf", &score);
int i = 0;
for(i = 0; i < count; i++)
}return1;}
/*通過id刪除指定的學生資訊,成功返回1 失敗返回0*/
int deletestudentbyid(stu *stus)
int id = 0;
printf("請輸入學生的id:");
scanf("%d", &id);
//沒有當前學生存在
if(!checkid(stus, id))
int i = 0;
int j = 0;
for(i = 0; i < count; i++)
count--; //學生有效個數-1
break;}}
return1;}
/*通過分數對學生生進公升序排序*/
void sortstudentbyscore(stu* stus)
int i = 0;
int j = 0;
for(i = 0; i < count - 1; i++)}}
//列印排序後的結果
printallstudent(stus);
}
簡化版的SpringMVC框架的實現思路
最近整理了一下幾年前的工作,把專案的底層 剝出來.這是乙個類似於springmvc的底層框架,資料端使用的是dbutils,適合小型的定製系統.其中核心部分是dispatcher,註冊在web filter上,通過filter init初始化以下四部分 全域性物件池,請求對映表,視 析方式表,還有 ...
學生管理系統集合版 學生管理系統IO版(2)
從檔案中讀資料到集合中 public static void readdata string filename,arraylistarraylist throws ioexception bufferedreader.close 關閉資源 從集合中的資料寫入檔案public static void ...
學生管理系統(I O版)
1.新增學生功能 鍵盤錄入學生資訊 姓名,語文成績,數學成績,英語成績 儲存到student.txt檔案中,格式 001,張三,85,90,100002 李四,99,85,70.2.刪除學生功能 根據錄入的學號從student.txt檔案中刪除一行 3.修改學生功能 根據錄入要刪除的學生學號找到學生...