精华内容
下载资源
问答
  • 2) 从原文件(不是合并后文件)抽出三科成绩中有补考的学生(只要一门不及格,整个学生的信息都要抽出),并保存在一个新文件,新文件不需要按学号有序(bk.txt) 3) 对补考文件(bk.txt) 的数据按学号排序,保存在一...
  • 建议创建一个空文件,通过程序来向文件中存数据。 手动去文件中存数据需要严格按照格式。 如果想预先手动存一些数据,需要按照以下格式: 某些编译器上,姓名可能不支持中文 姓名1 语文 数学 英语 计算机 C语言...

    核心知识

    单向链表基本操作+对文件的基本操作

    使用说明

    • 请先建好一个.txt文件并记下路径名,文件可以为空,也可以预先存好数据
    • 建议创建一个空文件,通过程序来向文件中存数据。
    • 手动去文件中存数据需要严格按照格式。

    如果想预先手动存一些数据,需要按照以下格式:

    在某些编译器上,姓名可能不支持中文


    姓名1 语文 数学 英语 计算机 C语言 平均分 总分1

    姓名n 语文 数学 英语 计算机 C语言 平均分 总分n


    文件结尾,也就是最后一行的总分n后面不要有任何字符

    代码附上

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <malloc.h>
    
    #define MAXNAME 30
    #define MAXSUBJECT 5
    #define SPACE ' '
    
    typedef struct student
    {
        char name[MAXNAME];
        int score[MAXSUBJECT];
        double aver;
        int sum;
    
    } STUDENT;
    
    typedef struct node
    {
        STUDENT data;
        struct node *next;
    
    } NODE, *LIST;
    
    int i, choice;
    char ch, c, c2;
    char s1[10] = "name";
    char s2[10] = "average";
    char s3[10] = "sum";
    char s4[10] = "chinese";
    char s5[10] = "math";
    char s6[10] = "english";
    char s7[10] = "computer";
    char s8[10] = "c";
    char FileName[100];
    LIST headp = NULL;
    
    // 读入文件时,添加链表成员
    void AddFscanf(NODE);
    
    // 使用说明
    void Instructions();
    
    // 进行完一次操作后,询问是否继续
    void Ask();
    
    // 打印分割线
    void SplitLine();
    
    // 操作1,用户输入时,添加链表成员,
    void AddUserInput();
    
    // 操作2,删除节点
    void Delete();
    
    // 操作3,查询某个节点信息
    void Inquire();
    
    // 操作4,更新某个节点信息
    void Update();
    
    // 操作5,排序学生信息
    void Sort();
    
    // 操作6,保存信息到文件中
    void Save();
    
    // 操作7,打印链表
    void Print();
    
    // 释放链表
    void Free();
    
    int main(void)
    {
    
        FILE *fp = NULL;
        NODE head;
        NODE temp;
        headp = &head;
        head.next = NULL;
        temp.next = NULL;
        printf("请输入文件的绝对路径+文件名(仅限 .txt 文件)\n\n");
        printf("例如,若您要打开D盘根目录下的 info.txt 文件\n");
        printf("则应输入\"D:/info.txt\"(您输入的字符均应为英文字符)\n");
        scanf("%s", FileName);
        getchar();
        if ((fp = fopen(FileName, "r")) == NULL)
        {
            printf("\n\"%s\" 打开失败\n\n", FileName);
            exit(EXIT_FAILURE);
        }
        printf("\n\"%s\" 打开成功!\n", FileName);
        printf("\n正在鉴定文件是否为空...\n");
        c2 = getc(fp);
        fclose(fp);
        if (c2 == EOF)
            printf("打开的文件为空文件,仅可进行写入操作!\n");
        else
        {
            printf("文件非空,可进行任意操作\n\n");
            printf("正在重新打开该文件...\n");
            if ((fp = fopen(FileName, "r")) == NULL)
            {
                printf("can't open \"%s\" \n", FileName);
                exit(EXIT_FAILURE);
            }
            printf("正在读取该文件中的数据...\n");
            while (1)
            {
                fscanf(fp, "%s", temp.data.name);
                for (i = 0; i < MAXSUBJECT; i++)
                    fscanf(fp, "%d", &temp.data.score[i]);
                fscanf(fp, "%lf", &temp.data.aver);
                fscanf(fp, "%d", &temp.data.sum);
                ch = getc(fp);
                AddFscanf(temp);
                if (ch == EOF)
                    break;
            }
            printf("文件数据读取成功!\n");
            fclose(fp);
        }
        while (1)
        {
            Instructions();
            switch (choice)
            {
            case 1:
                AddUserInput();
                break;
            case 2:
                Delete();
                break;
            case 3:
                Inquire();
                break;
            case 4:
                Update();
                break;
            case 5:
                Sort();
                break;
            case 6:
                Save();
                break;
            case 7:
                Print();
                break;
            case 0:
                printf("Bye~  Have a good day! \n\n");
                exit(EXIT_FAILURE);
            default:
                break;
            }
            Ask();
        }
    
        Free();
        return 0;
    }
    
    void Free()
    {
        LIST temp = headp->next;
        LIST deletep = NULL;
        while (temp != NULL)
        {
            deletep = temp;
            temp = temp->next;
            free(deletep);
        }
    }
    void Save()
    {
        FILE *fp = NULL;
        int flag = 0;
        LIST temp = headp->next;
        if ((fp = fopen(FileName, "w")) == NULL)
        {
            printf("can't open \" %s \" \n", FileName);
            exit(EXIT_FAILURE);
        }
        while (temp != NULL)
        {
            if (flag)
                fprintf(fp, "\n");
            fprintf(fp, "%s   ", temp->data.name);
            for (i = 0; i < MAXSUBJECT; i++)
                fprintf(fp, "%d   ", temp->data.score[0]);
            fprintf(fp, "%.2f   ", temp->data.aver);
            fprintf(fp, "%d", temp->data.sum);
            flag = 1;
            temp = temp->next;
        }
        printf("\n保存成功!");
        fclose(fp);
    }
    void Sort()
    {
        LIST temp = NULL;
        STUDENT t;
        int lenth = 0, j;
        if (headp->next == NULL)
        {
            printf("数据为空!仅可进行写入操作!\n");
            return;
        }
        temp = headp->next;
        while (temp != NULL)
        {
            lenth++;
            temp = temp->next;
        }
        for (i = lenth - 1; i > 0; i--)
        {
            temp = headp->next;
            for (j = 0; j < i; j++)
            {
                if (temp->data.sum < temp->next->data.sum)
                {
                    t = temp->data;
                    temp->data = temp->next->data;
                    temp->next->data = t;
                }
                else if (temp->data.sum == temp->next->data.sum)
                {
                    if (strcmp(temp->data.name, temp->next->data.name) > 0)
                    {
                        t = temp->data;
                        temp->data = temp->next->data;
                        temp->next->data = t;
                    }
                }
                temp = temp->next;
            }
        }
        printf("\n排序成功!");
    }
    
    void Update()
    {
        LIST temp = NULL;
        int flag;
        char NAME[MAXNAME];
        if (headp->next == NULL)
        {
            printf("数据为空!\n");
            return;
        }
        temp = headp;
        printf("请输入要更新的学生姓名:\n");
        while (1)
        {
            temp = headp;
            fflush(stdin);
            scanf("%s", NAME);
            getchar();
            while (temp != NULL)
            {
                if (strcmp(temp->data.name, NAME) == 0)
                    break;
                temp = temp->next;
            }
            if (temp == NULL)
            {
                printf("错误!库中没有该学生的信息\n");
                printf("键入'n'退出该功能,或键入'y'重新输入\n");
                while (1)
                {
                    flag = 0;
                    scanf("%c", &c);
                    getchar();
                    if (c == 'y' || c == 'Y')
                    {
                        printf("请重新输入要更新学生的姓名\n");
                        break;
                    }
                    else if (c == 'n' || c == 'N')
                    {
                        flag = 1;
                        break;
                    }
                    else
                        printf("输入非法!请输入'y'或'n',不要输入其它字符\n");
                }
                if (flag)
                    break;
            }
            else
            {
                temp->data.sum = 0;
                temp->data.aver = 0.0;
                printf("请依次输入该学生语文、数学、英语、计算机、C语言,五门课的成绩\n");
                for (i = 0; i < MAXSUBJECT; i++)
                {
                    scanf("%d", &temp->data.score[i]);
                    temp->data.sum += temp->data.score[i];
                }
                temp->data.aver = temp->data.sum * 1.0 / MAXSUBJECT;
                printf("\n更新成功!");
                break;
            }
        }
    }
    void Inquire()
    {
        LIST temp = NULL;
        int flag;
        char NAME[MAXNAME];
        if (headp->next == NULL)
        {
            printf("数据为空!\n");
            return;
        }
        temp = headp;
        printf("请输入要查询的学生姓名:\n");
        while (1)
        {
            temp = headp;
            fflush(stdin);
            scanf("%s", NAME);
            getchar();
            while (temp != NULL)
            {
                if (strcmp(temp->data.name, NAME) == 0)
                    break;
                temp = temp->next;
            }
            if (temp == NULL)
            {
                printf("错误!库中没有该学生的信息\n");
                printf("键入'y'重新输入或'n'退出该功能\n");
                while (1)
                {
                    flag = 0;
                    scanf("%c", &c);
                    getchar();
                    if (c == 'y' || c == 'Y')
                    {
                        printf("请重新输入要查询学生的姓名\n");
                        break;
                    }
                    else if (c == 'n' || c == 'N')
                    {
                        flag = 1;
                        break;
                    }
                    else
                        printf("输入非法!请输入'y'或'n',不要输入其它字符\n");
                }
                if (flag)
                    break;
            }
            else
            {
                printf("\n\n%s的信息如下:\n\n", NAME);
                printf("%-10s %-8s %-10s %-10s %-10s %-10s %6s\n",
                       s2, s3, s4, s5, s6, s7, s8);
                printf("%-10.2f %-10d",
                       temp->data.aver, temp->data.sum);
                for (i = 0; i < MAXSUBJECT; i++)
                    printf("%-12d", temp->data.score[i]);
                printf("\n");
                break;
            }
        }
    }
    
    void Delete()
    {
        LIST temp = NULL, deletp = NULL;
        int flag;
        char NAME[MAXNAME];
        if (headp->next == NULL)
        {
            printf("数据为空!\n");
            return;
        }
        temp = headp;
        printf("请输入要删除的学生的姓名:\n");
        // 现在这个情况,链表一定不为空
        while (1)
        {
            temp = headp;
            fflush(stdin);
            scanf("%s", NAME);
            getchar();
            // 搜索要删除的学生姓名所在结点的上一个
            while (temp->next != NULL)
            {
                if (strcmp(temp->next->data.name, NAME) == 0)
                    break;
                temp = temp->next;
            }
            if (temp->next == NULL)
            {
                flag = 0;
                printf("您要删除的学生不存在,键入'y'重新输入或'n'退出该功能\n");
                while (1)
                {
                    c = getchar();
                    getchar();
                    if (c == 'y' || c == 'Y')
                    {
                        printf("请重新输入学生姓名:\n");
                        break;
                    }
                    else if (c == 'n' || c == 'N')
                    {
                        flag = 1;
                        break;
                    }
                    else
                        printf("输入非法!请重新输入'y' or 'n'\n");
                }
                if (flag)
                    break;
            }
            else
            {
                // 要删除的结点是最后一个结点
                if (temp->next->next == NULL)
                {
                    free(temp->next);
                    temp->next = NULL;
                }
                else
                {
                    deletp = temp->next;
                    temp->next = temp->next->next;
                    free(deletp);
                }
                printf("\n删除成功!");
                break;
            }
        }
    }
    void Ask()
    {
        fflush(stdin);
        printf("\n\n输入'n'结束该信息管理系统,或输入其它任意字符回到菜单\n");
        scanf("%c", &c);
        getchar();
        if (c == 'n')
        {
            printf("\nBye~  Have a good day! \n\n");
            exit(EXIT_FAILURE);
        }
    }
    void AddUserInput()
    {
        int flag = 0, flag2 = 0;
        LIST newp = NULL;
        LIST temp = headp->next;
        printf("请输入学生姓名:\n");
        while (1)
        {
            newp = (LIST)malloc(sizeof(NODE));
            flag = 0;
            temp = headp->next;
            fflush(stdin);
            scanf("%s", newp->data.name);
            getchar();
            while (temp != NULL)
            {
                if (strcmp(newp->data.name, temp->data.name) == 0)
                {
                    flag = 1;
                    break;
                }
                temp = temp->next;
            }
            if (flag)
            {
                printf("\n库中已有该名字,请退回到菜单选择\"更新信息\"或选择重新输入名字\n");
                printf("是否重新输入?(y/n)\n");
                while (1)
                {
                    flag2 = 0;
                    c = getchar();
                    getchar();
                    if (c == 'y')
                    {
                        printf("\n您选择了'y',请重新输入名字\n");
                        break;
                    }
                    else if (c == 'n')
                    {
    
                        flag2 = 1;
                        break;
                    }
                    else
                    {
                        printf("\n请输入'y'或'n',不要输入其它字符!\n");
                        printf("请重新输入'y'或'n' \n");
                    }
                }
                if (flag2)
                    break;
            }
            else
            {
                temp = headp;
                while (temp->next != NULL)
                    temp = temp->next;
                temp->next = newp;
                newp->next = NULL;
                newp->data.sum = 0;
                newp->data.aver = 0.0;
    
                printf("请依次输入该学生语文、数学、英语、计算机、C语言,五门课的成绩\n");
                for (i = 0; i < MAXSUBJECT; i++)
                {
                    scanf("%d", &newp->data.score[i]);
                    newp->data.sum += newp->data.score[i];
                }
                newp->data.aver = newp->data.sum * 1.0 / MAXSUBJECT;
                printf("\n添加成功!\n");
                printf("是否继续添加?(输入'n'结束该功能,输入其它任意字符继续添加)\n");
                fflush(stdin);
                c = getchar();
                getchar();
                if (c == 'n')
                    break;
                else
                    printf("\n请继续输入要添加的学生的姓名\n");
            }
        }
    }
    
    void AddFscanf(NODE newNode)
    {
        LIST newp = (LIST)malloc(sizeof(NODE));
        LIST temp = headp;
        while (temp->next != NULL)
            temp = temp->next;
        temp->next = newp;
        newp->next = NULL;
        newp->data.sum = 0;
        newp->data.aver = 0.0;
        strcpy(newp->data.name, newNode.data.name);
        for (i = 0; i < MAXSUBJECT; i++)
            newp->data.score[i] = newNode.data.score[i];
        newp->data.sum = newNode.data.sum;
        newp->data.aver = newNode.data.aver;
    }
    
    void Print()
    {
        LIST temp = NULL;
        if (headp->next == NULL)
        {
            printf("数据为空!\n");
            return;
        }
        temp = headp;
        printf("已存储的数据为:\n");
        SplitLine();
        printf("%-15s %-10s %-8s %-10s %-10s %-10s %-10s %6s\n",
               s1, s2, s3, s4, s5, s6, s7, s8);
        while (temp->next != NULL)
        {
            printf("%-15s %-10.2f %-10d",
                   temp->next->data.name, temp->next->data.aver,
                   temp->next->data.sum);
            for (i = 0; i < MAXSUBJECT; i++)
                printf("%-12d", temp->next->data.score[i]);
            printf("\n");
            temp = temp->next;
        }
        SplitLine();
    }
    
    void SplitLine()
    {
        printf("\n========================================================================================\n\n");
    }
    
    void Instructions()
    {
        printf("\n\n\t   The Student's Grade Management System\n\n");
        printf("---------------------Student  Menu------------------------\n");
    
        if (headp->next == NULL)
        {
            printf("* 1 输入学生信息\t\t\t * 0 退出学生系统\n");
            printf("----------------------------------------------------------\n");
            printf("此时数据为空!仅支持输入学生信息!\n");
            printf("Enter your choice 0 or 1: ");
        }
        else
        {
            printf("* 1 输入学生信息\t\t\t * 2 删除学生信息\n");
            printf("* 3 查询学生信息\t\t\t * 4 更新学生信息\n");
            printf("* 5 排序学生信息\t\t\t * 6 保存学生信息\n");
            printf("* 7 显示学生信息\t\t\t * 0 退出学生系统\n");
            printf("----------------------------------------------------------\n");
            printf("Enter your choice [0 - 9]: ");
        }
        scanf("%d", &choice);
        printf("\n\n");
    }
    
    展开全文
  • //输入一个学生信息,到score[i] void InputRecord(STUDENT stu[],int i) { int j; //输入学号,并验证合法性 printf("输入第%d个学生的信息\n",i+1); printf("输入学生学号(学号小于9位数字组成)...
  • 19、两张关联表,删除主表中已经表中没有的信息 我的答案 delete from fubiao a where a.fid not in(select id from zhubiao) 20、程序题: 用1、2、2、3、4、5这六数字,用java或你熟悉的语言,打印出...
  • //2、表中至少20个学生,每个学生有5门课的成绩。 //3、算出每个学生的平均分。 //4、根据平均分用动态链表排序。 #include #include #define N 3 struct Student { unsigned long int sno; char name[20]; int...
  • 背景成绩管理系统中,当同学的分数被修改时,需要通过触发器将成绩表中的这条更新记录到新的表 modifymark 中。同时需要创建一个存储过程用来显示数学课的全部学生的成绩,并按分数降序排列。另外,现需要为...

    背景


    成绩管理系统中,当有同学的分数被修改时,需要通过触发器将成绩表中的这条更新记录存到新的表 modifymark 中。同时需要创建一个存储过程用来显示数学课的全部学生的成绩,并按分数降序排列。另外,现需要为数据库新增一个用户,并为他分配在数据库 gradesystem 下所有表的 select 权限。

    有四个表

    • 学生表(student):学生 sid 、学生姓名sname和性别gender

    • 课程表(course):课程 cid 和课程名cname

    • 成绩表(mark):成绩 id 、学生 id 、课程 id 和分数score
    • 成绩更新表(modifymark):成绩 id (m_mid)、学生 id (m_sid)、课程 id(m_cid) 、分数(m_score)和更新时间(m_time)。

    目标

    • 1.MySQL 服务处于运行状态

      这里写图片描述

    • 2.下载运行 createdb2.sql 文件,完成数据库的建立
      这里写图片描述

      这里写图片描述

    • 3.创建触发器 trigger_modify 实现当 mark 表有分数被修改时,将更新后的整条数据插入到 modifymark 表中。测试将 Tom 的化学成绩在原来的基础上加3分,查看 modifymark 中是否插入了数据
      tips:
      1是update不是set或者insert
      2获取现在的时间使用now()

      这里写图片描述
      3测试,更新表中数据,m_mid因为在建表的时候,采用的自增,所以创建构造器的不用复制,现在每插入一条数据,表格中属性m_mid会自增.
      这里写图片描述
      这里写图片描述

    • 4.创建存储过程 math_proc 将数学课的全部学生的成绩按降序排列显示。包括课程名(cname) math、学生姓名(sname)以及分数(score)
      这里写图片描述

    • 5.创建用户 testuser,密码为 123456,并为其分配在数据库 gradesystem 下所有表的 select 权限
      -这里写图片描述

    • 6测试5
      1登陆

    • 这里写图片描述
      2测试SELECT
      这里写图片描述
      3测试其他
      这里写图片描述
    展开全文
  • 举例:比如 有一个学生的数据: 姓名:张三,性别:男,学号:12345,班级:二年级一班还有一个班级的数据: 班级:二年级一班,班主任:李四 关系型数据库中,我们创建学生表和班级表来这两条数据,并且学生表...
    关系型数据库通过外键关联来建立表与表之间的关系,非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
    
    
    举例:

    比如 有一个学生的数据:

        姓名:张三,性别:男,学号:12345,班级:二年级一班

    还有一个班级的数据:

        班级:二年级一班,班主任:李四

    关系型数据库中,我们创建学生表和班级表来存这两条数据,并且学生表中的班级存储的是班级表中的主键。

    非关系型数据库中,我们创建两个对象,一个是学生对象,一个是班级对象,用java来表示就是:

    class Student {
        String id;
        String name;
        String sex;
        String number;
        String classid;
    }
    class Grade {
        String id;
        String name;
        String teacher;
    }

    通过设置Student类的classid等于Grade类的id来建立这种关系;


    非关系型数据库中,我们查询一条数据,结果出来一个数组,关系型数据库中,查询一条数据结果是一个对象。


    展开全文
  • Excel新增工具集

    2011-12-20 09:30:27
    例如:第一个表中有A、B、C三人,第二个表中A、C、D、E四人,可以抽取两表中都的A、C二人,还可以合并成A、B、C、D、E五人,并且可以追加一个表中的新的列字段到另一个表。 7、按类别拆分一个工作表中的行记录...
  • 7.915个数按从小到大的顺序存放在一个数组中。输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,输出“不在表中”。 39 7.10一篇文章,共有3行文字,每行80个字符。要求分别...
  • 数据结构 课程设计说明书 学生姓名: 学号 学院 专 业 题目 成 绩 指导教师 年 月 日 1设计目的小标题黑体五号字 设计一个计算机管理系统完成图书管理基本业务 数据可以存储在一个数据文件 数 据结构具体数据自定) ...
  • 数 据 结 构 课 程 设 计 说 明 书 学生姓名: 学 号 学 院 : 专 业 : 题 目: 成 绩 指导 教师 年 月 日 1 设计目的 (小标题黑体五号字 ) 设计一个计算机管理系统完成图书管理基本业务 数据可以存储在一个数据文件 ...
  • C#数据结构

    2013-12-10 11:49:54
    一行是一个记录(数据库信息处理系统中,表中一个数据元素称为一个记 录)。一条记录由学号、姓名、行政班级、性别和出生年月等数据项组成。表中 数据元素之间的关系是一对一的关系。 表 1.1 学生信息表 学号 ...
  • 实例244 使用内联接选择一个表与另一个表中行相关所有行 7.16 外联接查询 实例245 Left Outer Join查询——左外联接查询 478 实例246 Right Outer Join查询——右外联接查询 479 实例247 使用外联接进行多表...
  • 《数据结构 1800题》

    热门讨论 2012-12-27 16:52:03
    4.一个数据结构计算机(表示) 称为存储结构。【华中理工大学 2000 一、1(1分)】 5.抽象数据类型的定义仅取决于它的一组__(1)_,而与_(2)_无关,即不论其内部结构如何变化,只要它的_(3)_不变,都不...
  • 204 在有学生全部缺考的情况下计算学生的平均成绩 392 Chapter 07 查找和引用函数应用实例 394 ◎查找函数 395 205 查询指定员工缺勤次数 395 206 根据考核成绩评定员工考核等级 396 207 根据员工姓名查找...
  • 数据结构(C++)有关练习题

    热门讨论 2008-01-02 11:27:18
    内容及步骤: 1、 设一个线性表(e0,e1,e2,e3,…,en-2,en-1)存放在一个一维数组A[arraySize]的前n个数组元素位置。请编写一个函数将这个线性表原地逆置,即将数组的前n个原地址内容置换为(en-1,en-2,…,e3,...
  • 实例014 使当前项目依赖另一个项目 1.3 界面设计器 实例015 安装界面设计器 实例016 设计Windows系统的运行对话框界面 实例017 设计计算器程序界面 实例018 设计关于进销管理系统的界面 第2章 Java基础应用...
  • 实例014 使当前项目依赖另一个项目 1.3 界面设计器 实例015 安装界面设计器 实例016 设计Windows系统的运行对话框界面 实例017 设计计算器程序界面 实例018 设计关于进销管理系统的界面 第2章 Java基础应用...
  • 数据库”的一个定义:数据库是长期存储计算机内组织的大量的共享的数据集合,它可 以供各种用户共享,具有最小冗余度和较高的数据独立性。 DBMS 数据库建立、运用和 维护时对数据库进行统一控制,以保证数据的...
  • 实例014 使当前项目依赖另一个项目 21 1.3 界面设计器 22 实例015 安装界面设计器 22 实例016 设计Windows系统的运行对话框 界面 23 实例017 设计计算器程序界面 26 实例018 设计关于进销管理系统的界面 27 第2章 ...
  • 实例014 使当前项目依赖另一个项目 21 1.3 界面设计器 22 实例015 安装界面设计器 22 实例016 设计Windows系统的运行对话框 界面 23 实例017 设计计算器程序界面 26 实例018 设计关于进销管理系统的界面 27 第2章 ...
  • //查找学号最大值,将其下标至sort数组的最后一个 for(j=1; j; j++) { if(temp_num[max][j]) max = j; } sort[n-1] = max; //sort数组的最后一个数 for(i=0; i; ++i) { min = i; //查找...
  • SQL解惑(第2版)--详细书签版

    热门讨论 2012-08-21 01:18:40
     每一道题目所涉及的人我都尽量列出了姓名,若遗漏,我深歉意。  致谢、校正及未来的版本  我将很高兴收到本书的校正、新的解题窍门和技巧,以及其他有关本书未来版本的建议。请将你的想法发送给我,或通过...
  • SQL sever 实训

    2018-06-28 21:10:03
    --计算多少种产品(假设为x),然后显示条信息:共有X种产品 DECLARE @X int SET @X =(SELECT COUNT (*) FROM Product ) PRINT '共有'+convert (char(2),@x)+'种产品。' GO --编写计算n!(n=20)的程序,并...
  • 用例24:计算第一个月和最后一个月应付的本金金额(PPMT) 源文件:光盘\源文件\02\023.xlsx 用例25:计算证券的价格(PRICEMAT) 源文件:光盘\源文件\02\025.xlsx 用例26:计算一次性证券利息(ACCRINTM) ...

空空如也

空空如也

1 2
收藏数 25
精华内容 10
关键字:

在一个表中存有学生姓名