#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<math.h>
#define N 100
struct studentinfmansys
{
char Major[30];
char Name[15];
char Num[20];
char Sex[5];
char HouseAddr[50];
char CommunicationAddr[50];
char Work[50];
char HousePho[20];
char PersonPho[20];
char Postalcode[10];
char Mail[20];
};
struct studentaddbooinfmansys
{
char Name[15];
char Num[20];
char Sex[5];
char HouseAddr[50];
char HousePho[20];
char PersonPho[20];
char QQ[15];
char Mail[20];
};
struct studentscrinfmansys
{
char Name[15];
char Num[20];
char Sex[5];
float Chinese;
float Math;
float English;
float ComputerBasis;
float Php;
float Java;
float RouterSwitch;
float Cprogram;
float Total[N];
float Average[N];
float score[8];
};
void MainPrint(); /* 首页 */
void StudentPerInfManSys(); /* 学生个人信息管理系统 */
void AddStuPerInf(); /* 添加学生个人信息 */
void QueryStuPerInf(); /* 查询学生个人信息 */
void ModifyStuPerInf(); /* 修改学生个人信息 */
void DeleteStuPerInf(); /* 删除学生个人信息 */
void SavaStuPerInf(); /* 保存学生个人信息 */
void BrowsStuPerInf(); /* 浏览学生信息 */
void BrowsStuPerInfName();
void BrowsStuPerInfNum();
void BrowsStuPerInfPho();
void BrowsStuInfHouPho();
void BrowsStuInfPerPho();
void OutputAllStuInf(); /* 输出所有学生信息 */
void QueryStuPerInf(); /* 查询学生个人信息 */
void PrintfStuPerInf(); /* 打印学生个人信息 */
void GoBack(); /* 返回 */
void StudentAddBooInfManSys(); /* 学生通讯录信息系统管理 */
void AddStuPerAddBooInf(); /* 添加学生个人通讯录信息 */
void QueryStuAddBooInf(); /* 查询学生通讯录信息 */
void QueryAllStuAddBooInf(); /* 查询所有学生通讯录信息 */
void QueryStuPerAddBooInf(); /* 查询学生个人通讯录信息 */
//void ModifyStuAddBooInf(); /* 修改学生通讯录信息 */
void ModifyStuPerAddBooInf(); /* 修改学生个人通讯录信息 */
void DeleteStuAddBooInf(); /* 删除学生通讯录信息 */
void DeleteAllStuAddBooInf(); /* 删除所有学生通讯录信息 */
void DeleteStuPerAddBooInf(); /* 删除学生个人通讯录信息 */
void SavaStuAddBooInf(); /* 保存学生通讯录信息 */
void BrowsStuAddBooInf(); /* 浏览学生通信录信息 */
void OutputAllStuAddBooInf(); /* 输出所有学生通讯录信息 */
void QueryStuPerAddBooInf(); /* 查询学生个人通讯录信息 */
void printfAllStuAddBooInf(); /* 打印所有学生通讯录信息 */
void PrintfStuPerAddBooInf(); /* 打印学生个人通讯录信息 */
void StudentScrInfManSys(); /* 学生成绩信息管理系统 */
void AddStuPerScrInf(); /* 添加学生成绩信息 */
void QueryStuScrInf(); /* 查询学生成绩信息== */
void QueryAllStuScrInf(); /* 查询所有学生成绩信息== */
void QueryStuPerScrInf(); /* 查询学生个人成绩信息== */
void ModifyStuPerScrInf(); /* 修改学生个人成绩信息 */
void DeleteStuScrInf(); /* 删除学生成绩信息 */
void DeleteAllStuScrInf(); /* 删除所有学生成绩信息 */
void DeleteStuPerScrInf(); /* 删除学生个人成绩信息 */
void InnovateFun(); /* 创新功能 */
void QueryStuScrInf(); /* 查询学生成绩信息== */
void QueryAllStuScrInf(); /* 查询所有学生成绩信息== */
void StatisticsStuPoiInf(); /* 统计学生分数段信息 */
void StatisticsAllStuScrInf(); /* 统计所有学生成绩分数段信息?*/
void QueryStuPerScrInf(); /* 查询学生个人成绩信息== */
void OutputStuSubScrInf(); /* 输出学生单科成绩信息 */
void OutputAllStuSubScrInf(); /* 输出所有学生单科成绩信息 */
void BrowsStuScrInf(); /* 浏览学生成绩信息 */
void OutputAllStuScrInf(); /* 输出所以学生成绩信息 */
void StatisticsStuPoiInf(); /* 统计学生分数段信息? */
void MainMen(); /* 主菜单 */
void SystemHel(); /* 系统帮助 */
void SoftwareSpe(); /* 软件说明书 */
void SoftwareAcc(); /* 软件开发依据 */
void CompanyBri(); /* 公司简介 */
void SoftWareUpg(); /* 软件升级 */
void QueryStuName();
void QueryStuNum();
void ModifyName();
void ModifyNum();
void DeleteName();
void DeleteNum();
//void LogOut(); /* 退出系统 */
void main()
{
/*{ char choose='\0',yes_no='\0';
system("color f");
do
{
system("cls");
printf(" 这是学生信息管理系统主页\n ");
printf(" \n");
printf(" 设计者:陈煜超\n");
printf("\t -----------------------------------------------------------\n");
printf("\t|***********************************************************|\n");
printf("\t|* *|\n");
printf("\t|* 学生信息管理系统 *|\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|* 4.系统帮助 *|\n");
printf("\t|* *|\n");
printf("\t|* 0.退出系统 *|\n");
printf("\t|* *|\n");
printf("\t|* *|\n");
printf("\t|***********************************************************|\n");
printf("\t ----------------------------------------------------------- \n");
printf("请你选择数字0-4来实现以上的功能:");
choose=getche();
switch(choose)
{
case'1':StudentPerInfManSys();break;
//case'2':StudentAddBooInfManSys();break;
//case'3':StudentScrInfManSys();break;
//case'4':SystemHel();break;
case'0':break;
default:printf("\n %c请在数字0-4选择!\n"); break;
}
if(choose=='0') break;
printf("\n 即将进入主菜单,要继续选择吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no=='y'||yes_no=='Y');
}*/
char choose='\0',yes_no='\0';
do
{
system("color 3f");
system("cls");
MainPrint();
printf("请你选择数字0-4来实现以上的功能:");
choose=getche();
switch(choose)
{
case'1':StudentPerInfManSys();break;
//case'2':StudentAddBooInfManSys();break;
//case'3':StudentScrInfManSys();break;
//case'4':SystemHel();break;
case'0':break;
default:printf("\n %c请在数字0-4选择!\n"); break;
}
if(choose=='0') break;
printf("\n 即将进入主菜单,要继续选择吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no=='y'||yes_no=='Y');
}
void MainPrint()
{
printf(" 这是学生信息管理系统主页\n ");
printf(" \n");
printf(" 设计者:陈煜超\n");
printf("\t -----------------------------------------------------------\n");
printf("\t|***********************************************************|\n");
printf("\t|* *|\n");
printf("\t|* 学生信息管理系统 *|\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|* 4.系统帮助 *|\n");
printf("\t|* *|\n");
printf("\t|* 0.退出系统 *|\n");
printf("\t|* *|\n");
printf("\t|* *|\n");
printf("\t|***********************************************************|\n");
printf("\t ----------------------------------------------------------- \n");
}
void StudentPerInfManSys()
{ char choose='\0',yes_no='\0';
system("color 9f");
do
{
system("cls");
printf(" 这是学生个人信息管理系统页面\n ");
printf(" \n");
printf(" 设计者:陈煜超\n");
printf("\t -----------------------------------------------------------\n");
printf("\t|***********************************************************|\n");
printf("\t|* *|\n");
printf("\t|* 学生信息管理系统 *|\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|* 4.删除学生个人信息 *|\n");
printf("\t|* *|\n");
printf("\t|* 5.保存学生个人信息 *|\n");
printf("\t|* *|\n");
printf("\t|* 6.浏览学生个人信息 *|\n");
printf("\t|* *|\n");
printf("\t|* 7.返回 *|\n");
printf("\t|* *|\n");
printf("\t|* 0.退出系统 *|\n");
printf("\t|* *|\n");
printf("\t|* *|\n");
printf("\t|***********************************************************|\n");
printf("\t ----------------------------------------------------------- \n");
printf("请你选择数字0-7来实现以上的功能:");
choose=getch();
switch(choose)
{
case'1':AddStuPerInf();break;
case'2':QueryStuPerInf();break;
case'3':ModifyStuPerInf();break;
case'4':DeleteStuPerInf();break;
case'5':SavaStuPerInf();break;
case'6':BrowsStuPerInf();break;
case'7':main();break;
case'0':break;
default:printf("\n %c是非法选项!\n",choose);break;
}
if(choose=='0')break;
printf("\n 你要继续选择吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='n'&&yes_no!='N');
}while(yes_no=='y'||yes_no=='Y');
}
void AddStuPerInf()
{
int i=0;char yes_no='\0';
struct studentinfmansys stu1[N]={0};
FILE *fp=NULL;
system("color 5f");
system("cls");
fp=fopen("h:\\学生信息管理系统.txt","w");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");return;
}
printf("\n欢迎进入添加学生个人信息系统\n");
printf("\n 请输入第%d个记录:\n",i+1);
printf("\n输入学生专业:(用#结束程序)");
scanf("%s",stu1[i].Major);
printf("\n输入学生姓名:(用#结束程序)");
scanf("%s",stu1[i].Name);
printf("\n输入学生学号:(用#结束程序)");
scanf("%s",stu1[i].Num);
printf("\n输入学生性别:");
scanf("%s",stu1[i].Sex);
printf("\n输入学生家庭地址:");
scanf("%s",stu1[i].HouseAddr);
printf("\n输入学生通信地址:");
scanf("%s",stu1[i].CommunicationAddr);
printf("\n输入学生工作单位:");
scanf("%s",stu1[i].Work);
printf("\n输入学生家庭电话:");
scanf("%s",stu1[i].HousePho);
printf("\n输入学生联系电话:");
scanf("%s",stu1[i].PersonPho);
printf("\n输入学生家庭地址邮政编码:");
scanf("%s",stu1[i].Postalcode);
printf("\n输入学生E-mail:");
scanf("%s",stu1[i].Mail);
while(stu1[i].Name[0]!='#'&&stu1[i].Num[0]!='#'&&stu1[i].Major[0]!='#')
{
fprintf(fp,"%5d%30s%10s%15s%5s%30s%30s%10s%10s%15s%15s%15s\n",i,stu1[i].Major,stu1[i].Name,stu1[i].Num,stu1[i].Sex,
stu1[i].HouseAddr,stu1[i].CommunicationAddr,stu1[i].Work,stu1[i].HousePho,stu1[i].PersonPho,stu1[i].Postalcode,stu1[i].Mail);
i++;
printf("\n 请输入第%d个记录:\n",i+1);
printf("\n输入学生专业:(用#结束程序)");
scanf("%s",stu1[i].Major);
printf("\n输入学生姓名:(用#结束程序)");
scanf("%s",stu1[i].Name);
printf("\n输入学生学号:(用#结束程序)");
scanf("%s",stu1[i].Num);
printf("\n输入学生性别:");
scanf("%s",stu1[i].Sex);
printf("\n输入学生家庭地址:");
scanf("%s",stu1[i].HouseAddr);
printf("\n输入学生通信地址:");
scanf("%s",stu1[i].CommunicationAddr);
printf("\n输入学生工作单位:");
scanf("%s",stu1[i].Work);
printf("\n输入学生家庭电话:");
scanf("%s",stu1[i].HousePho);
printf("\n输入学生联系电话:");
scanf("%s",stu1[i].PersonPho);
printf("\n输入学生家庭地址邮政编码:");
scanf("%s",stu1[i].Postalcode);
printf("\n输入学生E-mail:");
scanf("%s",stu1[i].Mail);
}
fclose(fp);
}
void QueryStuPerInf()
{
char choose='\0',yes_no='\0';
system("color 4f");
do
{
system("cls");
printf(" 查询学生个人信息页面\n ");
printf(" \n");
printf(" 设计者:陈煜超\n");
printf("\t -----------------------------------------------------------\n");
printf("\t|***********************************************************|\n");
printf("\t|* *|\n");
printf("\t|* 查询学生信息 *|\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|* 0.退出系统 *|\n");
printf("\t|* *|\n");
printf("\t|* *|\n");
printf("\t|***********************************************************|\n");
printf("\t ----------------------------------------------------------- \n");
printf("请你选择数字0-3来实现以上的功能:");
/*scanf("%s",&choose);
while(choose!='1'&&choose!='2'&&choose!='3'&&choose!='0')
{
printf("\n请正确输入您的选择:");
scanf("%s",&choose);
}*/
choose=getch();
switch(choose)
{
case'1':QueryStuName();break;
case'2':QueryStuNum();break;
case'3':StudentPerInfManSys();break;
case'0':break;
default:printf("\n %c是非法选项!\n请您单击Y/y或N/n来选择是否继续:",choose);break;
}
if(choose=='0')break;
printf("\n 你要继续选择吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no=='n'&&yes_no!='N');
}while(yes_no=='y'||yes_no=='Y');
}
void ModifyStuPerInf()
{
char choose='\0',yes_no='\0';
system("color 5f");
do
{
system("cls");
printf(" 修改学生个人信息页面\n ");
printf(" \n");
printf(" 设计者:陈煜超\n");
printf("\t -----------------------------------------------------------\n");
printf("\t|***********************************************************|\n");
printf("\t|* *|\n");
printf("\t|* 修改学生信息 *|\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|* 0.退出系统 *|\n");
printf("\t|* *|\n");
printf("\t|* *|\n");
printf("\t|***********************************************************|\n");
printf("\t ----------------------------------------------------------- \n");
printf("请你选择数字0-3来实现以上的功能:");
choose=getch();
switch(choose)
{
case'1':ModifyName();break;
case'2':ModifyNum();break;
case'3':StudentPerInfManSys();break;
case'0':break;
default:printf("\n %c是非法选项!\n请您单击Y/y或N/n来选择是否继续:",choose);break;
}
if(choose=='0')break;
// printf("\n 11你要继续选择吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='n'&&yes_no!='N');
}while(yes_no=='y'||yes_no=='Y');
}
void DeleteStuPerInf()
{
char choose='\0',yes_no='\0';
system("color 2f");
do
{
system("cls");
printf(" 删除学生个人信息页面\n ");
printf(" \n");
printf(" 设计者:陈煜超\n");
printf("\t -----------------------------------------------------------\n");
printf("\t|***********************************************************|\n");
printf("\t|* *|\n");
printf("\t|* 删除学生信息 *|\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|* 0.退出系统 *|\n");
printf("\t|* *|\n");
printf("\t|* *|\n");
printf("\t|***********************************************************|\n");
printf("\t ----------------------------------------------------------- \n");
printf("请你选择数字0-3来实现以上的功能:");
choose=getch();
switch(choose)
{
case'1':DeleteName();break;
case'2':DeleteNum();break;
case'3':StudentPerInfManSys();break;
case'0':break;
default:printf("\n %c是非法选项!\n",choose);break;
}
if(choose=='0')break;
printf("\n 123456你要继续选择吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='n'&&yes_no!='N');
}while(yes_no=='y'||yes_no=='Y');
}
void SavaStuPerInf()
{
printf("5.保存学生个人信息 ");
}
void BrowsStuPerInf()
{
char choose='\0',yes_no='\0';
system("color 4f");
do
{
system("cls");
printf(" 浏览学生个人信息页面\n ");
printf(" \n");
printf(" 设计者:陈煜超\n");
printf("\t -----------------------------------------------------------\n");
printf("\t|***********************************************************|\n");
printf("\t|* *|\n");
printf("\t|* 浏览学生个人信息 *|\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|* 4.返回 *|\n");
printf("\t|* *|\n");
printf("\t|* 0.退出系统 *|\n");
printf("\t|* *|\n");
printf("\t|* *|\n");
printf("\t|***********************************************************|\n");
printf("\t ----------------------------------------------------------- \n");
printf("请你选择数字0-4来实现以上的功能:");
choose=getch();
switch(choose)
{
case'1':BrowsStuPerInfName();break;
case'2':BrowsStuPerInfNum();break;
case'3':BrowsStuPerInfPho();break;
case'4':StudentPerInfManSys();break;
case'0':break;
default:printf("\n %c是非法选项!\n,choose");break;
}
if(choose=='0')break;
printf("\n 你要继续选择吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='n'&&yes_no!='N');
}while(yes_no=='y'||yes_no=='Y');
}
void QueryStuName()
{int i=0,j=0,n=0;
char ch[20]="",yes_no='\0';
struct studentinfmansys ex5[N]={0};
FILE *fp=NULL;
fp=fopen("h:\\学生信息管理系统.txt","r");
if(fp==NULL)
{ printf("\n 打开文件失败!\n"); return; }
while(feof(fp)==0)
{ fscanf(fp,"%d%s%s%s%s%s%s%s%s%s%s%s\n",&i,ex5[i].Major,ex5[i].Name,ex5[i].Num,ex5[i].Sex,
ex5[i].HouseAddr,ex5[i].CommunicationAddr,ex5[i].Work,ex5[i].HousePho,ex5[i].PersonPho,ex5[i].Postalcode,ex5[i].Mail);
i++;
n++;
}
fclose(fp);
do
{
system("color 8f");
system("cls");
printf("\n 欢迎进入查询学生系统!\n");
printf("\n请输入要查学的学生的姓名:");
scanf("%s",&ch);
for(i=0;i<n;i++)
if(strcmp(ex5[i].Name,ch)==0)
{ printf("\n 您查询的是姓名为%s的学生,其他的信息如下:",ex5[i].Name);
printf("\n专业:%s\n姓名:%s\n学号:%s\n性别:%s\n家庭地址:%s\n通讯地址:%s\n工作单位:%s\n家庭电话:%s\n学生电话:%s\n邮政编码: %s\n电子邮箱:%s\n",
ex5[i].Major,ex5[i].Name,ex5[i].Num,ex5[i].Sex,ex5[i].HouseAddr,ex5[i].CommunicationAddr,ex5[i].Work,ex5[i].HousePho,ex5[i].PersonPho,ex5[i].Postalcode,ex5[i].Mail);
break;}
if(i==n)printf("\n 查无此人.......\n");
printf("\n 要继续选择查询学生吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no=='y'||yes_no=='Y');
}
void QueryStuNum()
{int i=0,j=0,n=0;
char ch[20]="",yes_no='\0';
struct studentinfmansys ex5[N]={0};
FILE *fp=NULL;
fp=fopen("h:\\学生信息管理系统.txt","r");
if(fp==NULL)
{ printf("\n 打开文件失败!\n"); return; }
while(feof(fp)==0)
{ fscanf(fp,"%d%s%s%s%s%s%s%s%s%s%s%s\n",&i,ex5[i].Major,ex5[i].Name,ex5[i].Num,ex5[i].Sex,
ex5[i].HouseAddr,ex5[i].CommunicationAddr,ex5[i].Work,ex5[i].HousePho,ex5[i].PersonPho,ex5[i].Postalcode,ex5[i].Mail);
i++;
n++;
}
fclose(fp);
do
{
system("color 8f");
system("cls");
printf("\n 欢迎进入查询学生系统!\n");
printf("\n请输入要查学的学生的学号:");
scanf("%s",&ch);
for(i=0;i<n;i++)
if(strcmp(ex5[i].Num,ch)==0)
{ printf("\n 您查询的是学号为 %s 的学生,其他的信息如下:",ex5[i].Num);
printf("\n专业:%s\n姓名:%s\n学号:%s\n性别:%s\n家庭地址:%s\n通讯地址:%s\n工作单位:%s\n家庭电话:%s\n学生电话:%s\n邮政编码: %s\n电子邮箱:%s\n",
ex5[i].Major,ex5[i].Name,ex5[i].Num,ex5[i].Sex,ex5[i].HouseAddr,ex5[i].CommunicationAddr,ex5[i].Work,ex5[i].HousePho,ex5[i].PersonPho,ex5[i].Postalcode,ex5[i].Mail);
break;}
if(i==n)printf("\n 查无此人.......\n");
printf("\n 要继续选择查询学生吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no=='y'||yes_no=='Y');
}
void ModifyName()
{
int k=0;
long offset;
char NameKey[20];
FILE *fp;
struct studentinfmansys one;
printf("\n请输入姓名:");
scanf("%s",NameKey);
if((fp=fopen("h:\\学生信息管理系统.txt","r+"))==NULL)
{
printf("\n不能打开学生信息管理系统 !");
exit();
}
while(!feof(fp))
{
offset=ftell(fp);
fscanf(fp,"%s%s%s%s%s%s%s%s%s%s%s\n",one.Major,one.Name,one.Num,one.Sex,one.HouseAddr,one.CommunicationAddr,one.Work,one.HousePho,one.PersonPho,one.Postalcode,one.Mail);
if(!strcmp(NameKey,one.Name))
{
k=1;
break;
}
}
if(k)
{
printf("\n已经找到该记录:");
printf("\n%20s,%15s,%20d,%5s,%50s,%50s,%50s,%20s,%20s,%10s,%20s\n",one.Major,one.Name,one.Num,one.Sex,
one.HouseAddr,one.CommunicationAddr,one.Work,one.HousePho,one.PersonPho,one.Postalcode,one.Mail);
/* printf("\n 您查询的是学号为 %s 的学生,其他的信息如下:",one.Name);
printf("\n专业:%s\n姓名:%s\n学号:%s\n性别:%s\n家庭地址:%s\n通讯地址:%s\n工作单位:%s\n家庭电话:%s\n学生电话:%s\n邮政编码: %s\n电子邮箱:%s\n",
one.Major,one.Name,one.Num,one.Sex,one.HouseAddr,one.CommunicationAddr,one.Work,one.HousePho,one.PersonPho,one.Postalcode,one.Mail);*/
printf("\n输入学生专业:(用#结束程序)"); /*修改记录的内容*/
scanf("%s",one.Major);
printf("\n输入学生姓名:(用#结束程序)");
scanf("%s",one.Name);
printf("\n输入学生学号:(用#结束程序)");
scanf("%s",one.Num);
printf("\n输入学生性别:");
scanf("%s",one.Sex);
printf("\n输入学生家庭地址:");
scanf("%s",one.HouseAddr);
printf("\n输入学生通信地址:");
scanf("%s",one.CommunicationAddr);
printf("\n输入学生工作单位:");
scanf("%s",one.Work);
printf("\n输入学生家庭电话:");
scanf("%s",one.HousePho);
printf("\n输入学生联系电话:");
scanf("%s",one.PersonPho);
printf("\n输入学生家庭地址邮政编码:");
scanf("%s",one.Postalcode);
printf("\n输入学生E-mail:");
scanf("%s",one.Mail);
fseek(fp,offset,SEEK_SET);
printf("%ld",ftell(fp));
fprintf(fp,"%30s%10s%15s%5s%30s%30s%10s%10s%15s%15s%15s\n",one.Major,one.Name,one.Num,one.Sex,
one.HouseAddr,one.CommunicationAddr,one.Work,one.HousePho,one.PersonPho,one.Postalcode,one.Mail);
}
else
printf("\n对不起,123该学生信息管理系统没有此人!");/*对不起,通讯簿中没有此人的记录*/
printf("\n 要继续选择查询学生吗(Y/N)?\n");
fclose(fp);
}
void ModifyNum()
{
int k=0;
long offset;
char NumKey[20];
FILE *fp=NULL;
struct studentinfmansys one;
printf("\n请输入学号:");
scanf("%s",NumKey);
if((fp=fopen("h:\\学生信息管理系统.txt","r+"))==NULL)
{
printf("\n不能打开学生信息管理系统 !");
exit();
}
while(!feof(fp))
{
offset=ftell(fp);
fscanf(fp,"%s%s%s%s%s%s%s%s%s%s%s\n",one.Major,one.Name,one.Num,one.Sex,one.HouseAddr,one.CommunicationAddr,one.Work,one.HousePho,one.PersonPho,one.Postalcode,one.Mail);
if(!strcmp(NumKey,one.Num))
{
k=1;
break;
}
}
if(k)
{
printf("\n 您查询的是学号为 %s 的学生,其他的信息如下:",one.Num);
printf("\n专业:%s\n姓名:%s\n学号:%s\n性别:%s\n家庭地址:%s\n通讯地址:%s\n工作单位:%s\n家庭电话:%s\n学生电话:%s\n邮政编码: %s\n电子邮箱:%s\n",
one.Major,one.Name,one.Num,one.Sex,one.HouseAddr,one.CommunicationAddr,one.Work,one.HousePho,one.PersonPho,one.Postalcode,one.Mail);
printf("\n输入学生专业:(用#结束程序)"); /*修改记录的内容*/
scanf("%s",one.Major);
printf("\n输入学生姓名:(用#结束程序)");
scanf("%s",one.Name);
printf("\n输入学生学号:(用#结束程序)");
scanf("%s",one.Num);
printf("\n输入学生性别:");
scanf("%s",one.Sex);
printf("\n输入学生家庭地址:");
scanf("%s",one.HouseAddr);
printf("\n输入学生通信地址:");
scanf("%s",one.CommunicationAddr);
printf("\n输入学生工作单位:");
scanf("%s",one.Work);
printf("\n输入学生家庭电话:");
scanf("%s",one.HousePho);
printf("\n输入学生联系电话:");
scanf("%s",one.PersonPho);
printf("\n输入学生家庭地址邮政编码:");
scanf("%s",one.Postalcode);
printf("\n输入学生E-mail:");
scanf("%s",one.Mail);
fseek(fp,offset,SEEK_SET);
printf("%ld",ftell(fp));
fprintf("%30s%10s%15s%5s%30s%30s%10s%10s%15s%15s%15s\n",one.Major,one.Name,one.Num,one.Sex,
one.HouseAddr,one.CommunicationAddr,one.Work,one.HousePho,one.PersonPho,one.Postalcode,one.Mail);
}
else
printf("\n对不起,该学生信息管理系统没有此人!");/*对不起,通讯簿中没有此人的记录*/
printf("\n 要继续选择查询学生吗(Y/N)?\n");
fclose(fp);
}
void DeleteName()
{
int k=0;
long offset1;
char NameKey[15],choose='\0';
struct studentinfmansys one;
FILE *fp=NULL;
printf("\n请输入你要删除的学生姓名:");
scanf("%s",NameKey);
if((fp=fopen("h:\\学生信息管理系统.txt","r+"))==NULL)
{
printf("\n不能打开学生信息管理系统文件!");
exit();
}
while(!feof(fp))
{
offset1=ftell(fp);
fscanf(fp,"%30s%10s%15s%5s%30s%30s%10s%10s%15s%15s%15s\n",one.Major,one.Name,one.Num,one.Sex,
one.HouseAddr,one.CommunicationAddr,one.Work,one.HousePho,one.PersonPho,one.Postalcode,one.Mail); /*读取流*/
if(!strcmp(NameKey,one.Name))
{
k=1;
break;
}
}
if(k)
{
printf("\n已经找到该记录:");
printf("\n你找到的学生姓名:%s 其他信息如下:\n",one.Name);
printf("\n专业:%s\n姓名:%s\n学号:%s\n,性别:%s\n家庭地址:%s\n通讯地址:%s\n工作单位:%s\n家庭电话:%s\n学生电话:%s\n邮政编码: %s\n电子邮箱:%s\n",
one.Major,one.Name,one.Num,one.Sex,one.HouseAddr,one.CommunicationAddr,one.Work,one.HousePho,one.PersonPho,one.Postalcode,one.Mail); /*输出该学生信息*/
printf("你确定要删除该学生所有信息吗?如果确定要删除,请从键盘输出Y或y,否则从键盘输入N或n:");
scanf("%s",&choose);
//choose=getche();
if(choose)
// if(choose=='Y'||choose=='y'||choose=='N'||choose=='n')
{
fseek(fp,offset1,SEEK_SET);
fprintf("\n%s%s%s%s%s%s%s%s%s%s%s\n","","","","","","","","","","","");/*删除学生信息*/
}
else
{ printf("你输入是非法的,请重新从键盘输出Y或y,否则从键盘输入N或n:");
choose=getche();
}
}else
printf("\n对不起!学生信息管理系统文件没有该学生的信息.");
fclose(fp);
}
void DeleteNum()
{
int k=0;
long offset1;
char NumKey[15],yes_no='\0',choose='\0';
struct studentinfmansys one;
FILE *fp;
printf("\n请输入你要删除的学生姓名:");
scanf("%s",NumKey);
if((fp=fopen("h:\\学生信息管理系统.txt","r+"))==NULL)
{
printf("\n不能打开学生信息管理系统文件!");
exit();
}
while(!feof(fp))
{
offset1=ftell(fp);
fscanf(fp,"%5d,%20s,%15s,%20d,%5s,%50s,%50s,%50s,%20s,%20s,%10s,%20s\n",one.Major,one.Name,one.Num,one.Sex,
one.HouseAddr,one.CommunicationAddr,one.Work,one.HousePho,one.PersonPho,one.Postalcode,one.Mail); /*读取流*/
if(!strcmp(NumKey,one.Num))
{
k=1;
break;
}
}
if(k)
{
printf("\n已经找到该记录:");
printf("\n你找到的学生学号:%s 其他信息如下:\n",one.Num);
printf("\n%20s,%15s,%20d,%5s,%50s,%50s,%50s,%20s,%20s,%10s,%20s\n",one.Major,one.Name,one.Num,one.Sex,
one.HouseAddr,one.CommunicationAddr,one.Work,one.HousePho,one.PersonPho,one.Postalcode,one.Mail);
/*输出该学生信息*/
printf("你确定要删除该学生所有信息吗?如果确定要删除,请从键盘输出Y或y,否则从键盘输入N或n:");
choose=getche();
if(choose=='Y'||choose=='y'||choose=='N'||choose=='n')
{
fseek(fp,offset1,SEEK_SET);
fprintf("\n%20s,%15s,%20d,%5s,%50s,%50s,%50s,%20s,%20s,%10s,%20s\n","","","","","","","","","","","");/*删除学生信息*/
}
else
{ printf("你输入是非法的,请重新从键盘输出Y或y,否则从键盘输入N或n:");
choose=getche();
}
}else
printf("\n对不起!学生信息管理系统文件没有该学生的信息.");
fclose(fp);
}
void BrowsStuPerInfName() /*通过学生姓名浏览学生个人信息*/
{ int i=0,j=0,count=0,n=0;
char ch[20]="",yes_no='\0';
struct studentinfmansys ex1[N]={0};
FILE *fp=NULL;
fp=fopen("h:\\学生信息管理系统.txt","r");
if(fp==NULL)
{ printf("\n 打开文件失败!\n"); return; }
while(feof(fp)==0)
{ fscanf(fp,"%5d,%20s,%15s,%20d,%5s,%50s,%50s,%50s,%20s,%20s,%10s,%20s\n",&i,ex1[i].Major,ex1[i].Name,ex1[i].Num,ex1[i].Sex,
ex1[i].HouseAddr,ex1[i].CommunicationAddr,ex1[i].Work,ex1[i].HousePho,ex1[i].PersonPho,ex1[i].Postalcode,ex1[i].Mail);
i++;n++; }
fclose(fp);
do
{
system("color 8f");
system("cls");
printf("\n 欢迎进入查询学生系统!\n");
printf("\n请输入要查学的学生的姓名:");
scanf("%s",&ch);
for(i=0;i<n;i++)
if(strcmp(ex1[i].Name,ch)==0)
{ printf("\n 您查询的是姓名为%s的学生,其他的信息如下:",ex1[i].Name);
printf("\n 专业:%20s 姓名:%20s 学号:%15s 性别:%50s 家庭地址:%50s 通讯地址:%50s 工作单位:%50s 家庭电话:%20s 学生电话:%20s 邮政编码:%10s 电子邮箱:%20s",
ex1[i].Major,ex1[i].Name,ex1[i].Num,ex1[i].Sex,ex1[i].HouseAddr,ex1[i].CommunicationAddr,ex1[i].Work,ex1[i].HousePho,ex1[i].PersonPho,ex1[i].Postalcode,ex1[i].Mail);
break;}
if(i==n)printf("\n 查无此人.......\n");
printf("\n 要继续选择查询学生吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no=='y'||yes_no=='Y');
}
void BrowsStuPerInfNum() /*通过学生学号浏览学生个人信息*/
{ int i=0,j=0,count=0,n=0;
char ch[20]="",yes_no='\0';
struct studentinfmansys ex1[N]={0};
FILE *fp=NULL;
fp=fopen("e:\\学生信息管理系统.txt","r");
if(fp==NULL)
{ printf("\n 打开文件失败!\n"); return; }
while(feof(fp)==0)
{ fscanf(fp,"%5d,%20s,%15s,%20d,%5s,%50s,%50s,%50s,%20s,%20s,%10s,%20s\n",&i,ex1[i].Major,ex1[i].Name,ex1[i].Num,ex1[i].Sex,
ex1[i].HouseAddr,ex1[i].CommunicationAddr,ex1[i].Work,ex1[i].HousePho,ex1[i].PersonPho,ex1[i].Postalcode,ex1[i].Mail);
i++;n++; };
fclose(fp);
do
{
system("color 8f");
system("cls");
printf("\n 欢迎进入查询学生系统!\n");
printf("\n请输入要查学的学生的学号:");
scanf("%s",&ch);
for(i=0;i<n;i++)
if(strcmp(ex1[i].Num,ch)==0)
{ printf("\n 您查询的是学号为%s的学生,他的成绩如下:",ex1[i].Num);
printf("\n 专业:%20s 姓名:%20s 学号:%15s 性别:%50s 家庭地址:%50s 通讯地址:%50s 工作单位:%50s 家庭电话:%20s 学生电话:%20s 邮政编码:%10s 电子邮箱:%20s",
ex1[i].Major,ex1[i].Name,ex1[i].Num,ex1[i].Sex,ex1[i].HouseAddr,ex1[i].CommunicationAddr,ex1[i].Work,ex1[i].HousePho,ex1[i].PersonPho,ex1[i].Postalcode,ex1[i].Mail);
break;}
if(i==n)printf("\n 查无此人.......\n");
printf("\n 要继续选择查询学生吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no=='y'||yes_no=='Y');
}
void BrowsStuPerInfPho()
{
char choose='\0',yes_no='\0';
system("color 4f");
do
{
system("cls");
printf(" 浏览学生信息页面\n ");
printf(" \n");
printf(" 设计者:陈煜超\n");
printf("\t -----------------------------------------------------------\n");
printf("\t|***********************************************************|\n");
printf("\t|* *|\n");
printf("\t|* 浏览学生信息 *|\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|* 0.退出系统 *|\n");
printf("\t|* *|\n");
printf("\t|* *|\n");
printf("\t|***********************************************************|\n");
printf("\t ----------------------------------------------------------- \n");
printf("请你选择数字0-3来实现以上的功能:");
choose=getche();
switch(choose)
{
case'1':BrowsStuInfHouPho();break;
case'2':BrowsStuInfPerPho();break;
case'3':BrowsStuPerInf();break;
case'0':break;
default:printf("\n %c是非法选项!\n",choose);break;
}
if(choose=='0')break;
printf("\n 你要继续选择吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='n'&&yes_no!='N');
}while(yes_no=='y'||yes_no=='Y');
}
void BrowsStuInfHouPho()
{ int i=0,j=0,count=0,n=0;
char ch[20]="",yes_no='\0';
struct studentinfmansys ex1[N]={0};
FILE *fp=NULL;
fp=fopen("h:\\学生信息管理系统.txt","r");
if(fp==NULL)
{ printf("\n 打开文件失败!\n"); return; }
while(feof(fp)==0)
{ fscanf(fp,"%5d,%20s,%15s,%20d,%5s,%50s,%50s,%50s,%20s,%20s,%10s,%20s\n",&i,ex1[i].Major,ex1[i].Name,ex1[i].Num,ex1[i].Sex,
ex1[i].HouseAddr,ex1[i].CommunicationAddr,ex1[i].Work,ex1[i].HousePho,ex1[i].PersonPho,ex1[i].Postalcode,ex1[i].Mail);
i++;n++; }
fclose(fp);
do
{
system("color 8f");
system("cls");
printf("\n 欢迎进入浏览学生系统!\n");
printf("\n请输入要浏览的学生家庭电话号码:");
scanf("%s",&ch);
for(i=0;i<n;i++)
if(strcmp(ex1[i].HousePho,ch)==0)
{ printf("\n 您浏览的是姓名为%s的学生,其他信息如下:",ex1[i].Name);
printf("\n 专业:%20s 姓名:%20s 学号:%15s 性别:%50s 家庭地址:%50s 通讯地址:%50s 工作单位:%50s 家庭电话:%20s 学生电话:%20s 邮政编码:%10s 电子邮箱:%20s",
ex1[i].Major,ex1[i].Name,ex1[i].Num,ex1[i].Sex,ex1[i].HouseAddr,ex1[i].CommunicationAddr,ex1[i].Work,ex1[i].HousePho,ex1[i].PersonPho,ex1[i].Postalcode,ex1[i].Mail);
break;}
if(i==n)printf("\n 查无此人的电话号码.......\n");
printf("\n 要继续选择查询学生吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no=='y'||yes_no=='Y');
}
void BrowsStuInfPerPho()
{ int i=0,j=0,count=0,n=0;
char ch[20]="",yes_no='\0';
struct studentinfmansys ex1[N]={0};
FILE *fp=NULL;
fp=fopen("h:\\学生信息管理系统.txt","r");
if(fp==NULL)
{ printf("\n 打开文件失败!\n"); return; }
while(feof(fp)==0)
{ fscanf(fp,"%5d,%20s,%15s,%20d,%5s,%50s,%50s,%50s,%20s,%20s,%10s,%20s\n",&i,ex1[i].Major,ex1[i].Name,ex1[i].Num,ex1[i].Sex,
ex1[i].HouseAddr,ex1[i].CommunicationAddr,ex1[i].Work,ex1[i].HousePho,ex1[i].PersonPho,ex1[i].Postalcode,ex1[i].Mail);
i++;n++; }
fclose(fp);
do
{
system("color 8f");
system("cls");
printf("\n 欢迎进入浏览学生系统!\n");
printf("\n请输入要浏览的学生电话号码:");
scanf("%s",&ch);
for(i=0;i<n;i++)
if(strcmp(ex1[i].PersonPho,ch)==0)
{ printf("\n 您浏览的是姓名为%s的学生,他的成绩如下:",ex1[i].Name);
printf("\n 专业:%20s 姓名:%20s 学号:%15s 性别:%50s 家庭地址:%50s 通讯地址:%50s 工作单位:%50s 家庭电话:%20s 学生电话:%20s 邮政编码:%10s 电子邮箱:%20s",
ex1[i].Major,ex1[i].Name,ex1[i].Num,ex1[i].Sex,ex1[i].HouseAddr,ex1[i].CommunicationAddr,ex1[i].Work,ex1[i].HousePho,ex1[i].PersonPho,ex1[i].Postalcode,ex1[i].Mail);
break;}
if(i==n)printf("\n 查无此人的电话号码.......\n");
printf("\n 要继续选择查询学生吗(Y/N)?\n");
do
{
yes_no=getche();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no=='y'||yes_no=='Y');
}