📄 复件 sql.c
字号:
{
printf("无此学生信息,请添加");
b->next=NULL;
free(n);
getch();
}
else
{
if (isexistg(sn,q)==0)
{
printf("请输入该学生的数学成绩:");
scanf("%d",&m);
printf("请输入该学生的英语成绩:");
scanf("%d",&e);
printf("请输入该学生的化学成绩:");
scanf("%d",&c);
printf("请输入该学生的物理成绩:");
scanf("%d",&p);
n->num=sn;
n->math=m;
n->eng=e;
n->che=c;
n->phy=p;
printg(q);
}
else
{
printf("该学生成绩已经存在!");
b->next=NULL;
free(n);
getch();
}
}
}
}
/*新学生信息*/
void instu(student*a)
{
int sn,sa,sd,ss,i=0;
char tmp[20],input;
student*n,*b;
clrscr();
n = (student *) malloc (sizeof(student));
n -> next = NULL;
b=a;
if (a->next==NULL)
{
a->next=n;
printf("请输入该学生的学号:");
scanf("%d",&sn);
if (isexists(sn,b)==0)
{
getchar(); /*清除回车干扰*/
printf("\n请输入该学生的姓名:");
while ((input = getchar()) != '\n')
{
n-> name[i] = input;
i++;
}
n -> name[i] = '\0';
printf("请输入该学生的性别(1.男性2女性):");
scanf("%d",&ss);
printf("请输入该学生的系别:");
scanf("%d",&sd);
printf("请输入该学生的年龄:");
scanf("%d",&sa);
n->stunum=sn;
n->sex=ss;
n->age=sa;
n->dep=sd;
prints(b);
}
else
{
printf("该学生信息已经存在!");
a->next=NULL;
free(n);
getch();
}
}
else
{
a=a->next;
while(a->next!=NULL)
{
a=a->next;
}
a->next=n;
printf("请输入该学生的学号:");
scanf("%d",&sn);
if (isexists(sn,b)==0)
{
getchar(); /*清除回车干扰*/
printf("\n请输入该学生的姓名:");
while ((input = getchar()) != '\n')
{
n-> name[i] = input;
i++;
}
n -> name[i] = '\0';
printf("请输入该学生的性别(1.男性2女性):");
scanf("%d",&ss);
printf("请输入该学生的系别:");
scanf("%d",&sd);
printf("请输入该学生的年龄:");
scanf("%d",&sa);
n->stunum=sn;
n->sex=ss;
n->age=sa;
n->dep=sd;
prints (b);
}
else
{
printf("该学生信息已经存在!");
a->next=NULL;
free(n);
getch();
}
}
}
/*删除学生表记录*/
void delstu(student*a,grade*b)
{
int sn;
student*s,*h;
grade*t;
s=a;
h=a;
t=b;
prints(a);
printf("请输入要删除学生记录的学号:");
scanf("%d",&sn);
a=a->next;
while ((a->stunum!=sn)&&(a->next!=NULL))
{
s=a;
a=a->next;
}
if (a->stunum==sn && a->next==NULL)
{
s->next=NULL;
free(a);
b=b->next;
while ((b->num!=sn)&&(b->next!=NULL))
{
t=b;
b=b->next;
}
if (b->num==sn && b->next==NULL)
{
t->next=NULL;
free(b);
}
else if(b->num==sn)
{
t->next=b->next;
free(b);
}
prints(h);
}
else if(a->stunum!=sn)
{
printf("无此学生,无法删除");
}
else
{ s->next=a->next;
free(a);
b=b->next;
while ((b->num!=sn)&&(b->next!=NULL))
{
t=b;
b=b->next;
}
if (b->num==sn && b->next==NULL)
{
t->next=NULL;
free(b);
}
else if(b->num==sn)
{
t->next=b->next;
free(b);
}
prints(h);
}
}
/*删除成绩记录*/
void delgra(grade*a)
{
int sn;
grade*s,*h;
s=a;
h=a;
printg(a);
printf("请输入要删除学生记录的学号:");
scanf("%d",&sn);
a=a->next;
while ((a->num!=sn)&&(a->next!=NULL))
{
s=a;
a=a->next;
}
if (a->num==sn && a->next==NULL)
{
s->next=NULL;
free(a);
printg(h);
}
else if(a->num!=sn)
{
printf("无此学生,无法删除");
}
else
{s->next=a->next;
free(a);
printg(h);
}
}
/*插入*/
pagein(student*a,grade*b)
{
int n;
clrscr();
gotoxy(31,8);
printf("1.插入学生信息");
gotoxy(31,10);
printf("2.插入新的成绩");
gotoxy(26,22);
printf("请选择你操作表的序号:");
scanf("%d",&n);
switch(n)
{
case 1:instu(a);break;
case 2:ingra(a,b);break;
default:getch();
}
}
/*删除*/
pagedel(student*a,grade*b)
{
int n;
clrscr();
gotoxy(31,8);
printf("1.删除学生信息");
gotoxy(31,10);
printf("2.删除学生成绩");
gotoxy(26,22);
printf("请选择你操作表的序号:");
scanf("%d",&n);
switch(n)
{
case 1:delstu(a,b);break;
case 2:delgra(b);break;
default:getch();
}
}
/*修改学生信息*/
modstu(student*a)
{
int sn,n;
student*b;
b=a;
clrscr();
prints(a);
a=a->next;
printf("请输入修改学生的学号:");
scanf("%d",&sn);
while (a->stunum!=sn)
{ if (a->next==NULL)
break;
a=a->next;
}
if (a->stunum!=sn)
{
printf("无此学生!");
}
else
{
printf("请输入学生年龄:");
scanf("%d",&n);
a->age=n;
prints(b);
}
}
/*修改成绩信息*/
modgra(grade*a)
{
int sn,n,g;
grade*h;
clrscr();
printg(a);
h=a;
a=a->next;
printf("请输入所修改学生的学号:");
scanf("%d",&sn);
while (a->num!=sn)
{ if (a->next==NULL)
break;
a=a->next;
}
if (a->num!=sn)
{
printf("无此学生成绩!");
getch();
}
else
{
clrscr();
gotoxy(31,8);
printf("1.修改学生数学");
gotoxy(31,10);
printf("2.修改学生英语");
gotoxy(31,12);
printf("3.修改学生化学");
gotoxy(31,14);
printf("4.修改学生物理");
gotoxy(26,22);
printf("请选择你操作表的序号:");
scanf("%d",&n);
clrscr();
switch(n)
{
case 1: printf("请输入学生新的数学成绩:");scanf("%d",&g);a->math=g ;break;
case 2: printf("请输入学生新的英语成绩");scanf("%d",&g);a->eng=g ;break;
case 3: printf("请输入学生新的化学成绩");scanf("%d",&g);a->che=g ;break;
case 4: printf("请输入学生新的物理成绩");scanf("%d",&g);a->phy=g ;break;
default:getch();
}
printg(h);
}
}
/*修改*/
pagemod(student*s,grade*g)
{
int n;
clrscr();
gotoxy(31,8);
printf("1.修改学生信息");
gotoxy(31,10);
printf("2.修改学生成绩");
gotoxy(26,22);
printf("请选择你操作表的序号:");
scanf("%d",&n);
switch(n)
{
case 1: modstu(s);break;
case 2: modgra(g);break;
default:getch();
}
}
/*结束画面函数*/
end()
{
textbackground(6);
textcolor(15);
clrscr();
gotoxy(30,4);
printf("题目:标准SQL语言的实现");
gotoxy(9,8);
printf("本次程序设计人员:");
gotoxy(9,10);
printf("学生信息表和成绩信息表的创建:");
gotoxy(9,12);
printf("信息查询功能:");
gotoxy(9,14);
printf("记录的添加和删除:");
gotoxy(9,16);
printf("记录的修改:");
gotoxy(9,18);
printf("谢谢使用#_#");
gotoxy(50,22);
printf("02090402 ");
gotoxy(57,27);
printf("2006年1月5日 ");
}
/*过程画面函数*/
page1()
{
textbackground(1);
clrscr();
}
/*主界面函数*/
page0()
{
int xyz;
student*s;
grade* g;
textbackground(1); /*设置图形背景*/
textcolor(WHITE);
clrscr();
gotoxy(26,4);
printf(" ----标准sql语言的实现----");
gotoxy(31,8);
printf("1.学生表成绩表初始化");
gotoxy(31,10);
printf("2.查询信息");
gotoxy(31,12);
printf("3.插入信息");
gotoxy(31,14);
printf("4.删除信息");
gotoxy(31,16);
printf("5.修改信息");
gotoxy(31,18);
printf("6.退出");
gotoxy(26,22);
printf("请选择你所实现的功能的序号:");
scanf("%d",&xyz);
switch(xyz)
{
case 1: page1();s=createstu();g=creategra();page0();break;
case 2: page1();pagecha(s,g);getch();page0();break;
case 3: page1();pagein(s,g);getch();page0();break;
case 4: page1();pagedel(s,g);getch();page0();break;
case 5: page1();pagemod(s,g);getch();page0();break;
case 6: end();gotoxy(31,24);printf("请按任意键退出");break;
default: gotoxy(31,24);printf("错误!请按任意键退出");getch();end();gotoxy(31,24);printf("请按任意键退出");exit(1);
}
}
main()
{
page0();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -