feat: update structure
This commit is contained in:
24
cs2106/labs/lab2/part1/autograder/grade.sh
Executable file
24
cs2106/labs/lab2/part1/autograder/grade.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Check if we have enough arguments
|
||||
|
||||
# Delete temporary files
|
||||
|
||||
# Compile the reference program
|
||||
|
||||
# Generate reference output files
|
||||
|
||||
# Now mark submissions
|
||||
|
||||
#
|
||||
# Note: See Lab02Qn.pdf for format of output file. Marks will be deducted for missing elements.
|
||||
#
|
||||
|
||||
# Iterate over every submission directory
|
||||
# Compile C code
|
||||
# Print compile error message to output file
|
||||
# Generate output from C code using *.in files in ref
|
||||
# Compare with reference output files and award 1 mark if they are identical
|
||||
# print score for student
|
||||
# print total files marked.
|
||||
|
||||
5
cs2106/labs/lab2/part1/autograder/ref/s1.in
Normal file
5
cs2106/labs/lab2/part1/autograder/ref/s1.in
Normal file
@@ -0,0 +1,5 @@
|
||||
1
|
||||
3
|
||||
5
|
||||
3
|
||||
4
|
||||
7
cs2106/labs/lab2/part1/autograder/ref/s2.in
Normal file
7
cs2106/labs/lab2/part1/autograder/ref/s2.in
Normal file
@@ -0,0 +1,7 @@
|
||||
382
|
||||
44
|
||||
112
|
||||
95
|
||||
hello
|
||||
world
|
||||
12
|
||||
4
cs2106/labs/lab2/part1/autograder/ref/s3.in
Normal file
4
cs2106/labs/lab2/part1/autograder/ref/s3.in
Normal file
@@ -0,0 +1,4 @@
|
||||
3.4
|
||||
5.4
|
||||
1
|
||||
2.3
|
||||
42
cs2106/labs/lab2/part1/autograder/ref/sum.c
Normal file
42
cs2106/labs/lab2/part1/autograder/ref/sum.c
Normal file
@@ -0,0 +1,42 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include "utils.h"
|
||||
|
||||
#define MAX_STR_LEN 128
|
||||
|
||||
void strip(char *str) {
|
||||
while(*str) {
|
||||
if(*str == '\n')
|
||||
*str = '\0';
|
||||
str++;
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
char str[MAX_STR_LEN];
|
||||
int nums[128];
|
||||
int count=0;
|
||||
int res = 0;
|
||||
|
||||
while(!feof(stdin)) {
|
||||
char *res = fgets(str, MAX_STR_LEN, stdin);
|
||||
|
||||
if(res){
|
||||
strip(str);
|
||||
int val = atoi(str);
|
||||
|
||||
if(val){
|
||||
nums[count++] = val;
|
||||
}
|
||||
else
|
||||
printf("%s is not a non-zero integer.\n", str);
|
||||
}
|
||||
}
|
||||
|
||||
res = sum(nums, count);
|
||||
printf("Item count is %d\n", count);
|
||||
printf("The sum is %d\n", res);
|
||||
exit(res);
|
||||
}
|
||||
|
||||
10
cs2106/labs/lab2/part1/autograder/ref/utils.c
Normal file
10
cs2106/labs/lab2/part1/autograder/ref/utils.c
Normal file
@@ -0,0 +1,10 @@
|
||||
#include "utils.h"
|
||||
|
||||
int sum(int sum_array[], int n) {
|
||||
int i, res = 0;
|
||||
|
||||
for(i=0; i<n; i++)
|
||||
res += sum_array[i];
|
||||
|
||||
return res;
|
||||
}
|
||||
2
cs2106/labs/lab2/part1/autograder/ref/utils.h
Normal file
2
cs2106/labs/lab2/part1/autograder/ref/utils.h
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
int sum(int [], int);
|
||||
42
cs2106/labs/lab2/part1/autograder/subs/A0183741Y/sum.c
Normal file
42
cs2106/labs/lab2/part1/autograder/subs/A0183741Y/sum.c
Normal file
@@ -0,0 +1,42 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include "utils.h"
|
||||
|
||||
#define MAX_STR_LEN 128
|
||||
|
||||
void strip(char *str) {
|
||||
while(*str) {
|
||||
if(*str == '\n')
|
||||
*str = '\0';
|
||||
str++;
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
char str[MAX_STR_LEN];
|
||||
int nums[128];
|
||||
int count=0;
|
||||
int res = 0;
|
||||
|
||||
while(!feof(stdin)) {
|
||||
char *res = fgets(str, MAX_STR_LEN, stdin);
|
||||
|
||||
if(res){
|
||||
strip(str);
|
||||
int val = atoi(str);
|
||||
|
||||
if(val){
|
||||
nums[count++] = val;
|
||||
}
|
||||
else
|
||||
printf("%s is not a non-zero integer.\n", str);
|
||||
}
|
||||
}
|
||||
|
||||
res = sum(nums, count);
|
||||
printf("Item count is %d\n", count);
|
||||
printf("The sum is %d\n", res);
|
||||
exit(res);
|
||||
}
|
||||
|
||||
10
cs2106/labs/lab2/part1/autograder/subs/A0183741Y/utils.c
Normal file
10
cs2106/labs/lab2/part1/autograder/subs/A0183741Y/utils.c
Normal file
@@ -0,0 +1,10 @@
|
||||
#include "utils.h"
|
||||
|
||||
int sum(int sum_array[], int n) {
|
||||
int i, res = 0;
|
||||
|
||||
for(i=0; i<n; i++)
|
||||
res += sum_array[i];
|
||||
|
||||
return res;
|
||||
}
|
||||
2
cs2106/labs/lab2/part1/autograder/subs/A0183741Y/utils.h
Normal file
2
cs2106/labs/lab2/part1/autograder/subs/A0183741Y/utils.h
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
int sum(int [], int);
|
||||
40
cs2106/labs/lab2/part1/autograder/subs/A0281754H/sum.c
Normal file
40
cs2106/labs/lab2/part1/autograder/subs/A0281754H/sum.c
Normal file
@@ -0,0 +1,40 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include "utils.h"
|
||||
|
||||
#define MAX_STR_LEN 128
|
||||
|
||||
void strip(char *str) {
|
||||
while(*str) {
|
||||
if(*str == '\n')
|
||||
*str = '\0';
|
||||
str++;
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
char str[MAX_STR_LEN];
|
||||
int nums[128];
|
||||
int count=0;
|
||||
int res = 0;
|
||||
|
||||
while(!feof(stdin)) {
|
||||
char *res = fgets(str, MAX_STR_LEN, stdin);
|
||||
|
||||
if(res){
|
||||
strip(str);
|
||||
int val = atoi(str);
|
||||
|
||||
if(val){
|
||||
nums[count++] = val;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
res = sum(nums, count);
|
||||
printf("Item count is %d\n", count);
|
||||
printf("The sum is %d\n", res);
|
||||
exit(res);
|
||||
}
|
||||
|
||||
10
cs2106/labs/lab2/part1/autograder/subs/A0281754H/utils.c
Normal file
10
cs2106/labs/lab2/part1/autograder/subs/A0281754H/utils.c
Normal file
@@ -0,0 +1,10 @@
|
||||
#include "utils.h"
|
||||
|
||||
int sum(int sum_array[], int n) {
|
||||
int i, res = 0;
|
||||
|
||||
for(i=0; i<n; i++)
|
||||
res += sum_array[i];
|
||||
|
||||
return res;
|
||||
}
|
||||
2
cs2106/labs/lab2/part1/autograder/subs/A0281754H/utils.h
Normal file
2
cs2106/labs/lab2/part1/autograder/subs/A0281754H/utils.h
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
int sum(int [], int);
|
||||
42
cs2106/labs/lab2/part1/autograder/subs/A0285757B/sum.c
Normal file
42
cs2106/labs/lab2/part1/autograder/subs/A0285757B/sum.c
Normal file
@@ -0,0 +1,42 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include "utils.h"
|
||||
|
||||
#define MAX_STR_LEN 128
|
||||
|
||||
void strip(char *str) {
|
||||
while(*str) {
|
||||
if(*str == '\n')
|
||||
*str = '\0';
|
||||
str++;
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
char str[MAX_STR_LEN];
|
||||
int nums[128];
|
||||
int count=0;
|
||||
int res = 0;
|
||||
|
||||
while(!feof(stdin)) {
|
||||
char *res = fgets(str, MAX_STR_LEN, stdin);
|
||||
|
||||
if(res){
|
||||
strip(str);
|
||||
int val = atoi(str);
|
||||
|
||||
if(val){
|
||||
nums[count++] = val;
|
||||
}
|
||||
else
|
||||
printf("%s is not a non-zero integer.\n", str);
|
||||
}
|
||||
}
|
||||
|
||||
res = sum(nums, count);
|
||||
printf("Item count is %d\n", count);
|
||||
printf("The sum is %d\n", res);
|
||||
exit(res);
|
||||
}
|
||||
|
||||
10
cs2106/labs/lab2/part1/autograder/subs/A0285757B/utils.c
Normal file
10
cs2106/labs/lab2/part1/autograder/subs/A0285757B/utils.c
Normal file
@@ -0,0 +1,10 @@
|
||||
#include "utils.h"
|
||||
|
||||
int sum(int sum_array[], int n) {
|
||||
int i, res = 0;
|
||||
|
||||
for(i=0; i<n; i++)
|
||||
res += sum_array[i];
|
||||
|
||||
return res;
|
||||
}
|
||||
2
cs2106/labs/lab2/part1/autograder/subs/A0285757B/utils.h
Normal file
2
cs2106/labs/lab2/part1/autograder/subs/A0285757B/utils.h
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
double sum(int [], int);
|
||||
Reference in New Issue
Block a user