bool deleteStudents() { cout << "Please enter SID or name. Enter 0 to finish." << "\n"; string query; cin >> query; if ( query == "0" ) return false; int deleted = 0; bool targets[MAX_STUDENTS]; fill(targets, targets + MAX_STUDENTS, false); for ( int i = 0; i < si_cnt; ++ i ) { string sid; if ( si_list[i].sid == query ) { sid = query; targets[i] = true; } if ( si_list[i].name == query ) { sid = si_list[i].sid; targets[i] = true; } if ( ! sid.empty() ) sid_set.erase(sid); } for ( int i = si_cnt - 1; i >= 0; -- i ) { if ( targets[i] ) { deleteStudent(i); deleted ++; } } cout << deleted << " student(s) removed." << "\n"; return true; }
main(int argc, char *argv[]){ int menuchoice; Students st; char filename[100]; if (argc > 1) { printf("You have imported a file.\n"); strcpy(filename, argv[1]); } else { printf("The program is going to use the default file.\n"); strcpy(filename, FILENAME); } printf("Filename: %s\n", filename); initStudents (&st); do { menuchoice=displayMainMenu(); switch (menuchoice) { case 0: exit(0); case 1: loadData(filename, &st); break; case 2: saveData(filename, &st); break; case 3: addStudent(&st); break; case 4: deleteStudent(&st); break; case 5: sortID(&st); break; case 6: sortSurName(&st); break; case 7: displayStudents(st);break; } } while(1); }
studentMonitor::studentMonitor(QWidget *parent) : QWidget(parent), ui(new Ui::studentMonitor) { QStringList students; ui->setupUi(this); ui->treeWidget->setColumnWidth( 0, 50 ); ui->treeWidget->setColumnWidth( 1, 200 ); this->setWindowFlags( Qt::Dialog | Qt::Popup ); this->fillBoxGroupes(); this->fillSudentsMonitor(students); ui->layMain->setMargin(8); this->setLayout(ui->layMain); this->setGeometry(100, 100, 640, 400); this->show(); QObject::connect(ui->buttonAdd, SIGNAL(clicked()), this, SLOT(newStudent())); QObject::connect(ui->buttonDelete, SIGNAL(clicked()), this, SLOT(deleteStudent())); QObject::connect(ui->buttonEdit, SIGNAL(clicked()), this, SLOT(editStudent())); QObject::connect(ui->treeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(determineStudent(QTreeWidgetItem*, int))); QObject::connect(ui->radioGroupes, SIGNAL(clicked(bool)), this, SLOT(selectGroupeEnabled(bool))); QObject::connect(ui->boxGroupes, SIGNAL(currentIndexChanged(QString)), this, SLOT(refreshStudentMonitorOneGroupe(QString))); QObject::connect(ui->buttonCancel, SIGNAL(clicked()), this, SLOT(deleteLater())); }
int main(int argc, char ** argv) { // array of type Student Student *s = malloc(sizeof(Student) * 100); // zero the newly allocated memory memset(s, 0, sizeof(Student)*100); int menuOpt; int terminateflag = 0; while (!terminateflag) { menuOpt = menu(); switch (menuOpt){ case 1: // Module that handles entering the student's basic information (name, email, UID#) newStudent(s); break; case 2: // Module that loads a database file into memory. loadDB(s); break; case 3: // Module that saves the database to a file saveDB(s); break; case 4: // Module that searches for a student in the database viewStudent(s); break; case 5: // Module that allows the user to enter a grade enterGrades(s); break; case 6: // Delete a student deleteStudent(s); break; case 7: // Exit terminateflag = 1; break; default: printf("Please enter a valid option number.\n\n"); break; } } return 0; }
void MainWindow::setupClassViewer() { tbtnAdd_class->setAction(actionAdd_class, true); tbtnAdd_class->setText(tr("Add")); tbtnAdd_class->setIconSize(QSize(16, 16)); tbtnDelete_class->setAction(actionDelete_class, true); tbtnDelete_class->setText(tr("Delete")); tbtnDelete_class->setIconSize(QSize(16, 16)); tbtnAdd_student->setAction(actionAdd_student, true); tbtnAdd_student->setText(tr("Add")); tbtnAdd_student->setIconSize(QSize(16, 16)); tbtnDelete_student->setAction(actionDelete_student, true); tbtnDelete_student->setText(tr("Delete")); tbtnDelete_student->setIconSize(QSize(16, 16)); tbtnAdd_session->setAction(actionAdd_session, true); tbtnAdd_session->setText(tr("Add")); tbtnAdd_session->setIconSize(QSize(16, 16)); tbtnDelete_session->setAction(actionDelete_session, true); tbtnDelete_session->setText(tr("Delete")); tbtnDelete_session->setIconSize(QSize(16, 16)); QObject::connect(actionAdd_class, SIGNAL(triggered()), this, SLOT(addClass())); QObject::connect(actionDelete_class, SIGNAL(triggered()), this, SLOT(deleteClass())); QObject::connect(actionPrint_class_summary, SIGNAL(triggered()), this, SLOT(printClassSummary())); QObject::connect(actionAdd_student, SIGNAL(triggered()), this, SLOT(addStudent())); QObject::connect(actionDelete_student, SIGNAL(triggered()), this, SLOT(deleteStudent())); QObject::connect(actionAdd_session, SIGNAL(triggered()), this, SLOT(addSession())); QObject::connect(actionDelete_session, SIGNAL(triggered()), this, SLOT(deleteSession())); QObject::connect(CLSCFirstYearSpinBox, SIGNAL(valueChanged(int)), CLSCLastYearSpinBox, SLOT(setMinimum(int))); QObject::connect(CLLCListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(setCurrentClass(QListWidgetItem *))); QObject::connect(CLLSListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(setCurrentClassMember(QListWidgetItem *))); QObject::connect(CLLSSListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(viewSession(QListWidgetItem *))); QObject::connect(CLLSSListWidget, SIGNAL(currentIndexAvailabilityChanged(bool)), actionDelete_session, SLOT(setEnabled(bool))); QObject::connect(CLLSSListWidget, SIGNAL(currentTextChanged(QString)), this, SLOT(toggleAddSessionToMemberEnabled())); QObject::connect(CLSSResultsTableWidget, SIGNAL(currentIndexAvailabilityChanged(bool)), tbtnRemoveSession, SLOT(setEnabled(bool))); QObject::connect(CLSSResultsTableWidget, SIGNAL(itemDoubleClicked(QTableWidgetItem *)), this, SLOT(viewSessionAndStudent(QTableWidgetItem *))); QObject::connect(CLLCSearchLineEdit, SIGNAL(textChanged(QLineEdit *, const QString &)), CLLCListWidget, SLOT(filterItems(QLineEdit *, const QString &))); QObject::connect(CLLSSearchLineEdit, SIGNAL(textChanged(QLineEdit *, const QString &)), CLLSListWidget, SLOT(filterItems(QLineEdit *, const QString &))); QObject::connect(CLLSSSearchLineEdit, SIGNAL(textChanged(QLineEdit *, const QString &)), CLLSSListWidget, SLOT(filterItems(QLineEdit *, const QString &))); QObject::connect(tbtnApplyClassChanges, SIGNAL(released()), this, SLOT(updateClassProperties())); QObject::connect(tbtnSaveMemberName, SIGNAL(released()), this, SLOT(updateClassMemberName())); QObject::connect(tbtnAddSession, SIGNAL(released()), this, SLOT(addSessionToMember())); QObject::connect(tbtnRemoveSession, SIGNAL(released()), this, SLOT(removeSessionFromMember())); CLLCListWidget->setSortingEnabled(true); CLLSSListWidget->setSortingEnabled(true); CLSSResultsTableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch); CLSSResultsTableWidget->verticalHeader()->hide(); CLSSResultsTableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); setCLSCEnabled(false); }
int main(int argc, char *argv[]) { //LinkList to store all account and student info pAccount AccountList = NULL; pStudent StudentList = NULL; //Init the LinkList systemInit(CONFIG_FILE, &AccountList, &StudentList); Role role; Menu menu; role = confirmAccount(AccountList); if (role == -1) { return 0; } while ((menu = showSystemMenu(role)) != 9) { while (getchar() != '\n') { continue; } switch(menu) { case 1: if (role == 1) { searchStudentAdmin(StudentList); } else { searchStudentGuest(StudentList); } break; case 2: addStudent(&StudentList); break; case 3: updateStudent(StudentList); break; case 4: deleteStudent(&StudentList); break; case 5: addUserAccount(&AccountList); break; case 6: updateUserAccount(AccountList); break; case 7: deleteUserAccount(&AccountList); break; case 8: searchAccountMenu(AccountList); break; default: break; } saveData(CONFIG_FILE, AccountList, StudentList); } return 0; }
/** * poz : variable indicating if the lastName is located at start or end * poz values: 1 for start, 2 for end * * functional module */ Node* deleteStudent(Node* currentNode, char* lastName, int poz) { // if we are at the end of the list if (currentNode == 0) return 0; // check if the current node is the one for deletion if (poz == 1) { char* token; char separator[2] = " "; char nameBuffer[256]; strcpy(nameBuffer, currentNode->info->name); token = strtok(nameBuffer, separator); if (strcmp(token, lastName) == 0) { Node* nextElement = currentNode->next; if (currentNode->info->name != 0) free(currentNode->info->name); if (currentNode->info->faculty != 0) free(currentNode->info->faculty); free(currentNode); return nextElement; } currentNode->next = deleteStudent(currentNode->next, lastName, poz); } return currentNode; }
void TeachWin::deleteStudentButton() { //remove student from database here std::string str = ui->listWidget->currentItem()->text().toStdString(); deleteStudent(str); }
int main() { FILE *fp; FILE *fp2; char* file_name = "students.txt"; char* file_name2 = "log.txt"; int studentId; char name[30]; char class[10]; char department[10]; int r; StudentNode temp; StudentNode* result; int i; int loop; int userChoice; //Initialize index array for (i = 0; i<20; i++) { indexArray[i].r = i; indexArray[i].node = NULL; cur[i] = NULL; } printf("Begin of program\n\n"); //Try to open file to read if ((fp = fopen(file_name, "r")) == NULL) { printf("No such file\n"); exit(1); } //Add students to their corespoding indexes while (fscanf(fp, "%d:%[^:]:%[^:]:%[^:\n]", &studentId, name, class, department) == 4) { addStudent(studentId, name, class, department); } //Link indexes together linkIndexes(); //Menu loop = 1; while (loop) { printf ("******************************\n* What do you wanna do? *\n* 1- Add student *\n* 2- Delete student *\n* 3- Find student *\n* 4- Edit student *\n* 5- Student list *\n* 6- Exit *\n******************************"); printf("\nYour choice: "); scanf("%d%*c", &userChoice); switch (userChoice) { case 1: studentId = askForId(); temp = findStudentById(studentId); if (temp == NULL) { strcpy(name, askForName()); strcpy(class, askForClass()); strcpy(department, askForDepartment()); addStudent (studentId, name, class, department); linkIndexes(); addStudentToFile(studentId, name, class, department, file_name); makeLog(studentId, "APPEND", file_name2); printf("Add success!\n"); } else printf("ID already existed!\n"); break; case 2: studentId = askForId(); if (deleteStudent(studentId) == 1) { deleteStudentFromFile(studentId, file_name); makeLog(studentId, "DELETE", file_name2); printf("Delete success!\n"); } else printf("Can't find any student with given ID!\n"); break; case 3: printf("\nFind by which criteria?\n1- Student ID\n2- Name\n3- Class\n4- Department\n5- Back to menu\nYour choice: "); scanf("%d%*c", &userChoice); switch (userChoice) { case 1: studentId = askForId(); temp = findStudentById(studentId); printf("\nResult:\n"); if (temp != NULL) { printf("%-10d | %-30s | %-10s | %-10s\n", temp->studentId, temp->name, temp->class, temp->department); } else
int solve() { int choice; Result person[MAXLENGTH]; int n; int case1 = 0; int currentIndex = 0; while(1) { switch(choice = menu()) { case 1: printf("You choose option %d\n", choice); getStudentInformation(person, ¤tIndex); printStudentList(person, currentIndex); case1 = 1; continue; case 2: printf("You choose option %d\n", choice); if(!case1) { printf("Please choose case 1 first!\n"); continue; } searching(person, currentIndex); continue; case 3: printf("You choose option %d\n", choice); if(!case1) { printf("Please choose case 1 first!\n"); continue; } findScholashipStudent(person, currentIndex); printStudentList(person, currentIndex); continue; case 4: printf("You choose option %d\n", choice); if(!case1) { printf("Please choose case 1 first!\n"); continue; } fixGrade(person, currentIndex); printStudentList(person, currentIndex); continue; case 5: printf("You choose option %d\n", choice); if(!case1) { printf("Please choose case 1 first!\n"); continue; } deleteStudent(person, ¤tIndex); printStudentList(person, currentIndex); continue; case 6: printf("You choose option %d\n", choice); break; default: printf("Invalid choice!\n"); continue; } break; } return 0; }
void main() { Node* list = 0; Node* secondList = 0; Student* stud = 0; FILE *f; f = fopen("Students.csv", "r"); if (f) { stud = (Student*)malloc(sizeof(Student)); // buffers char name[256]; char birth[256]; char faculty[256]; // pattern: 1,John Smith,10-10-1990,Faculty of Computer Sciene,1,1008 fscanf(f, "%d, %[^,], %[^,], %[^,], %hd, %hd", &(stud->id), name, birth, faculty, &stud->year, &stud->group); while (!feof(f)) { stud->name = (char*)malloc((strlen(name) + 1) * sizeof(char)); strcpy(stud->name, name); char* token; // solving date field char separator[2] = "-"; token = strtok(birth, separator); stud->birthDay.day = atoi(token); token = strtok(0, separator); stud->birthDay.month = atoi(token); token = strtok(0, separator); stud->birthDay.year = atoi(token); // solving name field stud->name = (char*)malloc((strlen(name) + 1) * sizeof(char)); strcpy(stud->name, name); // solving faculty stud->faculty = (char*)malloc((strlen(faculty) + 1) * sizeof(char)); strcpy(stud->faculty, faculty); // INSERTION HERE: //list = frontInsertion(list, stud); list = rearInsertion(list, stud); secondList = frontInsertion(secondList, stud); // allocate new student && read next line from csv file stud = (Student*)malloc(sizeof(Student)); fscanf(f, "%d, %[^,], %[^,], %[^,], %hd, %hd", &(stud->id), &name, &birth, &faculty, &stud->year, &stud->group); } } else { perror("[FILE ERROR]"); } printList(list); searchStudent(list, "fate1"); searchStudent(list, "fate2"); searchStudent(list, "fate3"); list = deleteStudent(list, "Max", 1); //list = deleteElement(list, "Philip Rafaello"); printf("\nList after deletion of Max: "); printList(list); // search for a student in list Student* searched = searchElement(list, "John Smith"); if (searched) { printf("\nStudent found: %s", searched->name); } else { printf("\nStudent not found!"); } // interchange adjacent nodes in list list = interchangeNodesAdj(list, 3, 4); printf("\nList after adjacent interchange: "); printList(list); // interchange nodes in list list = interchangeNodes(list, 1, 5); printf("\nList after adjacent interchange: "); printList(list); // sort list by year printf("\nSorting the list: "); sortList(&list); printList(list); // list concatenation printf("\nFirst list: "); printList(list); printf("\nSecond list: "); printList(secondList); //Node* concatenatedList = concatenateList(list, secondList); //printf("\nResult: "); //printList(concatenatedList); deleteList(list); // testing some things int a = 0x5; a = 0xA; a = 0xB; a = 0xC; printf("\nHex: %x", a); // finally fclose(f); printf("\n"); }
int main(){ student_t *head, *newStudent,*temp; int age,major; float gpa; char * name, *name1, cr; char *msg; int i; int answer,data; head = NULL; printf("You are now entering the student zone!\n"); answer = menu(); while(answer != 7){ switch (answer) { case 1: printf("enter age:\n"); scanf("%d%c",&age,&cr); printf("enter gpa:\n"); scanf("%f%c",&gpa,&cr); printf("enter major:\n"); scanf("%d%c",&major,&cr); printf("enter name:\n"); name = getline(); //printf("length: %d\n",strlen(name)); newStudent = createStudent(age, name,major,gpa); break; case 2: insertStudent(&head,newStudent); break; case 3: printf("enter student name to delete\n"); name1 = getline(); deleteStudent(&head,name1); free(name1); break; case 4: printf("enter student name to investigate\n"); name1 = getline(); data = dataMenu(); switch (data) { case 1: temp = findStudent(head, name1); if(temp == NULL){ printf("Student %s not found \n",name1); break; } age = getAge( temp); printf("The age of %s, is %d\n",name1,age); break; case 2: temp = findStudent(head, name1); if(temp == NULL){ printf("Student %s not found \n",name1); break; } gpa = getGpa( temp); printf("The gpa of %s, is %f\n",name1,gpa); break; case 3: temp = findStudent(head, name1); if(temp == NULL){ printf("Student %s not found \n",name1); break; } major = getMajor( temp); printf("The gpa of %s, is %d\n",name1,major); break; default: break; } break; case 5: temp = head; while(temp != NULL){ msg = toString( temp); printf("%s\n",msg); temp = temp->link; } break; case 6: insertStudentRear(&head,newStudent); break; default: break; } answer = menu(); } printf("BYE\n"); return(0); }
main() { char op; int i = 1; //Grupo ML E1; createML(&E1); //printML(E1); while(i) { op = printMenu(); fflush(stdin); switch(op) { case '1': system("CLS"); char gName[128]; printf("Nombre del grupo: "); scanf("%128s",gName); addNodeGroup(&E1,gName); printf("\n\n\t"); system("PAUSE"); break; case '2': deleteGroup(&E1); printf("\n\n\t"); system("PAUSE"); break; case '3': system("CLS"); addStudent(&E1); printf("\n\n\t"); system("PAUSE"); break; case '4': system("CLS"); char boleta[12]; printf("Numero de boleta del alumno: \n"); scanf("%s",boleta); deleteStudent(&E1,boleta); printf("\n\n\t"); system("PAUSE"); break; case '5': system("CLS"); printML(E1); printf("\n\n\t"); system("PAUSE"); break; case '6': exit(1); break; default: break; } } getch(); }