学生成绩管理系统(信息查改删)

下面是信息查改删的代码:






















#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include"qtsm.h"
void seek_infor()
{
while (1)
{
printf("按学号查找请按  1\n按姓名查找请按  2\n按任意键进入下一步\n");
int n = 0;
scanf("%d", &n);
if (n == 1)
{int w = 0;
loop1:
printf("请输入学号!\n");
char num1[30];
scanf("%s", num1);
for (infor *list1 = head; list1 != NULL; list1 = list1->next)
{
if (strcmp(num1, list1->number) == 0)
{
printf("姓名   学号   性别   数学   语文   英语   物理   化学\n");
printf("%s   %s   %s   %d   %d   %d   %d   %d\n", list1->name, list1->number, list1->gender, list1->math, list1->chi, list1->Eng, list1->phy, list1->chem);
w = 1;
break;
}
}
if (w == 0)
{
printf("未找到学生信息!\n重新输入请按  1\n按  0返回上一层\n");
int m = 0;
scanf("%d", &m);
if (m == 1)
{
goto loop1;
}
else;
     }
}


else if (n == 2)
{
loop2:
printf("请输入姓名!\n");
char name1[30];
scanf("%s", name1);
int w = 0;
for (infor *list1 = head; list1 != NULL; list1 = list1->next)
{
if (strcmp(name1, list1->name) == 0)
{
printf("%s   %s   %s   %d   %d   %d   %d   %d\n", list1->name, list1->number, list1->gender, list1->math, list1->chi, list1->Eng, list1->phy, list1->chem);
w = 1;
break;
}
}
if (w == 0)
{
printf("未找到学生信息!\n重新输入请按  1\n按  0返回上一层\n");
int m = 0;
scanf("%d", &m);
if (m == 1)
{
goto loop2;
}
else;
}
}
else break;


}
}
void change_infor()
{
while (1)
{
printf("下面开始搜索要修改的学生信息!\n");
printf("按学号查找请按  1\n按姓名查找请按  2\n按  0 进入下一步\n");
int n = 0;
scanf("%d", &n);
if (n == 1)
{
int w = 0;
loop1:
printf("请输入学号!\n");
char num1[30],num2[30];
scanf("%s", num1);
for (infor *list1 = head; list1 != NULL; list1 = list1->next)
{
if (strcmp(num1, list1->number) == 0)
{
printf("找到该学生!请重新输入其信息!\n");
printf("请输入学生信息,\n按 姓名 学号 性别 数学 语文 英语 物理 化学成绩格式输入!\n");
w = 1;
scanf("%s", list1->name);
scanf("%s", list1->number);
scanf("%s", list1->gender);
scanf("%d", &list1->math);
scanf("%d", &list1->chi);
scanf("%d", &list1->Eng);
scanf("%d", &list1->phy);
scanf("%d", &list1->chem);
printf("输入结束!\n");
int ww = 0;
printf("是否保存修改信息?\n保存请按  1\n继续请按  0\n");
scanf("%d", &ww);
if (ww) { write_dir = 1; write_grade(); break; }
else { break; }
}
else;
}
if (w == 0)
{
printf("未找到学生信息!\n重新输入请按  1\n按任意键返回上一层\n");
int m = 0;
scanf("%d", &m);
if (m == 1)
{
goto loop1;
}
else;
}
}
else if (n == 2)
{
loop2:
printf("请输入姓名!\n");
char name1[30];
char name2[30];
scanf("%s", name1);
int w = 0;
for (infor *list1 = head; list1 != NULL; list1 = list1->next)
{
if (strcmp(name1, list1->name) == 0)
{
printf("找到该学生!请重新输入其信息!\n");
printf("请输入学生信息,\n按 姓名 学号 性别 数学 语文 英语 物理 化学成绩格式输入!\n");
w = 1;
scanf("%s", list1->name);
scanf("%s", list1->number);
scanf("%s", list1->gender);
scanf("%d", &list1->math);
scanf("%d", &list1->chi);
scanf("%d", &list1->Eng);
scanf("%d", &list1->phy);
scanf("%d", &list1->chem);
printf("输入结束!\n");
int ww = 0;
printf("是否保存修改信息?\n保存请按  1\n继续请按  0\n");
scanf("%d", &ww);
if (ww) { write_dir = 1; write_grade(); break; }
else { break; }
}
}
if (w == 0)
{
printf("未找到学生信息!\n重新输入请按  1\n按 2 返回上一层\n");
int m = 0 ;
scanf("%d", &m);
if (m == 1)
{
goto loop2;
}
else;
}
}
else if(n==0)
{
break;
}
}


}




void delete_infor(infor *list)
{
while (1)
{
printf("按学号查找请按  1\n按姓名查找请按  2\n按任意键进入下一步\n");
int n = 0;
scanf("%d", &n);
infor*cur;
infor*pre;
infor*cur1;
infor*pre1;
if (n == 1)
{
loop1:
printf("请输入学号!\n");
char num1[30];
scanf("%s", num1);
for (cur = list,pre=NULL; cur != NULL;pre=cur,cur=cur->next )
{
if (strcmp(num1, cur->number) == 0)
{
break;
}
}


if (cur==NULL)
{
printf("未找到学生信息!\n重新输入请按  1\n按   0返回上一层\n");
int m = 0;
scanf("%d", &m);
if (m == 1)
{
goto loop1;
}

}
else 
{

if (pre == NULL)
{
list = cur->next;
free(cur);
}
else
{
pre->next = cur->next;
free(cur);
}
printf("\n该学生信息已经删除!\n\n");
write_dir = 3;
write_grade();
}

}




else if (n == 2)
{
loop2:
printf("请输入姓名!\n");
char name1[30];
scanf("%s", name1);
for (cur = list, pre = NULL; cur != NULL; pre = cur, cur = cur->next)
{
//printf("%s\n",cur->name);
if (strcmp(name1, cur->name) == 0)
{
break;
}
}
if (cur == NULL)
{
printf("未找到学生信息!\n重新输入请按  1\n按  0返回上一层\n");
int m = 0;
scanf("%d", &m);
if (m == 1)
{
goto loop2;
}


}
else
{
if (pre == NULL)
{
list = cur->next;
free(cur);
}
else
{
pre->next = cur->next;
free(cur);
printf("\n该学生信息已经删除!\n\n");
}
write_dir = 3;
write_grade();
}
}






else if (n == 0)  break;
}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值