diff --git a/carrotcore b/carrotcore new file mode 100755 index 0000000..c6dbe5c Binary files /dev/null and b/carrotcore differ diff --git a/carrotcore.c b/carrotcore.c new file mode 100644 index 0000000..71cdc1e --- /dev/null +++ b/carrotcore.c @@ -0,0 +1,377 @@ +/*Rumeet Goradia - CarrotCore Educational Service*/ +#include +#include +#include +#include +#include + + + + +char *splitString(char*ptrS, char c) { //Used for splitting first and last names read from file + while(*ptrS !=c) { + ptrS++; + } + return ptrS; +} + +void clrscr(){//Simulates screen clearing by creating a bunch of new lines + int i6; + for (i6=0;i6<45;i6++) + { + printf("\n"); + } +} +void help (){ //Prints main menu + printf("\n[1] CHECK ROSTER\n[2] ENTER GRADE\n[3] STUDENT DATA\n[4] TEACHER DATA\n[5] LOG OUT\n\n"); +} + +void subjects (){ //Prints subjects menu + printf("\n[1] MATH\n[2] ENGLISH\n[3] SCIENCE\n[4] HISTORY\n[5] SPANISH\n\n"); +} + +void assigntype(){ //Prints types of assignments + printf("\n[1] TEST/PROJECT\n[2] QUIZ\n[3] CLASSWORK\n[4] HOMEWORK\n\n"); +} + +typedef struct { + float *gradesEng; + float avgEng; + float *gradesMath; + float avgMath; + float *gradesSci; + float avgSci; + float *gradesHist; + float avgHist; + float *gradesSpan; + float avgSpan; +} grades; +typedef struct { + char *fname; + char *lname; + char *address; + char *birthday; + grades grad; +} student; + +typedef struct{ + char *fname; + char *lname; + char *birthday; + char *grade; + char *email; + char *title; +} teacher; + +void roster (char *arr[], char *arr2[], char *bdays[], char *adds[], int lim){ + int j1, j2; + int greatnesf; + char **lnamef; + char **fnamef; + char **bdayf; + char **addref; + for(j1=0; j10) + { + greatnesf++; + } + } + lnamef[greatnesf]=arr[j1]; + fnamef[greatnesf]=arr2[j1]; + bdayf[greatnesf]=bdays[j1]; + addref[greatnesf]=adds[j1]; + strcat(lnamef[greatnesf], ", "); + strcat(lnamef[greatnesf], fnamef[greatnesf]); + + } + + printf(" Name: Address: Date of Birth:\n");//Prints "Last Name, First Name Address DOB" for all students + int j3; + for (j3=0;j3\n", teachk); + printf("Joel Chapman (First Grade) <%s>\n", teach1); + printf("Niamh Parker (Second Grade) <%s>\n", teach2); + printf("Hannah Lyons (Third Grade) <%s>\n", teach3); + printf("Christopher Law (Fourth Grade) <%s>\n", teach4); + printf("Mitchell Davis (Fifth Grade) <%s>\n\n", teach5); + char *user=(char*) malloc(35); + char *pass=(char*) malloc(sizeof(char)*100); + int i1; + do { + printf("Username: "); + printf("%u\n",sizeof(user)); + fgets(user, sizeof(user), stdin); + printf("%s\n", user); + user[strlen(user)-1]='\0'; + for (i1=0; i1<35; i1++) + { + user[i1]=tolower(user[i1]); + }//function "tolower" used to make all input lowercase + printf("%s\n", user); + printf("Password: "); + fgets(pass, sizeof(pass),stdin); + pass[strlen(pass)-1]='\0'; + if(strcmp(user, teachk)!=0 && strcmp(user, teach1)!=0 && strcmp(user, teach2)!=0 && strcmp(user, teach3)!=0 && strcmp(user, teach4)!=0 && strcmp(user, teach5)!=0) + { + printf("Invalid username. Please login with a certified Pikachu School District email.\n"); + + } + } while(strcmp(user, teachk)!=0 && strcmp(user, teach1)!=0 && strcmp(user, teach2)!=0 && strcmp(user, teach3)!=0 && strcmp(user, teach4)!=0 && strcmp(user, teach5)!=0); + FILE *class; + teacher teach; + switch (user[0])//first letter of username input decides teacher profile and class roster + { + case 's': + class=fopen("kindergarten2.txt", "r"); + teach.fname="Sienna"; + teach.lname="Spencer"; + teach.birthday="5/31/1985"; + teach.grade="Kindergarten"; + teach.email=teachk; + teach.title="Mrs."; + break; + case 'j': + class=fopen("firstgrade2.txt", "r"); + teach.fname="Joel"; + teach.lname="Chapman"; + teach.birthday="1/28/1975"; + teach.grade="First Grade"; + teach.email=teach1; + teach.title="Mr."; + break; + case 'n': + class=fopen("secondgrade2.txt", "r"); + teach.fname="Niamh"; + teach.lname="Parker"; + teach.birthday="10/10/1961"; + teach.grade="Second Grade"; + teach.email=teach2; + teach.title="Mrs."; + break; + case 'h': + class=fopen("thirdgrade2.txt", "r"); + teach.fname="Hannah"; + teach.lname="Lyons"; + teach.birthday="12/14/1955"; + teach.grade="Third Grade"; + teach.email=teach3; + teach.title="Mrs."; + break; + case 'c': + class=fopen("fourthgrade2.txt", "r"); + teach.fname="Christopher"; + teach.lname="Law"; + teach.birthday="3/2/1969"; + teach.grade="Fourth Grade"; + teach.email=teach4; + teach.title="Mr."; + break; + case 'm': + class=fopen("fifthgrade2.txt", "r"); + teach.fname="Mitchell"; + teach.lname="Davis"; + teach.birthday="12/22/1977"; + teach.grade="Fifth Grade"; + teach.email=teach5; + teach.title="Mr."; + break; + } + + + int num; + fscanf(class,"%d", &num);//first line of each file is number of students + student stud[num]; + int i; + fgetc(class); + char *wholeName=(char*)malloc(sizeof(char)*100); + char *address=(char*)malloc(sizeof(char)*100); + char *birthday=(char*)malloc(sizeof(char)*12); + int lnamelength=0, fnamelength=0, bdaylength=0, addlength=0; + for (i=0; i