first commit

master
30298574152@qq.com 7 years ago
parent 3e12e364a2
commit 2ff3bf3e3c

@ -58,9 +58,6 @@ void meun() //
}
}
void new_student()
{
system("color 12");
@ -108,7 +105,7 @@ void new_student()
if ((fp1 = fopen("Student.txt","r")) == NULL)
{
system("cls");
printf("***---文件打开失败请重试!---***\n");;
printf("***---文件打开失败,请重试!---***\n");;
system("pause");
return;
}
@ -144,7 +141,7 @@ void new_student()
if (fclose(fp1))
{
printf("***---文件关闭失败!请重试!---***\n");
printf("***---文件关闭失败,请重试!---***\n");
return;
}
}
@ -156,18 +153,18 @@ void new_student()
{
if ((p = (struct Student*)malloc(sizeof(struct Student))) == NULL)
{
printf("***---获取内存失败请重试!---***\n");
printf("***---获取内存失败,请重试!---***\n");
return;
}
printf("***---请输入第%d个学生的信息---***\n",i+1);
while (1)
{
printf("***---学号为11位请输入学生学号:");
printf("***---学号为11位,请输入学生学号:");
scanf("%s",p->num);
if (strlen(p->num) !=11)
{
printf("***---您输入有误请重新输入!---***");;
printf("***---您输入有误,请重新输入!---***");;
system("pause");
continue;
}
@ -249,7 +246,7 @@ void new_student()
if ((fp2 = fopen("Student.txt","w")) == NULL)
{
printf("***---文件打开失败请重试!---***\n");
printf("***---文件打开失败,请重试!---***\n");
return;
}
@ -263,14 +260,14 @@ void new_student()
if (fclose(fp2))
{
printf("***---文件关闭失败请重试!---***\n");
printf("***---文件关闭失败,请重试!---***\n");
return;
}
else
{
for (int i=1; i<=10; i++)
{
printf("***---正在保存*****%d0%%请稍后\n", i);
printf("***---正在保存*****%d0%%,请稍后\n", i);
Sleep(1);
system("cls");
}
@ -291,13 +288,13 @@ void output_student()
if ((fp1 = fopen("Student.txt","r")) == NULL)
{
printf("***---文件打开失败请重试!---***\n");
printf("***---文件打开失败,请重试!---***\n");
return;
}
if ((head = (struct Student*)malloc(sizeof(struct Student))) == NULL)
{
printf("***---获取内存失败请重试!---***\n");
printf("***---获取内存失败,请重试!---***\n");
return;
}
@ -305,7 +302,8 @@ void output_student()
if(ch==EOF)
{
system("cls");
printf("***---没有学生信息,请录入!---***\n");;
printf("***---没有学生信息,请录入!---***\n");
Sleep(500);
system("pause");
return;
}
@ -315,7 +313,7 @@ void output_student()
{
if ((p1 = (struct Student*)malloc(sizeof(struct Student))) == NULL)
{
printf("***---获取数据失败请重试!---***\n");
printf("***---获取数据失败,请重试!---***\n");
return;
}
@ -336,14 +334,14 @@ void output_student()
if (fclose(fp1))
{
printf("***---文件关闭失败请重试!---***\n");
printf("***---文件关闭失败,请重试!---***\n");
return;
}
p2 = head;
system("cls");
printf("学号: 姓名: 年龄: 性别: 出生年月: 地址: 电话号码: 邮箱:\n\n");
printf("学号: 姓名: 年龄: 性别: 出生年月: 地址: 电话号码: 邮箱:\n\n");
while (p2->next!=NULL)
{
printf("%-15s%-8s%-8s%-8s%-15s%-20s%-14s%-30s\n", p2->num,p2->name,p2->age,
@ -417,6 +415,7 @@ char search_student(char bools, char *info) //
{
system("cls");
printf("***---没有学生信息,请录入!---***\n");
Sleep(500);
printf("\n");
system("pause");
return 'n';
@ -427,7 +426,7 @@ char search_student(char bools, char *info) //
{
if ((p1 = (struct Student*)malloc(sizeof(struct Student))) == NULL)
{
printf("***---获取数据失败请重试!---***\n");
printf("***---获取数据失败,请重试!---***\n");
return 'n';
}
fscanf(fp1,"%s %s %s %s %s %s %s %s", p1->num,p1->name,p1->age,
@ -519,7 +518,7 @@ char search_student(char bools, char *info) //
if (!flag)
{
printf("***---您查询的学生不存在请重试!---***\n");
printf("***---您查询的学生不存在,请重试!---***\n");
system("pause");
return 'y';
}
@ -598,7 +597,7 @@ void modify(char bools,char *info) //
if(ch1==EOF)
{
system("cls");
printf("***---没有学生信息请录入!---***\n");
printf("***---没有学生信息,请录入!---***\n");
system("pause");
return;
}
@ -662,35 +661,35 @@ void modify(char bools,char *info) //
switch (a[i])
{
case 1:
printf("***---请输入修改后的学号:\n");
printf("***---请输入修改后的学号:");
gets(p1->num);
break;
case 2:
printf("***---请输入修改后的姓名:\n");
printf("***---请输入修改后的姓名:");
gets(p1->name);
break;
case 3:
printf("***---请输入修改后的年龄:\n");
printf("***---请输入修改后的年龄:");
gets(p1->age);
break;
case 4:
printf("***---请输入修改后的性别:\n");
printf("***---请输入修改后的性别:");
gets(p1->sex);
break;
case 5:
printf("***---请输入修改后的出生年月:\n");
printf("***---请输入修改后的出生年月:");
gets(p1->birthday);
break;
case 6:
printf("***---请输入修改后的地址:\n");
printf("***---请输入修改后的地址:");
gets(p1->address);
break;
case 7:
printf("***---请输入修改后的电话号码:\n");
printf("***---请输入修改后的电话号码:");
gets(p1->telephone);
break;
case 8:
printf("***---请输入修改后的邮箱:\n");
printf("***---请输入修改后的邮箱:");
gets(p1->email);
break;
default:
@ -726,35 +725,35 @@ void modify(char bools,char *info) //
switch (a[i])
{
case 1:
printf("***---请输入修改后的学号:\n");
printf("***---请输入修改后的学号:");
gets(p2->num);
break;
case 2:
printf("***---请输入修改后的姓名:\n");
printf("***---请输入修改后的姓名:");
gets(p2->name);
break;
case 3:
printf("***---请输入修改后的年龄:\n");
printf("***---请输入修改后的年龄:");
gets(p2->age);
break;
case 4:
printf("***---请输入修改后的性别:\n");
printf("***---请输入修改后的性别:");
gets(p2->sex);
break;
case 5:
printf("***---请输入修改后的出生年月:\n");
printf("***---请输入修改后的出生年月:");
gets(p2->birthday);
break;
case 6:
printf("***---请输入修改后的地址:\n");
printf("***---请输入修改后的地址:");
gets(p2->address);
break;
case 7:
printf("***---请输入修改后的电话号码:\n");
printf("***---请输入修改后的电话号码:");
gets(p2->telephone);
break;
case 8:
printf("***---请输入修改后的邮箱:\n");
printf("***---请输入修改后的邮箱:");
gets(p2->email);
break;
default:
@ -798,39 +797,39 @@ void modify(char bools,char *info) //
switch (a[i])
{
case 1:
printf("***---请输入修改后的学号:\n");
printf("***---请输入修改后的学号:");
gets(p1->num);
break;
case 2:
printf("***---请输入修改后的姓名:\n");
printf("***---请输入修改后的姓名:");
gets(p1->name);
break;
case 3:
printf("***---请输入修改后的年龄:\n");
printf("***---请输入修改后的年龄:");
gets(p1->age);
break;
case 4:
printf("***---请输入修改后的性别:\n");
printf("***---请输入修改后的性别:");
gets(p1->sex);
break;
case 5:
printf("***---请输入修改后的出生年月:\n");
printf("***---请输入修改后的出生年月:");
gets(p1->birthday);
break;
case 6:
printf("***---请输入修改后的地址:\n");
printf("***---请输入修改后的地址:");
gets(p1->address);
break;
case 7:
printf("\t\t\t\t请输入修改后的电话号码:\n");
printf("\t\t\t\t请输入修改后的电话号码:");
gets(p1->telephone);
break;
case 8:
printf("***---请输入修改后的邮箱:\n");
printf("***---请输入修改后的邮箱:");
gets(p1->email);
break;
default:
printf("***---您输入有误请重试!\n");;
printf("***---您输入有误,请重试!\n");;
system("pause");
return;
}
@ -861,34 +860,34 @@ void modify(char bools,char *info) //
switch (a[i])
{
case 1:
printf("***---请输入修改后的学号:\n");
printf("***---请输入修改后的学号:");
gets(p2->num);
break;
case 2:
printf("***---请输入修改后的姓名:\n");
printf("***---请输入修改后的姓名:");
gets(p2->name);
break;
case 3:
printf("***---请输入修改后的年龄:\n");
printf("***---请输入修改后的年龄:");
gets(p2->age);
break;
case 4:
printf("***---请输入修改后的性别:\n");
printf("***---请输入修改后的性别:");
gets(p2->sex);
break;
case 5:
printf("***---请输入修改后的出生年月:\n");
printf("***---请输入修改后的出生年月:");
gets(p2->birthday);
break;
case 6:
printf("***---请输入修改后的地址:\n");
printf("***---请输入修改后的地址:");
gets(p2->address);
break;
case 7:
printf("***---请输入修改后的电话号码:\n");
printf("***---请输入修改后的电话号码:");
gets(p2->telephone);
break;
case 8: printf("***---请输入修改后的邮箱:\n");
case 8: printf("***---请输入修改后的邮箱:");
gets(p2->email);
break;
default:
@ -927,7 +926,7 @@ void modify(char bools,char *info) //
{
for (int i=1; i<=10; i++)
{
printf("***---正在修改*****%d0%%请稍后---***\n", i);
printf("***---正在修改*****%d0%%,请稍后---***\n", i);
Sleep(1);
system("cls");
}
@ -964,7 +963,7 @@ void modify(char bools,char *info) //
{
for (int i=1; i<=10; i++)
{
printf("***---正在保存*****%d0%%请稍后---***\n", i);
printf("***---正在保存*****%d0%%,请稍后---***\n", i);
Sleep(1);
system("cls");
}
@ -990,4 +989,226 @@ char menu_modefy_save() //
printf("--------------------------\n");
printf("***---请选择是否保存:");
return getchar();
}
}
void delete_meun() //打印删除菜单,调用删除函数
{
void deletes(char bools,char *info);
system("color E4");
char bools;
char info[20];
system("cls");
printf("----------------------------\n");
printf("***--- 0.返回主菜单 ---***\n");
printf("***--- 1.按学号删除 ---***\n");
printf("***--- 2.按姓名删除 ---***\n");
printf("----------------------------\n");
printf("***---请输入你想执行的功能:");
scanf("\n%c",&bools);
system("cls");
if ((bools != '1') && (bools != '2'))
{
system("color 0F");
return ;
}
else if (bools == '1')
{
printf("***---请输入要删除学生的学号:");
scanf("%s",info);
}
else
{
printf("***---请输入要删除学生的姓名:");
scanf("\n%s",info);
}
deletes(bools,info);
}
void deletes(char bools,char *info) //删除函数
{
struct Student *head;
struct Student *p1=NULL, *p2=NULL;
FILE *fp1;
if ((fp1 = fopen("Student.txt","r")) == NULL)
{
printf("***---文件打开失败,请重试!---***\n");
return;
}
while (!feof(fp1))
{
if ((p1 = (struct Student*)malloc(sizeof(struct Student))) == NULL)
{
printf("***---获取数据失败,请重试!---***\n");
return;
}
fscanf(fp1,"%s %s %s %s %s %s %s %s", p1->num,p1->name,p1->age,
p1->sex,p1->birthday,p1->address,p1->telephone,p1->email);
if (p2 == NULL)
{
head = p2 = p1;
}
else
{
p2->next = p1;
p2 = p1;
p2->next = NULL;
}
}
if (fclose(fp1))
{
printf("***---文件关闭失败,请重试!---***\n");
return;
}
int flag = 0;
p1 = head;
p2 = head->next;
//输入学号删除
if (bools == '1')
{
if (!strcmp(head->num, info))
{
head = head->next;
free(p1);
flag = 1;
}
else
{
while (p2->next!= NULL)
{
if (!strcmp(p2->num, info))
{
p1->next = p2->next;
free(p2);
flag = 1;
break;
}
else
{
p1 = p1->next;
p2 = p2->next;
}
}
}
}
//输入姓名删除
else
{
if (!strcmp(head->name, info))
{
head = head->next;
free(p1);
flag = 1;
}
else
{
while (p2->next!= NULL)
{
if (!strcmp(p2->name, info))
{
p1->next = p2->next;
free(p2);
flag = 1;
break;
}
else
{
p1 = p1->next;
p2 = p2->next;
}
}
}
}
if (!flag)
{
printf("***---您删除的学生不存在,请重试!---***\n");
printf("\n");
system("pause");
return;
}
else
{
for (int i=1; i<=10; i++)
{
printf("***---正在删除*****%d0%%,请稍后---***\n", i);
Sleep(1);
system("cls");
}
printf("***---删除成功!---***\n");
Sleep(500);
}
char menu_delete_save();
char temp = menu_delete_save(); //保存删除后的数据
if ((temp == 'y') || (temp == 'Y'))
{
FILE *fp2;
p1 = head;
if ((fp2 = fopen("Student.txt","w")) == NULL)
{
printf("***---文件打开失败,请重试!---***\n");
return;
}
while (p1->next!= NULL)
{
fprintf(fp2,"%s %s %s %s %s %s %s %s\n", p1->num, p1->name, p1->age,
p1->sex, p1->birthday, p1->address, p1->telephone, p1->email);
p1 = p1->next;
}
if (fclose(fp2))
{
printf("***---文件关闭失败,请重试!---***\n");
return;
}
else
{
for (int i=1;i<=10;i++)
{
printf("***---正在保存*****%d0%%,请稍后---***\n", i);
Sleep(1);
system("cls");
}
printf("***---保存成功!---***\n");
Sleep(500);
}
}
else
{
system("cls");
printf("***---您的删除操作未保存!---***\n");
Sleep(500);
}
}
char menu_delete_save() //打印删除是否保存的菜单
{
system("cls");
printf("------------------------\n");
printf("***--- y.保存 ---***\n");
printf("***--- n.不保存 ---***\n");
printf("------------------------\n");
printf("***---请选择是否保存:");
getchar();
return getchar();
}

Loading…
Cancel
Save