C#GPA计算_c#求学生的gpa-程序员宅基地

技术标签: c#  linq  开发语言  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GPA计算
{
    class Program
    {
        class Student
        {
            int num;
            string name;
            Course[] course;
            double GPA;
            public  Student(int pnum,string pname,Course[] course1)
            {
                num = pnum;
                name = pname;
                course = course1;
            }
            public void ComputeGPA()
            {
                int i;
                double s, sumc = 0, sumgpa = 0;
                for(i=0;i< course.Length; i++)
                {
                    if (course[i].pgrade >= 90 && course[i].pgrade <= 100) s = 4.0;
                    else if (course[i].pgrade >= 80 && course[i].pgrade <= 89) s = 3.0;
                    else if (course[i].pgrade >= 70 && course[i].pgrade <= 79) s = 2.0;
                    else if (course[i].pgrade >= 60 && course[i].pgrade <= 69) s = 1.0;
                    else s = 0;
                    sumgpa += course[i].pcredit * s;
                    sumc += course[i].pcredit;
                }
                   GPA = sumgpa / sumc;

            }
            public void display()
            {
                Console.WriteLine("学号:{0},姓名:{1}\n", num, name);
                Console.WriteLine("课程名\t课程学分\t课程成绩");
                for (int i = 0; i < course.Length; i++)
                    Console.WriteLine("{0}        {1}                {2}", course[i].pclassname, course[i].pcredit, course[i].pgrade);
                Console.WriteLine("该学生的GPA为{0:F}",GPA);
            }
        }
        class Course
        {
            //这个类的字段都要是私有的,然后给每个字段写一个属性,在student类里用属性访问字段
            private string classname;
            private int credit;
            private  double grade;
            public string pclassname { get { return classname; } set { classname = value; } }
            public int pcredit { get { return credit; } set { credit = value; } }
            public double pgrade { get { return grade; } set { grade = value; } }
            public  Course(string pclassname,int pcredit,double pgrade)
            {
                classname = pclassname;
                credit = pcredit;
                grade = pgrade;
            }

        }
        static void Main(string[] args)
        {
            Course c1 = new Course("语文", 4, 94);
            Course c2 = new Course("数学", 3, 90);
            Course c3 = new Course("英语", 2, 87);
            Course[] c = new Course[3]{c1,c2,c3};
            Student s1 = new Student(19812, "王明", c);
            s1.ComputeGPA();
            s1.display();
        }
    }
}
 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_50476501/article/details/122104760

智能推荐

linux 划分两个VDisk,HP-UNIX.关于LUN,Vdisk,VG,LV,挂载点,设备文件等查询实例描述 -- 转载...-程序员宅基地

文章浏览阅读514次。摘要:总结近期工作中所掌握的部分关于存储与主机的知识点。曾经只是通过定性的文字描述去了解什么是VG,什么是Vdisk,什么是LV…但这里将通过一则查询实例来加深对文字定义的理解!当前任务为,整理HP存储产品EVA3000磁盘阵列柜和若干HP小型机的映射关系。这里将通过EVA3000中commandview结合主机命令工具(bdf、strings、ioscan、vgdisplay、diskinfo..._linux vdisk -l命令详解

mysql的sys删了_误把mysql的数据库删了一个 怎么恢复 大家都还在做项目 我要完蛋了 大神救命啊...-程序员宅基地

文章浏览阅读3.1k次。展开全部每个 DBA 是不是都有过删库的经历?删库了没有备份怎么办?备份恢复后无法启32313133353236313431303231363533e4b893e5b19e31333433626437动服务什么情况?表定义损坏数据无法读取怎么办?我曾遇到某初创互联网企业,因维护人员不规范的备份恢复操作,导致系统表空间文件被初始化,上万张表无法读取,花了数小时才抢救回来。当你发现数据无法读取时,也许..._mysql中sys数据库被删除

内网项目:vue + 百度离线地图 apiv2.0_vue-amap与nginx配置离线地图-程序员宅基地

文章浏览阅读2w次,点赞4次,收藏22次。制作离线地图的步骤:1、用Visual Studio打开项目目录,编译2、将html整个目录复制到BaiduMapTile\bin\Debug下,目录变为:BaiduMapTile\bin\Debug\html3、运行项目,下载瓦片地图,默认会在BaiduMapTile\bin\Debug下创建maptile目录,瓦片地图就保存在这个目录中4、将瓦片地图所在的目录maptile移到Baid..._vue-amap与nginx配置离线地图

Android分享到微信好友、朋友圈_安卓分享到微信朋友圈和微信好友需要调用api吗-程序员宅基地

文章浏览阅读523次。Android分享到微信好友、朋友圈标签: Android开发微信分享2015-11-09 21:41 610人阅读 评论(0) 收藏 举报 分类:Android(9) 版权声明:本文为博主原创文章,未经博主允许不得转载。效果 介绍要实现微信分享,首先请_安卓分享到微信朋友圈和微信好友需要调用api吗

免费百度文库下载工具-程序员宅基地

文章浏览阅读3.4k次。百度文库免费下载工具工具下载地址:http://t.cn/E9IYpte

JSP指令详解(三大指令)_jsp中memory.giveteststring()是什么意思-程序员宅基地

文章浏览阅读836次。JSP 指令是为 JSP 引擎(比如 Tomcat)而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理 JSP 页面中的其余部分。_jsp中memory.giveteststring()是什么意思

随便推点

@echo off是什么意思_参加CHANEL私享派对是什么体验?Lanvin头一次在中国办大秀??「每周时报」...-程序员宅基地

文章浏览阅读140次。参加CHANEL私享派对是什么体验?一场与CHANEL的秋日约会这周,芭姐受邀参加了CHANEL举办的超治愈ME-TIME“私享时间”主题活动,在专属于自己的时间里,用一种更具仪式感方式享受生活,感受自我。深受大家喜爱的明星们也都闪现到了活动现场,CHANEL品牌形象大使刘雯、刘诗诗、宋茜、陈伟霆、辛芷蕾、林允和演员张钧甯、王一博,分别与CHANEL度过了满满幸福感的时光,想知道明星们如何度过自己..._香奈儿睡衣多少钱

【STM32F429的DSP教程】第9章 Matlab的串口通信实现_matlab怎么传给stm32单片机字符1-程序员宅基地

文章浏览阅读975次,点赞4次,收藏21次。完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547第9章 Matlab的串口通信实现本章节主要为大家讲解Matlab的串口方式波形数据传输和后期数据分析功能,非常实用。目录第9章 Matlab的串口通信实现9.1 初学者重要提示9.2 程序设计框架9.3 下位机S..._matlab怎么传给stm32单片机字符1

四种DCOM错误的区别,0x80080005 0x800706be 0x80010105 0x-程序员宅基地

文章浏览阅读1.6k次。四种DCOM错误的区别Differences between the following DCOM error0x800800050x800706be0x800101050x800706ba 0x80080005:CO_E_Server_Exec_FailureServer execution failed It is usually quite clear: CO..._dcom8006706ba

linux系统解决huggingface下载缓存不够的问题_linux中huggingface缓存-程序员宅基地

文章浏览阅读338次,点赞8次,收藏4次。这种更改cache缓存文件夹位置的方式不能从根本上解决存储问题,这种方式同样会在cache缓存里下载模型,然后同时又在数据盘指定目录下载模型(上述命令指定目录是个gpt2),相当于下了两次模型,如果这个模型有50g的话,那么这个数据盘大小需要超过100g才行。如果不采用huggingface-cli download指令在终端下载模型时,就不会出现cache缓存问题,我们可以使用其他方法下载模型,如,先将模型文件下到本地,然后在上传到服务器指定文件夹,这样就不会在cache缓存中同时有该模型文件了。_linux中huggingface缓存

对大容量存储内核驱动改写初试!_usb_f_mass_storage.ko arm-程序员宅基地

文章浏览阅读209次。、2)执行命令: KERNEL=kernel7(3)执行命令:make modules dtbs编译完成后读卡器把树莓派内存卡插入连接到虚拟机编译好的usb_f_mass_storage.ko 拷贝到树莓派 /media/python/rootfs/lib/modu............_usb_f_mass_storage.ko arm

pycharm怎么安装pandas库-程序员宅基地

文章浏览阅读9.6k次,点赞7次,收藏27次。你可以使用PyCharm的软件包管理器来安装Pandas库。在PyCharm中,打开菜单栏中的“File”,然后选择“Settings”,然后选择“Project Interpreter”,然后点击右下角的“+”号,在弹出的搜索框中输入“pandas”,然后点击“Install Package”,安装完成后就可以使用Pandas库了。..._pycharm安装pandas

推荐文章

热门文章

相关标签