//Dolgozat
értékelés
//1. Kérd
be egy 100 pontos dolgozat 5 feladatának pontszámait.
//Lehetnek
fél pontok is.
//2.
Összesítsd a pontokat, írd is ki.
//3.
Ezután írd ki, hányast kapott a user.
//4.
Építsd bele a programba az összpontszám-ellenőrzést:
//ha a
kiszámolt összpontszám nem a nulla és 100
//közé
esik, akkor hangjelzés kíséretében írj ki hibaüzenetet,
//és
szakítsd meg a programot.
//Kérdés1:
Hogyan kezelnéd a hibás érték bevitelét?
//Kérdés2:
Mi a hátránya annak, hogy egymás után
//minden
feltételt kiértékel a program?
//Szorgalmi1:
Építsd bele a programba a feladatonkénti
//pontszámellenőrzést
a következők alapján:
//első
feladat: 20 pont
//második
feladat: 15 pont
//harmadik
feladat: 25 pont
//negyedik
feladat: 10 pont
//ötödik
feladat: 30 pont
//Ha a
bekért pontszám nem a nulla és a megfelelő
//pontszám
közé esik, akkor hangjelzés kíséretében
//írj ki
hibaüzenetet, és szakítsd meg a programot. ITT TARTUNK.
//Szorgalmi2:
Légy jó szívű! Add meg a jobb jegyet, ha
//csak
fél pont hiányzik.
//(Vagy
inkább kegyetlen akarsz lenni?:)
//Szorgalmi3:
Add meg a pontok bekérésénél
//az
összetett feltételeket kétféleképpen:
//úgy,
hogy ne legyen benne tagadás, és
//úgy,
hogy legyen benne egy tagadás.
Megoldás elméleti kiegészítéssel:
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.Threading;
namespace
szelekcio1gyak10b11210
{
class Program
{
static void Main(string[]
args)
{
//int
szam = 10;
//if
(szam==10)
//{
// Console.WriteLine("igaz");
//}
//Dolgozat
értékelés
//1. Kérd
be egy 100 pontos dolgozat 5 feladatának pontszámait.
//Lehetnek
fél pontok is.
Console.Write("Kérem az 1. feladat elért pontszámát (max. 20):
");
double
elso = Convert.ToDouble(Console.ReadLine());
//Ez a
feltétel VAGY művelettel oldja meg az ellenőrzést:
//if
(elso < 0 || elso > 20)
//{
// Console.WriteLine("Rossz a feladat
pontszáma!");
// Console.Beep();
// Thread.Sleep(1000);
// return;
//}
//Ez a
feltétel tagadott ÉS művelettel oldja meg ugyanazt az ellenőrzést.
//A két
megoldás egyenértékű.
//Figyeljük
meg, hogy a VAGY művelet ÉS-re változott, amikor tagadtuk.
if
(!(elso >= 0 && elso <= 20))
//összetett feltétel, hiszen VAGY/ÉS van benne
{
Console.WriteLine("Rossz a feladat pontszáma!");
Console.Beep();
Thread.Sleep(1000);
//1 másodperc (1000 ezredmásodperc) késleltetés
return;
//azonnal kilép a programból
}
Console.Write("Kérem az 2. feladat elért pontszámát (max. 15):
");
double
masodik = Convert.ToDouble(Console.ReadLine());
if
(masodik < 0 || masodik > 15) //összetett feltétel,
hiszen VAGY/ÉS van benne
{
Console.WriteLine("Rossz a feladat pontszáma!");
Console.Beep();
Thread.Sleep(1000);
return;
}
Console.Write("Kérem az 3. feladat elért pontszámát (max.
25):");
double
harmadik = Convert.ToDouble(Console.ReadLine());
if
(harmadik < 0 || harmadik > 25)
{
Console.WriteLine("Rossz a feladat pontszáma!");
Console.Beep();
Thread.Sleep(1000);
return;
}
Console.Write("Kérem az 4. feladat elért pontszámát (max.
10):");
double
negyedik = Convert.ToDouble(Console.ReadLine());
if
(negyedik < 0 || negyedik > 10)
{
Console.WriteLine("Rossz a feladat pontszáma!");
Console.Beep();
Thread.Sleep(1000);
return;
}
Console.Write("Kérem az 5. feladat elért pontszámát (max. 30):
");
double
otodik = Convert.ToDouble(Console.ReadLine());
if
(otodik < 0 || otodik > 30)
{
Console.WriteLine("Rossz a feladat pontszáma!");
Console.Beep();
Thread.Sleep(1000);
return;
}
//2. Összesítsd
a pontokat, írd is ki.
double
osszesen = elso + masodik + harmadik + negyedik + otodik;
Console.WriteLine("Összpontszám: {0}", osszesen);
//3. Ezután
írd ki, hányast kapott a user.
if
(osszesen < 0 || osszesen > 100)
{
Console.WriteLine("Rossz az összpontszám!");
Console.Beep();
Thread.Sleep(1000);
return;
}
// A következő
5 szelekció hátránya, hogy ha bármelyik igaz,
//attól még
kiértékeli a többit is, ezek így fölösleges utasítás-végrehajtások.
//Ezt a kétágú
szelekcióval fogjuk tudni elkerülni.
//Kiértékelés:
megvizsgálja, igaz-e vagy hamis a feltétel
if
(osszesen <= 60)
{
Console.WriteLine("Egyest kaptál.");
}
if
(osszesen >= 60.5 && osszesen <= 70)
{
Console.WriteLine("Kettest kaptál.");
}
if
(osszesen >= 70.5 && osszesen <= 80)
{
Console.WriteLine("Hármast kaptál.");
}
if
(osszesen >= 80.5 && osszesen <= 90)
{
Console.WriteLine("Négyest kaptál.");
}
if
(osszesen >= 90.5 && osszesen <= 100)
{
Console.WriteLine("Ötöst kaptál.");
}
//4. Építsd
bele a programba az összpontszám-ellenőrzést:
//ha a
kiszámolt összpontszám nem a nulla és 100
//közé
esik, akkor hangjelzés kíséretében írj ki hibaüzenetet,
//és szakítsd
meg a programot.
//EZT FÖNT
OLDOTTUK MEG A PONTSZÁMBEKÉRÉSEKNÉL
//Kérdés1:
Hogyan kezelnéd a hibás érték bevitelét?
//Válasz:
megoldottuk, amennyire tudtuk.
//Ha majd
megtanuljuk a ciklusokat, akkor majd
//addig kérjük
be újra és újra a pontszámot, amíg jó nem lesz.
//Kérdés2:
Mi a hátránya annak, hogy egymás után
//minden
feltételt kiértékel a program?
//A válasz
a szelekcióknál van.
//Szorgalmi1:
Építsd bele a programba a feladatonkénti
//pontszámellenőrzést
a következők alapján:
//első
feladat: 20 pont
//második
feladat: 15 pont
//harmadik
feladat: 25 pont
//negyedik
feladat: 10 pont
//ötödik
feladat: 30 pont
//Ha a
bekért pontszám nem a nulla és a megfelelő
//pontszám
közé esik, akkor hangjelzés kíséretében
//írj ki
hibaüzenetet, és szakítsd meg a programot.
//Ezt
fent megoldottuk.
//Szorgalmi2:
Légy jó szívű! Add meg a jobb jegyet, ha
//csak fél
pont hiányzik.
//(Vagy
inkább kegyetlen akarsz lenni?:)
//Fent
megoldottuk.
//Szorgalmi3:
Add meg a pontok bekérésénél
//az összetett
feltételeket kétféleképpen:
//úgy,
hogy ne legyen benne tagadás, és
//úgy,
hogy legyen benne egy tagadás.
//Az első
feladat pontszámának bekérésénél megoldottuk.
Console.ReadLine();
}
}
}
igen jó🍌
VálaszTörlésÉn szeretek programozni🤷♂️
VálaszTörlésvarod mar az ajcsikat? 🎅🏻🎅🏻🎅🏻⁉ 😍
Törlésigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigenigen
Törlés