C语言学生管理系统(增进版)
在原版上进行改进,主要改进的功能有。
1.利用atof:将字符串转换为浮点型;
利用atoi:将字符串转换为整型;
原文地址:http://www.cnblogs.com/sddai/p/5774121.html
3.将结构体改变了,可能因为编码原因,只能char型输入,还好有ASCII码
4.将输出格式改变
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <math.h>
- #include <windows.h>
- #pragma warning(disable : 4996)
- #pragma warning(disable : 4477)
- FILE *fp;
- int count;
- char biubiubiu = '\n';
- struct add
- {
- char ch[];
- char a[];
- char SID[];
- char ch1[];
- char b[];
- char Name[];
- char ch2[];
- char c[];
- char Age[];
- char ch3[];
- char d[];
- char Gender[];
- char ch4[];
- char e[];
- char EntranxeScore[];
- char ch5[];
- }add1[], student, *pointer;
- void color(const unsigned short color1)
- {
- if (color1 >= && color1 <= )
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color1);
- else
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), );
- }
- void printinfor();//菜单函数
- void wuyu_1();//按学号排序函数
- void wuyu_2();//按总成绩排序函数
- void function_1();//添加学生信息函数
- void function_2();//删除学生信息函数
- void function_3();//更改学生信息函数
- void function_4();//查询学生信息函数
- void function_5();//显示所有学生信息函数
- void function_6();//附加功能选项函数
- void findfunction_1();//通过学号查询函数
- void findfunction_2();//通过学生姓名查询函数
- void findfunction_3();//通过学生年龄查询函数
- void findfunction_4();//通过学生分数查询函数
- void add_txt();
- int main(void)
- {
- int num_1, k;
- fp = fopen("D:\\studyinfor.txt", "ab+");//打开文本/创建,进行操作
- fread(add1, sizeof(struct add), , fp);//读取文本储存信息
- add_txt();
- for (k = ; k<; k++)//判断文本中储存人数(Age==0表示此处无数据)
- {
- if (add1[k].Age[] == '\0')
- {
- break;
- }
- count++;
- }
- fclose(fp);//关闭指针
- printinfor();//显示菜单
- while ()//使用者操作
- {
- do
- {
- printf("请输入要进行操作的序列号:");
- scanf("%d", &num_1);
- } while (num_1< || num_1>);
- if (num_1 == )break;
- switch (num_1)
- {
- case :function_1(); break;
- case :function_2(); break;
- case :function_3(); break;
- case :function_4(); break;
- case :function_5(); break;
- case :function_6(); break;
- }
- system("cls");
- printinfor();
- }
- return ;
- }
- void checkSID(int j)//检查学号大小函数
- {
- int num_int;
- num_int = atoi(add1[j].SID);
- while (num_int <= || num_int>)
- {
- color();
- printf("warning:SID的取值范围在0~750,请重新输入.\n");
- color();
- printf("请输入学生的学号:");
- scanf("%s", &add1[j].SID);
- num_int = atoi(add1[j].SID);
- if (num_int> && num_int <= )
- {
- break;
- }
- }
- }
- void checkSID_1(int m)//检查学号是否重复函数
- {
- int k, num_int, num1_int;
- num1_int = atoi(add1[m].SID);
- for (k = ; k < count; k++)
- {
- if (k == m)
- {
- continue;
- }
- num_int = atoi(add1[k].SID);
- while (num_int == num1_int)
- {
- color();
- printf("学号重复,请重新输入.\n");
- color();
- printf("请输入学号:");
- scanf("%s", &add1[m].SID);
- num1_int = atoi(add1[m].SID);
- k == ;
- }
- }
- }
- //因为选择输入的方式是ab+,从新从i=0开始输入进去,所以想要通过
- void checkName(int m, char Name[])//检查姓名函数
- {
- while (strlen(Name)>)
- {
- color();
- printf("warning:Name的字数最多为5,请重新输入.\n");
- color();
- printf("请输入学生的姓名:");
- scanf("%s", &add1[m].Name);
- }
- }
- void checkGender(int i, char a[])//检查性别函数
- {
- while (strcmp(a, "男") && strcmp(a, "女"))
- {
- color();
- printf("warning:Gender只能是男或女,请重新输入.\n");
- color();
- printf("请输入学生的性别:");
- scanf("%s", &add1[i].Gender);
- }
- }
- void checkAge(int m)//检查年龄函数
- {
- int num_int;
- num_int = atoi(add1[m].Age);
- while (num_int< || num_int>)
- {
- color();
- printf("warning:Age的取值范围在0~122,请重新输入,严肃对待!\n");
- color();
- printf("请输入学生的年龄:");
- scanf("%s", &add1[m].Age);
- num_int = atoi(add1[m].Age);
- }
- }
- void checkEntranxeScore(int k)
- {
- double num_double;
- num_double = atof(add1[k].EntranxeScore);
- while (num_double< || num_double>)
- {
- color();
- printf("warning:EntranxeScore的取值范围在0~750,请重新输入.\n");
- color();
- printf("请输入学生的分数:");
- scanf("%lf", &add1[k].EntranxeScore);
- }
- }
- void getName(char name[]) {
- while () {
- printf("请输入学生的姓名:");
- fflush(stdin);
- scanf("%s", name);
- if (strlen(name)<) {
- break;
- }
- }
- }
- void printinfor()
- {
- system("date /t");
- system("TIME /t\n");
- printf(" **********欢迎使用学生信息管理系统(当前有%d人)********\n", count);
- printf(" *\t\t(1)添加学生信息\t\t\t\t*\n");
- printf(" *\t\t(2)删除学生信息\t\t\t\t*\n");
- printf(" *\t\t(3)更改学生信息\t\t\t\t*\n");
- printf(" *\t\t(4)查询学生信息\t\t\t\t*\n");
- printf(" *\t\t(5)显示所有学生信息\t\t\t*\n");
- printf(" *\t\t(6)附加功能选项\t\t\t\t*\n");
- printf(" *\t\t(0)退出学生系统\t\t\t\t*\n");
- printf(" *\t\t\t\t\t 作者:liu\t*\n");
- printf(" *****************************************************\n");
- }
- void findfunction()
- {
- system("cls");
- system("date /t");
- system("TIME /t\n");
- printf(" ***************查询学生信息(当前有%d人)*****************\n", count);
- printf(" *\t\t(1)通过学生学号查询 \t\t\t*\n");
- printf("\n");
- printf(" *\t\t(2)通过学生姓名查询 \t\t\t*\n");
- printf("\n");
- printf(" *\t\t(3)通过学生年龄查询 \t\t\t*\n");
- printf("\n");
- printf(" *\t\t(4)通过学生分数查询 \t\t\t*\n");
- printf(" *********************************************************\n");
- }
- void Morefunction()
- {
- system("cls");
- printf(" *******************附加功能*****************\n");
- printf("\t\t\t*\t\t\t\t\t *\n");
- printf(" *\t\t(1)按学号进行整理 \t *\n");
- printf("\t\t\t*\t\t\t\t\t *\n");
- printf(" *\t\t(2)按总分进行整理 \t *\n");
- printf("\t\t\t*\t\t\t\t\t *\n");
- color();
- printf("\t\t\t*待开发... ... *\n");
- color();
- printf("\t\t\t********************************************\n");
- }
- void inputmomo(int i)
- {
- printf("请输入学生的学号:");
- scanf("%s", &add1[i].SID);
- checkSID(i);
- checkSID_1(i);
- color();
- printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n");
- color();
- printf("请输入学生的名字:");
- scanf("%s", &add1[i].Name);
- checkName(i, add1[i].Name);
- color();
- printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n");
- color();
- printf("请输入学生的年龄:");
- scanf("%s", &add1[i].Age);
- checkAge(i);
- color();
- printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n");
- color();
- printf("请输入学生的性别:");
- scanf("%s", &add1[i].Gender);
- checkGender(i, add1[i].Gender);
- color();
- printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n");
- color();
- printf("请输入学生的总成绩:");
- scanf("%s", &add1[i].EntranxeScore);
- color();
- printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n");
- color();
- }
- void function_1()//添加学生信息函数
- {
- int n, i, m = count;
- if ((fp = fopen("D:\\studyinfor.txt", "ab+")) == NULL)//检测文本是否正常打开
- {
- color();
- printf("Can't open the file!");
- color();
- system("pause");
- exit();
- }
- printf("请输入您要添加的学生信息人数:");
- scanf("%d", &n);
- for (i = count; i<n + m; i++)
- {
- printf("请输入No.%d的信息.\n", i + );
- inputmomo(i - m);//录入学生信息
- count++;
- }
- fwrite(add1, sizeof(struct add), n, fp);
- rewind(fp);
- color();
- printf("添加中");
- Sleep();
- printf(".");
- Sleep();
- printf(".");
- Sleep();
- printf(". ");
- Sleep();
- printf(".");
- Sleep();
- printf(".");
- Sleep();
- printf(".\n");
- color();
- printf("添加成功!\n");
- printf("学生信息目录已更新.\n");
- fread(add1, sizeof(struct add), count, fp);//读取学生信息
- color();
- printf("___________________________________________________\n");
- printf("| 学号 | 姓名 | 年龄 | 性别 | 总分成绩 |\n");
- for (i = ; i<count; i++)//打印更新的学生信息
- {
- if (add1[i].SID>)
- printf(" %-3s %-3s %-6s %-3s \t %-6s \n", add1[i].SID, add1[i].Name, add1[i].Age, add1[i].Gender, add1[i].EntranxeScore);
- }
- printf("|-------------------------------------------------|\n");
- fclose(fp);
- printf("按任意键返回主菜单... ....\n");
- system("pause");
- }
- void function_2()//删除学生信息
- {
- int m, k, i, j = , num_int;
- if ((fp = fopen("D:\\studyinfor.txt", "wb+")) == NULL)
- {
- printf("Can't open the file!\n");
- system("pause");
- exit();
- }
- if (count == )
- {
- color();
- printf("The file is NULL!!!\n");
- color();
- return;
- }
- printf("请输入你要删除的学生的学号:");
- scanf("%d", &m);
- fread(add1, sizeof(struct add), count, fp);
- for (k = ; k<count; k++)
- {
- num_int = atoi(add1[k].SID);
- if (num_int == m)
- {
- printf("_____________________________________________________\n");
- printf("| 学号 | 姓名 | 年龄 | 性别 | 总分成绩 |\n");
- printf(" %.2d %-6s %-3d %-3s \t%5.2lf \n", add1[k].SID, add1[k].Name, add1[k].Age, add1[k].Gender, add1[k].EntranxeScore);
- printf("|---------------------------------------------------|\n");
- for (i = k; i<count - ; i++)//将要删除的数后面的函数往前进一格,占去要删除的部分
- {
- strcpy(add1[i].SID, add1[i + ].SID);
- strcpy(add1[i].Name, add1[i + ].Name);
- strcpy(add1[i].Age, add1[i + ].Age);
- strcpy(add1[i].Gender, add1[i + ].Gender);
- strcpy(add1[i].EntranxeScore, add1[i + ].EntranxeScore);
- }
- count--;
- fwrite(add1, sizeof(struct add), count, fp);
- rewind(fp);//使指针回到开头
- fclose(fp);
- color();
- printf("删除中");
- Sleep();
- printf(".");
- Sleep();
- printf(".");
- Sleep();
- printf(". ");
- Sleep();
- printf(".");
- Sleep();
- printf(".");
- Sleep();
- printf(".\n");
- Sleep();
- color();
- printf("删除成功!按任意键继续... ...\n");
- color();
- j++;
- }
- }
- if (j == )
- {
- color();
- printf("查无此人!\n");
- color();
- }
- system("pause");
- }
- void function_3()//更改学生信息
- {
- int m, k, j = , num_int;
- if ((fp = fopen("D:\\studyinfor.txt", "rb+")) == NULL)
- {
- printf("Can't open the file!\n");
- system("PAUSE");
- exit();
- }
- if (count == )
- {
- color();
- printf("The file is NULL!!!\n");
- color();
- return;
- }
- printf("请输入你要更改的学生的学号:");
- scanf("%d", &m);
- fread(add1, sizeof(struct add), count, fp);
- for (k = ; k<count; k++)
- {
- num_int = atoi(add1[k].SID);
- if (num_int == m)
- {
- printf("_____________________________________________________\n");
- printf("| 学号 | 姓名 | 年龄 | 性别 | 总分成绩 |\n");
- printf(" %-6s %-6s %-3s %-3s \t %-6s \n", add1[k].SID, add1[k].Name, add1[k].Age, add1[k].Gender, add1[k].EntranxeScore);
- printf("|---------------------------------------------------|\n");
- printf("请输入你要修改的内容:\n");
- inputmomo(k);
- rewind(fp);
- fwrite(add1, sizeof(struct add), count, fp);
- //rewind(fp);
- fclose(fp);
- color();
- printf("更改成功!按任意键继续... ...\n");
- color();
- j++;
- }
- }
- if (j == )
- {
- color();
- printf("查无此人!\n");
- color();
- }
- system("pause");
- }
- void function_4()//查询学生信息
- {
- int m;
- findfunction();//进入查询菜单
- printf("请输入你查询的方式序列号:");
- scanf("%d", &m);
- do {
- switch (m)
- {
- case :findfunction_1(); break;
- case :findfunction_2(); break;
- case :findfunction_3(); break;
- case :findfunction_4(); break;
- }
- } while (m< || m>);
- }
- void function_5()//显示所有学生信息
- {
- int i;
- if ((fp = fopen("D:\\studyinfor.txt", "rb")) == NULL)
- {
- printf("Can't open the file!\n");
- system("PAUSE");
- exit();
- }
- fread(add1, sizeof(struct add), count, fp);
- if (count == )
- {
- color();
- printf("The file is NULL!\n");
- color();
- system("pause");
- return;
- }
- else {
- printf("_____________________________________________________\n");
- printf("| 学号 | 姓名 | 年龄 | 性别 | 总分成绩 |\n");
- for (i = ; i<count; i++)
- {
- if (add1[i].SID != '\0')
- printf(" %-3s %-6s %-3s %-3s \t %-6s \n", add1[i].SID, add1[i].Name, add1[i].Age, add1[i].Gender, add1[i].EntranxeScore);
- }
- printf("|---------------------------------------------------|\n");
- }
- fclose(fp);
- printf("按任意键返回主菜单... ...\n");
- system("pause");
- }
- void function_6()//附加功能选项
- {
- Morefunction();//附加功能
- int k;
- do {
- printf("请输入你要操作的序号:");
- scanf("%d", &k);
- switch (k)
- {
- case :wuyu_1(); break;
- case :wuyu_2(); break;
- default:
- {
- color();
- printf("输入有误,请重新输入!\n");
- color();
- }
- }
- } while (k < || k>);
- }
- void findfunction_1()//学生学号查询
- {
- int m, n, i, j = , num_int;
- printf("请输入你要搜索的学生学号范围:\n");
- printf("最小值:");
- scanf("%d", &m);
- printf("最大值:");
- scanf("%d", &n);
- fp = fopen("D:\\studyinfor.txt", "rb+");
- fread(add1, sizeof(struct add), count, fp);
- printf("_____________________________________________________\n");
- printf("| 学号 | 姓名 | 年龄 | 性别 | 总分成绩 |\n");
- for (i = ; i<count; i++)
- {
- num_int = atoi(add1[i].SID);
- if (num_int >= m && num_int <= n)
- {
- printf(" %-3s %-6s %-3s %-3s \t %-3s \n", add1[i].SID, add1[i].Name, add1[i].Age, add1[i].Gender, add1[i].EntranxeScore);
- printf("|---------------------------------------------------|\n");
- j++;
- }
- }
- if (j == )
- {
- printf("无相关学生信息.\n");
- }
- printf("按任意键返回主菜单... ...\n");
- system("pause");
- }
- void findfunction_2()//学生姓名查询
- {
- int i, n = ;
- char name[];
- getName(name);//输入学生姓名
- rewind(fp);
- fp = fopen("D:\\studyinfor.txt", "rb+");
- fread(add1, sizeof(struct add), count, fp);
- for (i = ; i<count; i++)
- {
- if (strcmp(add1[i].Name, name) == ) {
- printf("_____________________________________________________\n");
- printf("| 学号 | 姓名 | 年龄 | 性别 | 总分成绩 |\n");
- printf(" %-3s %-6s %-3s %-3s \t %-6s \n", add1[i].SID, add1[i].Name, add1[i].Age, add1[i].Gender, add1[i].EntranxeScore);
- printf("|---------------------------------------------------|\n");
- ++n;
- break;
- }
- }
- if (n == )
- {
- color();
- printf("无相关学生信息!\n");
- color();
- }
- printf("按任意键返回主菜单... ...\n");
- system("pause");
- }
- void findfunction_3()//学生年龄查询
- {
- int m, n, i, j = , num_int;
- printf("请输入你要查询的学生年龄范围:\n");
- printf("最小值:");
- scanf("%d", &m);
- printf("最大值:");
- scanf("%d", &n);
- fp = fopen("D:\\studyinfor.txt", "rb+");
- fread(add1, sizeof(struct add), count, fp);
- printf("_____________________________________________________\n");
- printf("| 学号 | 姓名 | 年龄 | 性别 | 总分成绩 |\n");
- for (i = ; i<count; i++)
- {
- num_int = atoi(add1[i].Age);
- if (num_int >= m && num_int <= n)
- {
- printf(" %-3s %-6s %-3s %-3s \t %-6s \n", add1[i - ].SID, add1[i - ].Name, add1[i - ].Age, add1[i - ].Gender, add1[i - ].EntranxeScore);
- printf("|---------------------------------------------------|\n");
- j++;
- }
- }
- if (j == )
- {
- printf("无相关学生信息!\n");
- }
- printf("按任意键返回主菜单... ...\n");
- system("pause");
- }
- void findfunction_4()//学生分数查询
- {
- int m, n, i, j = ;
- double num_double;
- printf("请输入你要查询的学生总成绩范围:\n");
- printf("最小值:");
- scanf("%d", &m);
- printf("最大值:");
- scanf("%d", &n);
- fp = fopen("D:\\studyinfor.txt", "rb+");
- fread(add1, sizeof(struct add), count, fp);
- printf("_____________________________________________________\n");
- printf("| 学号 | 姓名 | 年龄 | 性别 | 总分成绩 |\n");
- for (i = ; i<count; i++)
- {
- num_double = atof(add1[i].EntranxeScore);
- if (num_double >= m && num_double <= n)
- {
- printf(" %-3s %-6s %-3s %-3s \t %-6s \n", add1[i].SID, add1[i].Name, add1[i].Age, add1[i].Gender, add1[i].EntranxeScore);
- printf("|---------------------------------------------------|\n");
- j++;
- }
- }
- if (j == )
- {
- printf("无相关学生信息!\n");
- }
- printf("按任意键返回主菜单... ...\n");
- system("pause");
- }
- void ExchangeFunction(int m, int n)//交换数据结构中两个统一结构的不同下标的结构值
- {
- double max = ;
- int max_1 = ;
- strcpy(student.EntranxeScore, add1[m].EntranxeScore);
- strcpy(add1[m].EntranxeScore, add1[n].EntranxeScore);
- strcpy(add1[n].EntranxeScore, student.EntranxeScore);
- strcpy(student.Age, add1[m].Age);
- strcpy(add1[m].Age, add1[n].Age);
- strcpy(add1[n].Age, student.Age);
- strcpy(student.SID, add1[m].SID);
- strcpy(add1[m].SID, add1[n].SID);
- strcpy(add1[n].SID, student.SID);
- strcpy(student.Gender, add1[m].Gender);
- strcpy(add1[m].Gender, add1[n].Gender);
- strcpy(add1[n].Gender, student.Gender);
- strcpy(student.Name, add1[m].Name);
- strcpy(add1[m].Name, add1[n].Name);
- strcpy(add1[n].Name, student.Name);
- }
- void wuyu_1()//按学号查询
- {
- if ((fp = fopen("D:\\studyinfor.txt", "rb+")) == NULL)
- {
- printf("Can't open the file!\n");
- system("PAUSE");
- exit();
- }
- int m, n, j, num_int, num1_int;
- for (m = ; m < count - ; m++)//比较学号大小
- {
- for (n = m + ; n < count; n++)
- {
- num_int = atoi(add1[n].SID);
- num1_int = atoi(add1[m].SID);
- if (num_int < num1_int)
- {
- ExchangeFunction(m, n);//交换一个结构体整体值
- }
- }
- }
- color();
- printf("排序中");
- Sleep();
- printf("(");
- Sleep();
- printf(";");
- Sleep();
- printf("—");
- Sleep();
- printf("_");
- Sleep();
- printf("—");
- Sleep();
- printf(")\n");
- Sleep();
- color();
- printf("排序成功!按任意键继续... ...\n");
- color();
- printf("_____________________________________________________\n");
- printf("| 学号 | 姓名 | 年龄 | 性别 | 总分成绩 |\n");
- for (j = ; j<count; j++)
- {
- printf(" %-3s %-6s %-3s %-3s \t %-6s \n", add1[j].SID, add1[j].Name, add1[j].Age, add1[j].Gender, add1[j].EntranxeScore);
- printf("|---------------------------------------------------|\n");
- }
- rewind(fp);
- fwrite(add1, sizeof(struct add), count, fp);
- fclose(fp);
- system("pause");
- }
- void wuyu_2()//按总分排序
- {
- if ((fp = fopen("D:\\studyinfor.txt", "rb+")) == NULL)
- {
- printf("Can't open the file!\n");
- system("PAUSE");
- exit();
- }
- int m, n, j;
- double num_double, num1_double;
- for (m = ; m < count - ; m++)//比较总分大小
- {
- for (n = m + ; n < count; n++)
- {
- num_double = atof(add1[n].EntranxeScore);
- num1_double = atof(add1[m].EntranxeScore);
- if (num_double > num1_double)
- {
- ExchangeFunction(m, n);//交换两个结构体整体值
- }
- }
- }
- color();
- printf("排序中");
- Sleep();
- printf("(");
- Sleep();
- printf("*");
- Sleep();
- printf("— ");
- Sleep();
- printf("з");
- Sleep();
- printf("—");
- Sleep();
- printf(")\n");
- Sleep();
- color();
- printf("排序成功!按任意键继续... ...\n");
- color();
- printf("_____________________________________________________\n");
- printf("| 学号 | 姓名 | 年龄 | 性别 | 总分成绩 |\n");
- for (j = ; j<count; j++)
- {
- printf(" %-3s %-6s %-3s %-3s \t %-6s \n", add1[j].SID, add1[j].Name, add1[j].Age, add1[j].Gender, add1[j].EntranxeScore);
- printf("|---------------------------------------------------|\n");
- }
- rewind(fp);
- fwrite(add1, sizeof(struct add), count, fp);
- fclose(fp);
- system("pause");
- }
- void add_txt()
- {
- int i;
- for (i = ; i<; i++)
- {
- strcpy(add1[i].ch, "\r\n");
- strcpy(add1[i].ch1, "\r\n");
- strcpy(add1[i].ch2, "\r\n");
- strcpy(add1[i].ch3, "\r\n");
- strcpy(add1[i].ch4, "\r\n");
- strcpy(add1[i].ch5, "\r\n");
- strcpy(add1[i].a, "SID:");
- strcpy(add1[i].b, "Name:");
- strcpy(add1[i].c, "Age:");
- strcpy(add1[i].d, "Gender:");
- strcpy(add1[i].e, "EntranxeScore:");
- }
- }
C语言学生管理系统(增进版)的更多相关文章
- C语言学生管理系统完善版
#include<stdio.h>#include<string.h>#include <stdlib.h>#define M 100struct score ...
- 模拟斗地主和学生管理系统 IO 版
1.模拟斗地主 public class PlayCards { public static void main(String[] args) { String[] color = {"黑桃 ...
- C语言学生管理系统
想练习一下链表,所以就有了这个用C写的学生管理系统 没有把它写入文件,才不是因为我懒哈哈哈,主要是为了练习链表的 #include<stdio.h> #include<stdlib. ...
- C语言学生管理系统(C语言课程设计/精简版)
#include<stdio.h>#include<stdlib.h>#include<windows.h>#include<conio.h>typed ...
- C语言学生管理系统(原版本)(自编)
/*系统特色:(大牛勿笑) *颜色提示 *文字提示 *功能 */ #include <stdio.h> #include <stdlib.h> #include <mat ...
- C语言学生管理系统源码分享
大家好 我就是如假包换的...陈玲 自从运营了C语言程序设计微信公众号 很多粉丝都给我备注 ...奇葩 实在是不敢当 也被人开始叫玲玲姐 我知道 很多人都想看我出境 我本人也有 年多的舞台演讲训练 实 ...
- Java小例子(学习整理)-----学生管理系统-控制台版
1.功能介绍: 首先,这个小案例没有使用数据库,用集合的形式暂时保存数据,做测试! 功能: 增加学生信息 删除学生信息 修改学生信息 查询学生信息: 按照学号(精确查询) 按照姓名(模糊查询) 打 ...
- Java 简化版学生管理系统(IO版)
Student management system 学生管理系统IO版 详细知识点可参考一下几篇文章 常用API Java 之ArrayList集合及应用 Java 之IO流及应用 Compreh ...
- python开发的学生管理系统
python开发的学生管理系统(基础版) #定义一个函数,显示可以使用的功能列表给用户 def showInfo(): print("-"*30) print(" 学生管 ...
随机推荐
- 排列oj
835:排列 总时间限制: 5000ms 内存限制: 65536kB 描述 题目描述: 大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n= ...
- 利用InfluxDB和Grafana搭建数据监测的仪表盘
InfluxDB的介绍及安装 InfluxDB是支持持续写入的时序数据库,常用于监测系统所需要的数据的存储. 官网的详细安装步骤 https://docs.influxdata.com/influxd ...
- lnmp1.3 配置pathinfo---thinkphp3.2 亲测有效
lnmp1.3环境下配置pathinfo模式试了很多方法,都以失败告终,博主被这个问题困扰了很久,终于解决了!现记录如下: 1.打开php.ini 通常该文件在 /usr/local/php/etc/ ...
- msf入门学习笔记
msf-------------------------------------- service postgresql startservice metasploit startmsfconsole ...
- 有关.NET链接Oracle数据库,使用连接池pooling=true时问题
.net链接oracle数据库时,当链接字符串中pooling=true时,视图结构变更时程序报错问题,还请高手指教 现象: 链接字符串: 注意:这里pooling=true: 测试视图: 执行的SQ ...
- MyBatis多租户隔离插件开发
在SASS的大潮流下,相信依然存在很多使用一个数据库为多个租户提供服务的场景,这个情况下一般是多个租户共用同一套表通过sql语句级别来隔离不同租户的资源,比如设置一个租户标识字段,每次查询的时候在后面 ...
- 关于无法全然下载CyanogenMod代码的问题
CyanogenMod真的是一个奇妙的东东,它让开发手机固件不再是手机生产商的专利,每一个有志于此的程序猿都可能为自己的手机定制一份专有的,独一无二的固件,这在曾经是想都不敢想的. 而且Cyanoge ...
- Linux性能及调优指南(翻译)之Linux进程管理
本文为IBM RedBook的Linux Performanceand Tuning Guidelines的1.1节的翻译原文地址:http://www.redbooks.ibm.com/redpap ...
- Highcharts使用CSV格式数据绘制图表
Highcharts使用CSV格式数据绘制图表 CSV(Comma-Separated Values,逗号分隔值文本格式)是採用逗号切割的纯文本数据.通常情况下.每一个数据之间使用逗号切割,几个相关数 ...
- 自学Zabbix1.3-zabbix进程
默认情况下zabbix包含5个程序:zabbix_agentd.zabbix_get.zabbix_proxy.zabbix_sender.zabbix_server,另外一个zabbix_java_ ...