⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 复件 sql.c

📁 中北大学大型软件实验设计
💻 C
📖 第 1 页 / 共 2 页
字号:
        {
            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 + -