diff --git a/fangjun.cpp b/fangjun.cpp new file mode 100644 index 0000000..026ed4e --- /dev/null +++ b/fangjun.cpp @@ -0,0 +1,348 @@ +#include +#include +#include +#include +#include + +FILE *fp;//文件指针 +int i_entry=0;//学生的人数统计 +#define MIN_C 100//每个数据对应字符串类型占据的大小 +#define MAX_G 1000//学生信息量大小 +struct student { + char stuid[MIN_C];//学生学号 + char name[MIN_C];//学生姓名 + char age[3];//学生年龄 + char gender[MIN_C];//学生性别 + char birth[MIN_C];//学生出生日期 + char add[MIN_C];//学生地址 + char tle[MIN_C];//学生电话 + char email[MIN_C];//学生邮箱 +}DATA[MAX_G]; + + +struct student temp[MAX_G];//用于排序的中间变量 +struct student are; + + +//被调函数 +void init();//文件的初始化读入 +void GREEN();//控制台颜色为绿色 +void RED();//控制台调整前景色为红色 +void LIGHT();//控制台调整前景色为强光 + +void deal();//处理数据 +//dell()函数包含的自定义函数 +void notice();//提示信息 +void case1();//学生综合信息录入 +void entry(); +void file_save(); + +void case2();//学生综合信息浏览 +void i_printf(); + +void case3();//综合信息排序浏览 +void stuid_sort(int I,int L); +void name_sort(int I,int L); + +void case4();//学生个人信息查询 +void stuid_find(); +void name_find(); + +void case5();//学生综合信息修改 +void Change(int x); + + + + + +int main() +{ GREEN(); + printf(">********* 亲 ><欢迎使用学生信息管理系统 *********<\n"); + printf(">*********亲 请输入正确的密码,超过三次错误将退出系统哦\n"); + int u=3; + + char s[15]; + while(u--) + {if(u==2) + printf("亲 请输入正确密码 ") ; + else + printf("亲,您的密码有误,请重新输入"); + scanf("%s",s); + if(strcmp("asdfghjkl",s)==0) + { + break; + + } + else + continue; + } + if(u==0) + { GREEN(); + printf(" 》******* 亲您的密码输入有误,sorry\n"); + return 0; + } + else + { + if((fp=fopen("student_data.txt","r+"))==NULL) + { + printf("FILE\n"); + fp=fopen("student_data.txt","w+"); + } + init();//文件的初始化读入 + LIGHT(); + printf("当前总人数:%d\n",i_entry); + GREEN();//控制台颜色为绿色 + printf(">********** 欢迎您使用学生信息管理系统(1.1) **********<\n"); + printf(">********** 请输入以下命令行所对应的数字进行操作: **********<\n"); + printf(">**********请确定正确退出程序,否则文件将不能被正常保存。**********<\n"); + deal();//处理数据 + fclose(fp);//文件正常关闭 + return 0; +}} + +void init() //文件的初始化读取 +{ + while (!feof(fp)) + { + fscanf(fp, "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", DATA[i_entry].stuid, DATA[i_entry].name, DATA[i_entry].age, + DATA[i_entry].gender, DATA[i_entry].birth, DATA[i_entry].add, DATA[i_entry].tle, DATA[i_entry].email); + i_entry++; + } +} + +void RED() {//控制台调整前景色为红色 + HANDLE kai_1 = GetStdHandle(STD_OUTPUT_HANDLE); + SetConsoleTextAttribute(kai_1, FOREGROUND_INTENSITY | FOREGROUND_RED); // 为红色 +} + +void GREEN() {//控制台调整前景色为绿色 + HANDLE kai_2 = GetStdHandle(STD_OUTPUT_HANDLE); + SetConsoleTextAttribute(kai_2, FOREGROUND_INTENSITY | FOREGROUND_GREEN);// 为绿色 +} +void LIGHT(){ + HANDLE kai_2 = GetStdHandle(STD_OUTPUT_HANDLE); + SetConsoleTextAttribute(kai_2, FOREGROUND_INTENSITY | FOREGROUND_INTENSITY);// 为强光 +} + +void deal() {//主要处理函数 + int k,flag,p; + p=1; + notice(); + flag=1; + while(flag) { + if(p>1) + { + system("cls"); + notice(); + } + scanf("%d",&k); + system("cls"); + switch(k) { + case 0: { + puts("温馨提醒:"); + puts("\t ^…………^……^^谢谢您的支持,欢迎再次使用!^^……^…………^ "); + puts("\t*******学生基本信息已保存在当前目录文件 student_data.txt 下********"); + flag=0; + LIGHT(); + break; + } + case 1: { + case1(); + break; + } + case 2: { + case2(); + break; + } + case 3: { + case3(); + break; + } + case 4: { + case4(); + break; + } + case 5: { + case5(); + break; + } + default: { + RED(); + printf("请正确键入命令前数字!\n"); + GREEN(); + break; + } + } + p=1103; + puts("\n"); + } +} + +void notice() {//提示信息 + RED(); + puts("\t\t\t1.学生综合信息录入"); + puts("\t\t\t2.学生综合信息浏览"); + puts("\t\t\t3.综合信息排序浏览"); + puts("\t\t\t4.学生个人信息查询"); + puts("\t\t\t5.学生综合信息修改"); + printf("\t\t\t0. 退 出 系 统\n"); + GREEN(); + printf("请键入:"); +} +//11111111111 +void case1() {//学生综合信息录入 + int flag; + flag=1; + while(flag) { + entry(); + LIGHT(); + printf("提示:1,继续录入;0,录入完成.是否继续录入:"); + GREEN(); + scanf("%d",&flag); + i_entry++; + } +} +void entry() {//学生信息的录入 + int flag,i; + system("cls"); + init(); + flag=1; + puts("***************>>>>>>当前模式为学生信息录入状态<<<<<<*************"); + printf("请输入学生学号:"); + flag=1;//标识变量,用以判断该信息是否已存在 + scanf("%s",&DATA[i_entry].stuid); + for(i=0; i>>>>>当前模式为学生信息浏览状态<<<<<<*************"); + i_printf(); +} +void i_printf() {//学生信息的输出 + int i,k=1; + //printf("学号\t姓名\t年龄\t性别\t出生年/月/日\t联系地址\t联系电话\t联系邮箱"); + printf("\n"); + if(k) + { + for(i=0; i>>>>>当前模式以学号查询信息状态<<<<<<*************"); + while(k) { + printf("请键入学生学号: "); + scanf("%s",wqs); + for(i=0; i>>>>>当前模式以姓名查询信息状态<<<<<<*************"); + while(k) { + printf("请键入学生姓名: "); + scanf("%s",wqs); + for(i=0; i #include #include +#include"fu.h" FILE *fp;//文件指针 int i_entry=0;//学生的人数统计 @@ -270,7 +271,6 @@ void i_printf() {//学 } } - //44444444444 void case4() {//学生个人信息查询 int v; @@ -348,3 +348,4 @@ void name_find() {// } +