Antagningsprov 2026 — examination c (template).
  • Makefile 75.9%
  • C 24.1%
Find a file Use this template
giacomo.turatto ae1dea7fe8
Some checks failed
Autograding Tests / run-autograding-tests (push) Failing after 7s
clarify applicant feedback: preliminary score, not a pass/fail verdict
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>
2026-07-02 10:58:02 +02:00
.github clarify applicant feedback: preliminary score, not a pass/fail verdict 2026-07-02 10:58:02 +02:00
.vscode Initial commit 2026-02-09 12:10:34 +00:00
main.c Initial commit 2026-02-09 12:10:34 +00:00
Makefile Initial commit 2026-02-09 12:10:34 +00:00
README.md clarify applicant feedback: preliminary score, not a pass/fail verdict 2026-07-02 10:58:02 +02:00
student.json Initial commit 2026-02-09 12:10:34 +00:00

🎓 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:

  1. Rör ej systemfiler: Du får inte göra ändringar i mappen .github, test.sh eller makefile. Om du ändrar dessa filer kan ditt prov ogiltigförklaras.
  2. Registrering: Du måste fylla i ditt ID i student.json innan du börjar (se nedan).
  3. 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:

  1. Logga in på antagningssidan (yh-antagning.se).
  2. Under "Inlämnade ansökningar", klicka på rutan för denna utbildning.
  3. Scrolla längst ner på sidan till sektionen "Mina personuppgifter" (klicka på pilen för att fälla ut om det behövs).
  4. Kopiera koden som står vid Ansökningsnummer (t.ex. FSAEFSAD).

Så här ställer du in repot:

  1. Öppna filen student.json i din kodeditor.
  2. Byt ut texten "SKRIV_DITT_ID_HÄR" mot ditt ID.
  3. Låt "submitted": false vara kvar. Detta betyder att du jobbar på ett utkast.
  4. 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:

  1. Ingen extra text: Programmet får INTE skriva ut text som "Mata in namn:" eller "Resultatet är:". Endast namnen på eleverna ska skrivas ut.
  2. Exakt utskrift: Varje namn ska skrivas ut på en egen rad.
  3. Versaler: Alla namn ska skrivas ut med Stor Begynnelsebokstav (t.ex. "Alice"), oavsett hur de matades in.
  4. 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.

  1. Spela in när du visar din lösning och berättar om hur den fungerar.
  2. Döp filen till exakt: videoprov.mp4.
  3. Lägg filen i rotmappen (samma ställe som denna README).
  4. 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.

  1. Öppna en terminal i mappen.
  2. 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:

  1. Kompilera: gcc main.c -o main.out
  2. Kör: ./main.out
  3. 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 är false visar 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å:

  1. Öppna student.json.
  2. Ändra "submitted": false till "submitted": true.
  3. 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.


Lycka till! 🌟