Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define MAXN 100
- #include<string.h>
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- void menu(){
- printf("\n1. Them ten hoc sinh");
- printf("\n2. Xoa ten hoc sinh");
- printf("\n3. Tim kiem ten hoc sinh");
- printf("\n4. Hien thi danh sach hoc sinh");
- printf("\n5. Thoat chuong trinh\n");
- }
- int isContinue() {
- printf("\nContinue (y/n): ");
- char choice;
- scanf("%c",&choice);
- if(choice == 'y') {
- return 1;
- }
- return 0;
- }
- void inputStudent(char listStu[][MAXN], int *size) { //them hoc sinh
- printf("Input a student name:");
- fflush(stdin);
- gets(listStu[*size]);
- (*size)++;
- printf("Student has been added to list successfully!");
- }
- int findStudent(char listStu[][MAXN], int size, char listHis[][MAXN], int *sizeOfHis) { //tim kiem hoc sinh
- printf("Enter keyword: ");
- fflush(stdin);
- char s[MAXN] = "";
- gets(s);
- strcpy(listHis[(*sizeOfHis)],s);
- (*sizeOfHis)++;
- int flag =1; int i;
- for(i =0; i < size; i++) {
- if(strstr(listStu[i], s)) {
- return i;
- }
- }
- //sua giup toi c hods deay de im
- printf("Result: not found\n");
- return -1;
- }
- void displayStudent(char listStu[][MAXN], int index) {
- //noi chung ra in listStu[index] ra
- printf("Found student\n");
- printf("Name: %s\n", listStu[index]);
- }
- void removeStudent(char listStu[][MAXN], int* size){ //xoa hoc sinh
- printf("Enter keyword: ");
- fflush(stdin);
- char s[MAXN] = "";
- gets(s);
- int i;
- for(i = 0; i < *size;i++){
- if(strstr(listStu[i], s)) {
- int j;
- for(j = i;j < *size;j++){
- strcpy(listStu[j],listStu[j+1]);
- }
- (*size)--;
- printf("Student name has been removed from list successfully!");
- return;
- }
- }
- printf("Student name doesn't exist in list!!!");
- }
- void displayHistory(char listHistory[][MAXN], int sizeOfHis) { //hien thi danh sach hoc sinh
- int i;
- printf("Keywords you had entered: ");
- for(i =0 ; i < sizeOfHis; i++) {
- printf("%s, ", listHistory[i]);
- }
- printf("\n");
- }
- void ascendingByName(char listStuden[][MAXN],int sizeOfStudent) { //sap xep theo thu tu
- int i,j;
- for(i= 0; i < sizeOfStudent -1; i++) {
- for(j = i+1; j < sizeOfStudent; j++) {
- if(strcmp(listStuden[i],listStuden[j]) > 0) {
- char s[MAXN] = "";
- strcpy(s,listStuden[i]);
- strcpy(listStuden[i],listStuden[j]);
- strcpy(listStuden[j],s);
- }
- }
- }
- printf("List of Students:\n");
- for(i = 0 ; i < sizeOfStudent; i++) {
- printf("%s\n", listStuden[i]);
- }
- }
- int main(int argc, char *argv[]) {
- char listStuden[50][MAXN];
- char listHistory[50][MAXN];
- int sizeOfStudent = 0;
- int sizeOfHistory = 0;
- int choice;
- while(1 == 1){
- menu();
- printf("Select 1-5: ");
- scanf("%d", &choice);
- switch(choice) {
- case 1:
- if(!(sizeOfStudent > 49)) {
- inputStudent(listStuden,&sizeOfStudent);
- }else {
- printf("Out of bound\n");
- }
- break;
- case 2:
- removeStudent(listStuden,&sizeOfStudent);
- break;
- case 3: {
- int index =findStudent(listStuden, sizeOfStudent,listHistory,&sizeOfHistory);
- if(index != -1) {
- displayStudent(listStuden,index);
- }
- break;
- }
- case 4:
- ascendingByName(listStuden ,sizeOfStudent);
- break;
- case 5:
- return 0;
- default:
- printf("Vui long chon tu 1-5");
- break;
- }
- };
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement