- Makefile 75.9%
- C 24.1%
|
Some checks failed
Autograding Tests / run-autograding-tests (push) Failing after 7s
The in-repo grading feedback previously showed "🎉 alla obligatoriska tester ser gröna ut" for any submitted repo (no test is marked required, so that branch fired even at 0/100), and the READMEs told applicants to look under GitHub "Pull Requests". This confused applicants and generated support requests to antagning. - grading-feedback: submitted state now reads "Din inlämning är mottagen … preliminärt automatiskt testresultat — den officiella bedömningen görs av lärarna"; header 🎉→📩; score relabeled "Preliminärt testresultat". - README: GitHub/Pull-Requests language → Forgejo + the "Automatisk rättning — feedback" issue; "pusha till GitHub" → "pusha". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .github | ||
| .vscode | ||
| main.c | ||
| Makefile | ||
| README.md | ||
| student.json | ||
🎓 Examination - Elevhanteringssystem
Välkommen till detta prov i Programmering i C! Din uppgift är att skriva ett program som läser in provresultat, analyserar statistik och presenterar data för läraren.
⚠️ VIKTIGT: LÄS DETTA FÖRST
För att din inlämning ska fungera och rättas korrekt måste du följa dessa regler:
- Rör ej systemfiler: Du får inte göra ändringar i mappen
.github,test.shellermakefile. Om du ändrar dessa filer kan ditt prov ogiltigförklaras. - Registrering: Du måste fylla i ditt ID i
student.jsoninnan du börjar (se nedan). - Inlämningsstatus: Du styr själv när du är "klar" genom en inställning i
student.json.
🆔 Steg 1: Setup & ID
Innan du börjar koda måste du ställa in ditt projekt. Om du inte gör detta kommer inga av dina tester att köras.
Så här hittar du ditt ID:
- Logga in på antagningssidan (yh-antagning.se).
- Under "Inlämnade ansökningar", klicka på rutan för denna utbildning.
- Scrolla längst ner på sidan till sektionen "Mina personuppgifter" (klicka på pilen för att fälla ut om det behövs).
- Kopiera koden som står vid Ansökningsnummer (t.ex.
FSAEFSAD).
Så här ställer du in repot:
- Öppna filen
student.jsoni din kodeditor. - Byt ut texten
"SKRIV_DITT_ID_HÄR"mot ditt ID. - Låt
"submitted": falsevara kvar. Detta betyder att du jobbar på ett utkast. - Spara filen.
{
"student_id": "SKRIV_DITT_ID_HÄR",
"submitted": false
}
📝 Uppgiftsbeskrivning
Fil att arbeta i: main.c
Du ska skapa ett system som hanterar 5 elever och deras resultat från 13 olika prov under ett läsår. Programmet ska läsa in namn och poäng, räkna ut medelvärden och filtrera ut specifika resultat.
Specifikation i korthet:
- Indata: 5 rader. Varje rad har formatet:
Namn p1 p2 p3 ... p13. - Namn: Engelska förnamn (a-z), max 10 tecken.
- Poäng: Heltal 0-10.
Totalt kan du få 100 poäng på den automatiska rättningen.
🚫 Regler & Begränsningar (Viktigt!)
För att det automatiska rättningssystemet ska fungera måste du följa dessa regler strikt:
- Ingen extra text: Programmet får INTE skriva ut text som "Mata in namn:" eller "Resultatet är:". Endast namnen på eleverna ska skrivas ut.
- Exakt utskrift: Varje namn ska skrivas ut på en egen rad.
- Versaler: Alla namn ska skrivas ut med Stor Begynnelsebokstav (t.ex. "Alice"), oavsett hur de matades in.
- Inläsning: Använd med fördel
scanf()för att hantera inmatningen.
Funktionella Krav & Poängsättning
Din kod rättas i steg. Även om du har småfel (t.ex. fel stor bokstav) kan du få poäng för logiken.
1. Grundläggande funktionalitet (20p)
- (20p) Koden ska kompilera och köra utan att krascha när testdata matas in.
2. Analys: Högst medelpoäng (30p)
- (15p) Logik: Programmet identifierar korrekt vilken elev som har högst medelpoäng (oavsett stor/liten bokstav).
- (15p) Format: Namnet skrivs ut korrekt med stor begynnelsebokstav (t.ex. "Charlie").
3. Analys: Under gruppens snitt (30p)
- (15p) Logik: Programmet räknar ut totala medelvärdet och identifierar vilka elever som ligger under detta (oavsett stor/liten bokstav).
- (15p) Format: Namnen skrivs ut med stor begynnelsebokstav och i samma ordning som de matades in (t.ex. "Bob" och "Dave").
Inlämning & Video (20p)
Förutom koden ska du spela in en kort skärminspelning där du demonstrerar din lösning.
- Spela in när du visar din lösning och berättar om hur den fungerar.
- Döp filen till exakt:
videoprov.mp4. - Lägg filen i rotmappen (samma ställe som denna README).
- OBS: Filen får inte vara större än 100MB.
🚀 Hur du testar din kod
Detta projekt använder automatisk rättning. Du har två sätt att se dina poäng:
Alternativ 1: Köra testerna lokalt (Rekommenderas!)
Du kan köra exakt samma tester som den automatiska rättningen använder direkt i din terminal. Detta ger dig snabbast feedback.
- Öppna en terminal i mappen.
- Skriv följande kommando:
make test
Detta kommer att kompilera din kod och köra alla deltester. Du ser direkt vilka delar som är "Pass" eller "Fail".
Alternativ 2: Testa manuellt
Om du vill felsöka och mata in egna värden manuellt:
- Kompilera:
gcc main.c -o main.out - Kör:
./main.out - Klistra in följande testdata:
alice 8 9 7 6 10 9 8 7 10 10 9 10 8
Bob 5 5 6 4 5 6 5 5 4 6 5 5 4
Charlie 10 9 9 10 10 9 9 10 9 10 10 9 10
david 4 3 5 4 4 5 4 5 4 3 5 4 4
Eve 7 6 7 8 7 6 7 7 6 7 8 7 6
Förväntat resultat:
Charlie
Bob
David
(Ingen annan text får förekomma!)
Alternativ 3: Automatisk rättning i Forgejo
När du gör en git push körs testerna automatiskt i Forgejo. Resultatet syns under fliken Actions, och botten postar en tabell i issuen "Automatisk rättning — feedback".
OBS: Så länge
submittedärfalsevisar Forgejo ett Rött Kryss på körningen för att visa att provet ej är inlämnat. Det är normalt.
✅ Steg 2: Inlämning
När du känner dig klar och har fått de poäng du satsar på:
- Öppna
student.json. - Ändra
"submitted": falsetill"submitted": true. - Spara, committa och pusha.
{
"student_id": "SKRIV_DITT_ID_HÄR",
"submitted": true
}
När du pushat med "submitted": true uppdaterar botten feedback-issuen till "INLÄMNING MOTTAGEN". Poängen som visas där är ett preliminärt automatiskt testresultat — den officiella bedömningen görs av lärarna.