首页 > 编程语言 >2023-2024-1 20231407陈原 《计算机基础与程序设计》第八周学习总结

2023-2024-1 20231407陈原 《计算机基础与程序设计》第八周学习总结

时间:2023-11-19 22:46:29浏览次数:41  
标签:20231407 int float else 2024 2f 2023 printf 设计

这个作业属于哪里 计算机基础与程序设计
作业要求是什么 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08
作业目的是什么
  • 功能设计与面向对象设计
  • 面向对象设计过程
  • 面向对象语言三要素
  • 汇编、编译、解释、执行
作业正文   https://www.cnblogs.com/CCCY12345/p/17842851.html
功能设计:

 

  1. 需求分析: 在进行功能设计之前,首先要对用户需求进行深入的分析。这包括了与用户的沟通、需求文档的研读等。了解用户的期望和系统需要解决的问题是功能设计的基础。

  2. 功能分解: 将整个系统划分为若干个功能模块或子系统。这有助于对系统进行更好的组织和管理。每个功能模块应该有清晰的职责和功能。

  3. 功能规格定义: 对每个功能模块进行详细的规格定义,明确输入、输出、处理逻辑、数据存储等方面的要求。这有助于确保每个功能模块的实现符合预期。

  4. 功能优先级: 根据用户需求和业务优先级,确定各个功能的优先级。这有助于在开发过程中有选择地实现功能,确保首要的功能先得到满足。

  5. 用户界面设计: 如果涉及到用户交互,需要设计用户界面。用户界面设计要考虑到用户的使用习惯、易用性和美观性。通常,原型设计可以用于展示系统的外观和用户交互流程。

  6. 功能间的关系: 确定各功能模块之间的依赖关系和交互方式,确保系统整体能够协同工作。

  7. 错误处理和异常情况: 设计系统对可能发生的错误和异常的处理机制。这包括用户输入错误、系统故障等情况的处理。

  8. 性能要求: 确定系统的性能需求,包括响应时间、并发处理能力等。这有助于在设计阶段考虑系统的可扩展性和性能优化。

  9. 安全性设计: 考虑系统的安全性,包括用户身份验证、数据加密、访问控制等方面的设计。

  10. 测试计划: 制定测试计划,确保每个功能都能在开发完成后得到充分的测试,以验证其正确性和稳定性。

面向对象设计:

  1. 对象: 在面向对象设计中,系统被看作是一组相互协作的对象的集合。对象是具有状态、行为和标识的实体。每个对象都是一个类的实例。

  2. 类: 类是对象的抽象,它定义了一组具有相似属性和行为的对象。类是创建对象的模板,它包含了对象的属性(成员变量)和方法(成员函数)。

  3. 封装: 封装是将对象的内部状态和行为隐藏起来,只暴露必要的接口供外部使用。这有助于提高系统的安全性和模块化程度。

  4. 继承: 继承是一种通过重用现有类的属性和行为来创建新类的机制。子类继承父类的特性,并可以在此基础上进行修改或扩展。继承提高了代码的重用性和可维护性。

  5. 多态: 多态允许不同类的对象对相同的消息做出响应,即同一操作作用于不同的对象上会产生不同的行为。多态提高了系统的灵活性和可扩展性。

  6. 抽象: 抽象是指从一组对象中抽取出共同的特征,形成类或接口。抽象是面向对象设计中对问题域的建模过程,有助于简化系统的复杂性。

  7. 关联和聚合: 对象之间的关系可以通过关联和聚合来表示。关联表示对象之间的联系,聚合表示一种“整体-部分”的关系,其中一个对象包含另一个对象。

  8. 设计原则: 面向对象设计遵循一些设计原则,例如单一职责原则(一个类应该只有一个原因引起变化)、开放封闭原则(对扩展开放,对修改关闭)等,以提高设计的质量和可维护性。

  9. 设计模式: 设计模式是解决特定类型问题的通用设计方案。在面向对象设计中,设计模式可以用来解决常见的设计问题,提供经过验证的解决方案。

  10. UML(Unified Modeling Language): UML是一种用于可视化、规范化和说明面向对象设计的标准语言。它提供了类图、时序图、活动图等不同类型的图表,用于描述系统的结构和行为。

实验四代码:

#include <stdio.h>

#include <stdlib.h>

float total(int n,float b[]);

float average(int n,float b[]);

void sortbyscore(int n,int a[],float b[]);

void sortbynumber(int n,int a[],float b[]);

float search(int n,int a[],float b[]);

void analysis(int n,float b[]);

void list(int n,int a[],float b[]);

 

int main()

{

    int p;

    printf("(1)Append record\n(2)Calculate total and average score of course\n");

    printf("(3)Sort in descending order by score\n(4)Sort in ascending order by number\n");

    printf("(5)Search by number\n(6)Statistic analysis\n");

    printf("(7)List record\n(8)Exit\n");

    printf("请输入指令:");

    scanf("%d",&p);

    if (p==1)

    {

        int n;

        int x;

        float y;

        printf("共有多少学生:");

        scanf("%d",&n);

        int a[n];

        float b[n];

        int i;

        for (i=0; i<=n-1; i++)

        {

            printf("请输入学号和分数:");

            scanf("%d%f",&x,&y);

            a[i]=x;

            b[i]=y;

        }

        for (i=0; ; i++)

        {

            printf("请输入指令:");

            scanf("%d",&p);

            if (p==2)

            {

                printf("总分为:%.2f\n",total(n,b));

                printf("平均分为:%.2f\n",average(n,b));

            }

            else if (p==3)

            {

                sortbyscore(n,a,b);

            }

            else if (p==4)

            {

                sortbynumber(n,a,b);

            }

            else if (p==5)

            {

                printf("分数为:%.2f\n",search(n,a,b));

            }

            else if (p==6)

            {

                analysis(n,b);

            }

            else if (p==7)

            {

                list(n,a,b);

            }

            else

            {

                break;

            }

        }

    }

    else

    {

        printf("没有数据!");

    }

}

 

float total(int n,float b[])

{

    if(n==1)

    {

        return b[0];

    }

    else

    {

        return total(n-1,b)+b[n-1];

    }

}

 

float average(int n,float b[])

{

    return total(n,b)/n;

}

 

void sortbyscore(int n,int a[],float b[])

{

    int i,j,o,p;

    for(i=0; i<=n-1; i++)

    {

        for(j=i+1; j<=n-1; j++)

        {

            if(b[j]>b[i])

            {

                o=a[i];

                a[i]=a[j];

                a[j]=o;

                p=b[i];

                b[i]=b[j];

                b[j]=p;

            }

        }

    }

}

 

void sortbynumber(int n,int a[],float b[])

{

    int i,j,o,p;

    for(i=0; i<=n-1; i++)

    {

        for(j=i+1; j<=n-1; j++)

        {

            if(a[j]<a[i])

            {

                o=a[i];

                a[i]=a[j];

                a[j]=o;

                p=b[i];

                b[i]=b[j];

                b[j]=p;

            }

        }

    }

 

}

 

float search(int n,int a[],float b[])

{

    int i,m;

    printf("请输入学号:");

    scanf("%d",&m);

    for (i=0; i<=n-1; i++)

    {

        if (a[i]==m)

        {

            return b[i];

        }

    }

}

 

void analysis(int n,float b[])

{

    int i;

    float q=0,w=0,e=0,r=0,t=0;

    for (i=0; i<=n-1; i++)

    {

        if (b[i]>=90)

        {

            q++;

        }

        else if (b[i]>=80)

        {

            w++;

        }

        else if (b[i]>=70)

        {

            e++;

        }

        else if (b[i]>=60)

        {

            r++;

        }

        else

        {

            t++;

        }

    }

    printf("优秀率=%.2f\n",q/n);

    printf("良好率=%.2f\n",w/n);

    printf("中等率=%.2f\n",e/n);

    printf("及格率=%.2f\n",r/n);

    printf("不及格率=%.2f\n",t/n);

}

 

void list(int n,int a[],float b[])

{

    int i;

    for (i=0; i<=n-1; i++)

    {

        printf("%d\t%.2f\n",a[i],b[i]);

    }

}

 

标签:20231407,int,float,else,2024,2f,2023,printf,设计
From: https://www.cnblogs.com/CCCY12345/p/17842851.html

相关文章

  • 2023-2024-1 20231415 《计算机基础与程序设计》第八周学习总结
    这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/这个作业要求是什么https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01作业目标自学教材《计算机科学概论》第9章,《C语言程序设计》第7章并完成云班课测试作业正文https://i.cnbl......
  • 2023-2024-1 20231406 《计算机基础与程序设计》第八周学习总结
    2023-2024-120231406《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程([2023-2024-1-计算机基础与程序设计](https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里(2023-2024-1计算机基础与程序设计第八周作业这个作业......
  • 2023年11月第三周总结
    KMP算法字符串查找算法中的最优解。时间复杂度O(N+M)下面是自己写的#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#include<time.h>#include<stdbool.h>#definelllonglong#define......
  • 《2023-2024-1 20232427《网络空间安全导论》第十二周学习总结》
    《2023-2024-120232427《网络空间安全导论》第十二周学习总结》教学学习内容总结本周学习了《网络空间安全导论》的第二章,重点学习了密码学的相关知识。本章1讲述密码学基础,为日后网络空间安全学习打下基础。密码学概述密码的起源代换密码&置换密码机械密码ENIGMA密码机......
  • 2023-2024-1 20231319《计算机基础与程序设计》第8周学习总结
    2023-2024-120231319《计算机基础与程序设计》第8周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里作业要求这个作业的目标计算机科学概论第9章《C语言程序设计》第7章学习目标功能设计与面向对象设计面向对......
  • 学年(2023-2024-1)学号(20231311)《计算机基础与程序设计》第8周学习总结
    2023-2024-120231311《计算机基础与程序设计》第8周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第八周作业这个作业的目标1.学习计算机科学概论第9章并完成云班课测试2.《C语言程......
  • 2023-2024-1 20231303 《计算机基础与程序设计》赵泊瑄第八周学习总结
    2023-2024-120231303《计算机基础与程序设计》赵泊瑄第八周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里作业要求的链接2023-2024-1计算机基础与程序设计第八周作业)这个作业的目标总结第八周学习收获作业正文......
  • 学期:2023-2024-1 学号:20231426 《计算机基础与程序设计》第八周学习总结
    作业信息这个作业属于哪个课程2022-2023-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1计算机基础与程序设计作业这个作业的目标通过教材内容了解函数、模块化设计、作业正文https://www.cnblogs.com/hhaxx/p/17842602.html教材学习内容总结《计......
  • 2023-2024-1 学号20231318《计算机基础与程序设计》第8周学习总结
    作业信息这个作业属于哪个课程2022-2023-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1计算机基础与程序设计第八周作业这个作业的目标自学教材《计算机科学概论》第9章以及《C语言程序设计》第7章并完成云班课测试。作业正文2023-2024-1学号20231318......
  • 2023-2024-1 20231326《计算机基础与程序设计》第八周学习总结
    2023-2024-120231326《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1计算机基础与程序设计第八周作业这个作业的目标自学教材《计算机科学概论》第9章《C语言程序设计》第7......