|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- #define BUFLEN 100
- #define LEN 15
- #define N 100 struct record
- { char code[LEN+1];
- char name[LEN+1];
- int age;
- char sex[3];
- char time[LEN+1];
- char add[30];
- char tel[LEN+1];
- char mail[30];
- }stu[N];
- int k=1,n,m;
- void readfile();
- void seek();
- void modify();
- void insert();
- void del();
- void display();
- void save();
- void number();
- void menu();
- int main()
- {
- while(k)
- menu();
- system("pause");
- return 0;
- }
- void readfile()//刷新学生信息
- {
- char *p="student.txt";
- FILE *fp;
- int i=0;
- if ((fp=fopen("student.txt","r"))==NULL)
- {
- printf("Open file %s error! Strike any key to exit!",p);
- system("pause");
- exit(0);
- }
- while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu[i].code,stu[i].name,&stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)
- {
- i++;
- i=i;
- }
- fclose(fp);
- n=i;
- printf("录入完毕!\n");
- }
- void seek()//查询学生信息
- void modify()//修改学生信息
- void sort()//对学生信息按学号排序
- {
- int i,j,*p,*q,s;
- char temp[10];
- for(i=0;i<n-1;i++)
- {
- for(j=n-1;j>i;j--)
- if(strcmp(stu[j-1].code,stu[j].code)>0)
- {
- strcpy(temp,stu[j-1].code);
- strcpy(stu[j-1].code,stu[j].code);
- strcpy(stu[j].code,temp);
- strcpy(temp,stu[j-1].name);
- strcpy(stu[j-1].name,stu[j].name);
- strcpy(stu[j].name,temp);
- strcpy(temp,stu[j-1].sex);
- strcpy(stu[j-1].sex,stu[j].sex);
- strcpy(stu[j].sex,temp);
- strcpy(temp,stu[j-1].time);
- strcpy(stu[j-1].time,stu[j].time);
- strcpy(stu[j].time,temp);
- strcpy(temp,stu[j-1].add);
- strcpy(stu[j-1].add,stu[j].add);
- strcpy(stu[j].add,temp);
- strcpy(temp,stu[j-1].tel);
- strcpy(stu[j-1].tel,stu[j].tel);
- strcpy(stu[j].tel,temp);
- strcpy(temp,stu[j-1].mail);
- strcpy(stu[j-1].mail,stu[j].mail);
- strcpy(stu[j].mail,temp);
- p=&stu[j-1].age;
- q=&stu[j].age;
- s=*q;
- *q=*p;
- *p=s;
- }
- }
- }
- void insert()//增加学生信息
- void display()//显示当前学生信息
- {
- int i;
- printf("所有学生的信息为:\n");
- printf("学生学号, 学生姓名, 年龄, 性别, 出生年月, 地址, 电话, E-mail\n");
- printf("------------------------------------------------------------------\n");
- for(i=0;i<n;i++)
- {
- printf("%6s, %7s, %5d, %5s, %9s, %8s, %10s, %14s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
- }
- }
- void save()//保存当前学生信息
- {
- int i;
- FILE *fp;
- fp=fopen("student.txt","w");
- for(i=0;i<n;i++)
- {
- fprintf(fp,"%s, %s, %d, %s, %s, %s, %s, %s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
- }
- fclose(fp);
- }
- void number()//汇总学生数目
- {
- int i,girl,boy=0;
- for(i=0;i<n;i++)
- if(strcmp(stu[i].sex,"1")==0)
- {
- boy++;
- }
- girl=n-boy;
- printf("男生人数是:%d\n女生的人数是:%d\n",boy,girl);
- printf("总的学生人数为:%d",n);
- }
- void help()//系统帮助
- {
- printf("输入性别时男为1,女为2");
- printf("\n3.增加学生信息后,切记保存按7;\n");
- printf("\n4.谢谢您的使用!\n");
- }
- void menu()//可视化的系统操作界面
- {
- int num;
- printf(" \n\n 学生通讯录管理系统 \n\n");
- printf(" *********************系统功能菜单************************ \n");
- printf(" -------------------------------- ------------------------------- \n");
- printf(" 1.刷新学生信息 2.查询学生信息 \n");
- printf(" ********************************************* \n");
- printf(" 3.修改学生信息 4.增加学生信息 \n");
- printf(" ********************************************* \n");
- printf(" 5.按学号删除信息 6.显示当前信息 \n");
- printf(" ********************************************* \n");
- printf(" 7.保存当前学生信息 8.汇总学生数目 \n");
- printf(" ********************************************* \n");
- printf(" 9.系统帮助 10.退出系统 \n");
- printf(" --------------------------------- ------------------------------ \n");
- printf(" ************************************************************ \n");
- printf("请选择菜单编号:"); scanf("%d",&num);
- switch(num)
- {
- case 1:readfile();break;
- case 2:seek();break;
- case 3:modify();break;
- case 4:insert();break;
- case 5:del();break;
- case 6:display();break;
- case 7:save();break;
- case 8:number();break;
- case 9:help();break;
- case 10:k=0;break;
- default:printf("请在1-10之间选择\n");
- }
- }
复制代码
|
|