01/10/2018, 09:18

Cần giúp đỡ phần code ạ

Hiện tại em có đoạn code như này và vẫn chưa xong. Đề là: NHẬP THÔNG TIN SINH VIÊN. Mới tới phần case search thôi, còn phần case delete và case update nữa. cho em hỏi là tại sao em nhập empID:1 mà nó nhảy ra số 4229504 và phần phone number cũng vậy. Ai chỉ em cách sửa với. Còn phần code nào lỗi hay chưa được hay thì mong mấy pro chỉ luôn. Và chỉ mình luôn cách add thông tin vảo rồi và giờ muốn xóa = cách nhập thì sao ạ. Ví dụ nhập 1,2,3 và muốn xóa 2 ra khỏi chương trình mà ko ảnh hưởng tới 1 và 3.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
enum option {
	none = 0, add = 1, view = 2, search = 3, delete = 4, update = 5, quit = 6
};
struct students {
	int id[7];
	char first_name[20];
	char last_name[20];
	char email[50];
	char birthday[20];
	int phone_number[50];

};
void menu();
struct students student[50];

int main(void) {
	setvbuf(stdout, NULL, _IONBF, 0);
	menu();
	return EXIT_SUCCESS;
}
void displayOption() {
	printf("1.Add new employees
");
	printf("2.View employees
");
	printf("3.Search employees 
");
	printf("4.Delete employees
");
	printf("5.Update employees
");
	printf("6.Exit
");
	printf("====================
");

}
void menu() {
	int size;
	size = 0;
	enum option op = none;
	while (op != exit) {
		displayOption();
		printf("You choose: ");
		scanf("%d", &op);
		switch (op) {
		case add: {
			printf("Input the number of Student: 
");
			scanf("%d", &size);
			for (int i = 0; i < size; i++) {
				printf("empID: ");
				fflush(stdin);
				gets(student[i].id);
				printf("empFName: ");
				fflush(stdin);
				gets(student[i].first_name);
				printf("empLName ");
				fflush(stdin);
				gets(student[i].last_name);
				printf("Birthday: ");
				fflush(stdin);
				scanf("%s", &student[i].birthday);
				printf("Phone number:");
				fflush(stdin);
				scanf("%d", student[i].phone_number);
				printf("
");
			}

			break;
		}
		case view: {
			printf("List Employees:
 ");
			for (int i = 0; i < size; i++) {
				printf("empID: %d 
", student[i].id);
				printf("empFName: %s
", student[i].first_name);
				printf("empLName: %s
", student[i].last_name);
				printf("Birthday: %s
", student[i].birthday);
				printf("Phone number: %d
", student[i].phone_number);
				printf("
");
			}
			break;
		}
		case search: {
			printf("Input empLName ");
			char tit[20];
			fflush(stdin);
			gets(tit);
			for (int i = 0; i < size; i++) {
				if (strstr(student[i].last_name, tit) != NULL) {
					printf("empID: %d 
", student[size].id);
					printf("empName: %s %s
", student[i].first_name,
							student[i].last_name);
					printf("Birthday: %s 
", student[i].birthday);
					printf("Phone number: %d -
", student[i].phone_number);
					printf("

");
				}
			}
			break;
		}
		default:
			op = quit;
			break;
		}
	}
}
Chí Thuận viết 11:31 ngày 01/10/2018

dòng 48: while (op != quit)

Chí Thuận viết 11:34 ngày 01/10/2018

đã giải quyết phần in ra số lỗi ^^ . Lỗi sơ xuất

Bài liên quan
0