Loading...
KrissSvilenov avatar KrissSvilenov 1 Точки

[Programming Basic] Exams , Кредитна система - проблем с намирането на решение ..

Здравейте ! От вчера се опитвам да намеря решение на задачата , но така и не успявам . Единствения ми проблем е как да събирам кредитите ако оценката не е 2 . 

https://pastebin.com/8MNbFL9X - моето решение .

Условие :

Да се напише програма, която за определен брой курсове пресмята средна оценка и взети кредити.
Първоначално трябва да се прочете едно число от конзолата, което представлява броят записани курсове. След това последователно за всеки курс се въвежда по едно число:
Цифрите на единиците на това число представляват оценката. Те са в интервала [2…6].
Останалите цифри са броят кредити, които студентът взима при успешното завършване на този курс.
Кредитната система се скалира на база оценката:
Студент с оценка 2 взима 0% от кредитите.
Студент с оценка 3 взима 50% от кредитите.
Студент с оценка 4 взима 70% от кредитите.
Студент с оценка 5 взима 85% от кредитите.
Студент с оценка 6 взима 100% от кредитите.
Вход
От конзолата се прочита:
На първият ред:
n - Броят курсове - цяло число в интервала [1…10]
На следващите n реда:
Числото, представляващо кредитите и оценката - цяло число в интервала [32…306]
Изход
На конзолата се отпечатват 2 редa:
Броят взети кредити, форматиран до втората цифра след десетичната запетая
Средноаритметичната оценка за всички курсове, форматирана до втората цифра след десетичната запетая

 

Благодаря предварително !

Тагове:
0
Programming Basics
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

някак си много си си усложил живота колега average grade може да го сметнеш на края няма нужда при всяко завъртане и добавена оценка единственото което те интересува сбора от оценките да го разделиш на броя курсове.

Освен това както разбирам условието ти получаваш е числа на един ред така че трябва да го split(' ') по празното място между тях. и да gi int.parse  и 2те първото ти е кредитите 2то оценката за този курс. И после взависимост от оценката трябва да направиш една проста аритметика от сорта на примерно имаш 10 кредита за курса и оценка 3.

double credits +=courseCredits*0.85  и това е.

задачката е доста кратка единственото по-дълго тук са 5те проверки за оценката.

Реално ти трябват 2 променливи извън цикъла в които да си събираш оценките и кредитите и 2 в цикъла за моментния курс.

  1.   double withoutLastDigit = 0; - това въобще не ти трябв

  2.   double resultGrade = 0;- това не ти трябва извън цикъла също

 нямам достъп до пс в момента и време да пиша код но следобед ако не си се ориентирал мога да ти покажа и нещо примерно.

0
27/06/2018 13:49:30
KrissSvilenov avatar KrissSvilenov 1 Точки

Горе долу успях да се ориентирам по обяснението ти  и успях да я реша , благадаря ти ! :)

0
MarianaNikolova avatar MarianaNikolova 13 Точки

Заповядай оето решение, дано ти помогне: 

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

namespace Zadacha4
{
    class Kreditnasistema
    {
        static void Main(string[] args)
        {

            // n брой курсове - от 1 до 10
            // n на брой числа, кредитите и оценката 32-306  , parvite 2 cifri - broj krediti, edinicite - ocenka 
            // ocenka 2 - 0 % krediiti
            // 3 - 50 % ot kreditite
           // 4 - 70 % ot kreditite
           // 5 - 85 % 
           // 6 - 100 %

            int n = int.Parse(Console.ReadLine());
            var grade = 0.00;
            var sumgrade = 0.00;
            var gradeaverage = 0.00;
            var crediti = 0.00;
            var creditplus = 0.00;
            var sumcreditplus = 0.00;
            
                for (int i = 1; i <=n; i++)
                {
                int num = int.Parse(Console.ReadLine());
                
                    grade = num % 10;
                    crediti = num / 10;

                         if (grade == 2)
                        {
                            creditplus = 0 * crediti;
                        }

                        if (grade == 3)
                        {
                            creditplus = 0.50 * crediti;
                        }

                        if (grade == 4)
                        {
                            creditplus = 0.70 * crediti;
                        }

                        if (grade == 5)
                        {
                            creditplus = 0.85 * crediti;
                        }

                        if (grade == 6)
                        {
                            creditplus = 1 * crediti;
                        }
                          sumcreditplus = sumcreditplus + creditplus;
                                                 
                    sumgrade = sumgrade + grade;
                    gradeaverage = sumgrade / n;

            }

            Console.WriteLine("{0:f2}", sumcreditplus);

            Console.WriteLine("{0:f2}", gradeaverage);

        }
    }
}
 

0
tocnaza avatar tocnaza 2 Точки

other links:

https://www.reverbnation.com/zoraya
http://prince.org/profile/zoraya
https://www.choralnet.org/members/tocnaza/
https://oss.deltares.nl/web/delft3d/home/-/message_boards/message/1977515/maximized
https://community.sdl.com/product-groups/sdl-tridion-dx/tridion-sites/f/291/t/20332
https://www.studentfilmmakers.com/members/tocnaza/profile/
http://www.niooz.fr/users/tocnaza/Quique
https://www.eeweb.com/profile/sara-zambola
https://www.corejoomla.com/profile/tocnaza.html
https://forum.tp-link.com/member.php?122676-zoraya
https://huzzaz.com/collection/relatos-xxx
https://www.curriki.org/oer/Bego-madrastra-ejemplar/
https://community.progress.com/community_groups/products_enhancements/i/business_rules_management_system_corticon/clases_privadas
https://www.fimfiction.net/user/334838/tocnaza/about
https://developer.gracenote.com/resovled-new-client-id-registration-issue
https://blogs.allnokia.ru/u/1130093/3476/
https://cults3d.com/es/usuarios/tocnaza
http://forum.moex.com/viewtopic.asp?t=35943
http://www.supportduweb.com/profile-43919.html
https://www.steinberg.net/forums/memberlist.php?mode=viewprofile&u=54472
https://phidgets.com/phorum/memberlist.php?mode=viewprofile&u=21709
https://themeegg.com/support-forum/users/tocnaza/
https://precisethemes.com/support-forum/users/tocnaza/
https://up-campus.org/membres/818313
https://www.thinglink.com/user/937014724434853891
https://www.caminosantiago.com/foro/viewtopic.php?f=10&t=25351
https://www.cosis.net/members/profile.php?user=u05a0b3501218076bcb66ff
https://community.progress.com/community_groups/products_enhancements/i/business_rules_management_system_corticon/nuri_y_mis_amigos
http://www.mappery.com/user.php?name=tocnaza
https://solutions-summit.org/users/juancax
https://www.provenexpert.com/juanca-lina/
https://foro.skylium.com/tema-Convertir-Docx-a-Pdf-online
https://yoreparo.com/computadoras/preguntas/1115302/despues-de-un-rato-de-escuchar-music-no-da-audio-el-portatil

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.