parent
9ef33cb312
commit
7403666f75
@ -0,0 +1,146 @@
|
|||||||
|
#include<stdio.h>
|
||||||
|
#include<stdlib.h>
|
||||||
|
#include<string.h>
|
||||||
|
#define LEN 20 /* 学号和姓名最大字符数 */
|
||||||
|
#define N 1000 /* 最大学生人数*/
|
||||||
|
struct record /*结构体*/
|
||||||
|
{
|
||||||
|
char id[LEN+1]; /* 学号 */
|
||||||
|
char name[LEN+1]; /* 姓名 */
|
||||||
|
int age; /* 年龄 */
|
||||||
|
char sex[3]; /* 性别 */
|
||||||
|
char birth[LEN+1]; /* 出生年月 */
|
||||||
|
char add[30]; /* 家庭地址 */
|
||||||
|
char tel[LEN+1]; /* 电话号码 */
|
||||||
|
char email[30]; /* 电子邮件地址 */
|
||||||
|
}stu[N];
|
||||||
|
int n,m; /* 定义全局变量 n为当前学生数 m表示每次增加的学生数 */
|
||||||
|
void refresh();/* 导入信息函数 */
|
||||||
|
void seek();/* 查找信息函数 */
|
||||||
|
void modify();/* 修改信息函数 */
|
||||||
|
void add();/* 增加信息函数 */
|
||||||
|
void dele();/* 删除信息函数 */
|
||||||
|
void show();/* 显示信息函数 */
|
||||||
|
void save();/* 保存信息函数 */
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
while(1)
|
||||||
|
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 add() /*插入函数,增加学生*/
|
||||||
|
{
|
||||||
|
int i=n,j,flag;
|
||||||
|
printf("请输入待增加的学生数:\n");
|
||||||
|
scanf("%d",&m);
|
||||||
|
do
|
||||||
|
{
|
||||||
|
flag=1;
|
||||||
|
while(flag)
|
||||||
|
{
|
||||||
|
flag=0;
|
||||||
|
printf("请输入第 %d 个学生的学号:\n",i+1);
|
||||||
|
scanf("%s",stu[i].code);
|
||||||
|
for(j=0;j<i;j++)
|
||||||
|
if(strcmp(stu[i].code,stu[j].code)==0)
|
||||||
|
{
|
||||||
|
printf("已有该学号,请检查后重新录入!\n");
|
||||||
|
flag=1;
|
||||||
|
break; /*如有重复立即退出该层循环,提高判断速度*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("请输入第 %d 个学生的姓名:\n",i+1);
|
||||||
|
scanf("%s",stu[i].name);
|
||||||
|
printf("请输入第 %d 个学生的年龄:\n",i+1);
|
||||||
|
scanf("%d",&stu[i].age);
|
||||||
|
printf("请输入第 %d 个学生的性别:\n",i+1);
|
||||||
|
scanf("%s",stu[i].sex);
|
||||||
|
printf("请输入第 %d 个学生的出生年月:(格式:年.月)\n",i+1);
|
||||||
|
scanf("%s",stu[i].time);
|
||||||
|
printf("请输入第 %d 个学生的地址:\n",i+1);
|
||||||
|
scanf("%s",stu[i].add);
|
||||||
|
printf("请输入第 %d 个学生的电话:\n",i+1);
|
||||||
|
scanf("%s",stu[i].tel);
|
||||||
|
printf("请输入第 %d 个学生的E-mail:\n",i+1);
|
||||||
|
scanf("%s",stu[i].mail);
|
||||||
|
if(flag==0)
|
||||||
|
{
|
||||||
|
i=i;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while(i<n+m);
|
||||||
|
n+=m;
|
||||||
|
printf("录入完毕!\n\n");
|
||||||
|
sort();
|
||||||
|
}
|
||||||
|
{
|
||||||
|
int num;
|
||||||
|
printf("\t\t\t\t 注意事项 \n");
|
||||||
|
printf("\t\t 一:第一次运行请先刷新系统!!!! \n");
|
||||||
|
printf("\t\t 二:增加学生信息后务必保存信息!!!! \n\n");
|
||||||
|
printf("\t\t\t 系统功能菜单 \n");
|
||||||
|
printf("\t\t\t 1.刷新学生信息 \n");
|
||||||
|
printf("\t\t\t 2.查询学生信息 \n");
|
||||||
|
printf("\t\t\t 3.修改学生信息 \n");
|
||||||
|
printf("\t\t\t 4.增加学生信息 \n");
|
||||||
|
printf("\t\t\t 5.按学号删除信息 \n");
|
||||||
|
printf("\t\t\t 6.显示当前信息 \n");
|
||||||
|
printf("\t\t\t 7.保存当前学生信息 \n");
|
||||||
|
printf("\t\t\t 8.退出系统 \n");
|
||||||
|
printf("请选择菜单编号:");
|
||||||
|
scanf("%d",&num);
|
||||||
|
switch(num)
|
||||||
|
{
|
||||||
|
|
||||||
|
case 1:refresh();break;
|
||||||
|
case 2:seek();break;
|
||||||
|
case 3:modify();break;
|
||||||
|
case 4:add();break;
|
||||||
|
case 5:dele();break;
|
||||||
|
case 6:show();break;
|
||||||
|
case 7:save();break;
|
||||||
|
case 8:exit(0);
|
||||||
|
default:printf("请在1-8之间选择\n");
|
||||||
|
}
|
||||||
|
system("pause");
|
||||||
|
system("cls");
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in new issue