Head uploadAddresses(Head h, char n[30]){
	FILE *fp;
	char m[30];
	int i, j;
	double mob;
	if((fp = fopen(n, "r")) == NULL){
		fprintf(stderr, "\nThe File could not be opened!\n");
		return NULL;
	}
	if(h == NULL){
		h = createAddressBook();
	}
	i = fscanf(fp, "%s %lf", m, &mob);
	while((feof(fp) == 0)){
		h = insertAddress(h, m, mob);
		i = fscanf(fp, "%s %lf", m, &mob);
	}
	fclose(fp);
	return h;
}
예제 #2
0
파일: Case4.c 프로젝트: baducki/me
int adjustInfo(Member_t *id, int i)
{
	int j, IDnum = 0, valid = -1, count = 0;
	int choice = 0;
	char tempname[NAME_MAXCHAR];           // 이름 수정 정보를 되돌리기 위한 temp 변수
	char tempaddress[ADDRESS_MAXCHAR];     // 주소 수정 정보를 되돌리기 위한 temp 변수
	char tempcellphone[CELLPHONE_MAXCHAR]; // 전화번호 수정 정보를 되돌리기 위한 temp 변수

	if (i != -1){
		while (choice != -1){
			choice = adjustInfoMenuChoice();
			switch (choice)
			{
			case '1':
				adjustCell(count);
				gotoxy(6, 17); printf("①     학번 : ");
				IDnum = insertStudentNum(23, 17, 1);
				if (IDnum > -1)
					IDnum = repeatStudentIDCheck(id, IDnum);
				if (IDnum > -1)
					adjustInfoInputStudentID(id, IDnum, i);
				break;
			case '2':
				while (valid == -1){
					adjustCell(count);
					gotoxy(6, 17); printf("②     이름 : ");
					strcpy(tempname, id[i].Name);
					valid = insertName(23, 17, id[i].Name, 1);
					if (valid > -1)
						adjustInfoInputName(id, i);
					else strcpy(id[i].Name, tempname);
					count++;
				}
				valid = -1; count = 0;
				break;
			case '3':
				while (valid == -1){
					adjustCell(count);
					gotoxy(6, 17); printf("③     주소 : ");
					strcpy(tempaddress, id[i].Address);
					valid = insertAddress(23, 17, id[i].Address, 1);
					if (valid > -1)	adjustInfoInputAddress(id, i);
					else strcpy(id[i].Address, tempaddress);
					count++;
				}
				valid = -1; count = 0;
				break;
			case '4':
				while (valid == -1){
					adjustCell(count);
					gotoxy(6, 17); printf("④ 전화번호 : ");
					gotoxy(26, 17); printf(" -      -     ");
					strcpy(tempcellphone, id[i].Cellphone);
					valid = insertCellphone(23, 17, id[i].Cellphone, 1);
					if (valid > -1){  // 전화번호 중복 Check
						for (j = 1; id[j].Studentnum != 0; j++){
							if (i == j);
							else if (strcmp(id[j].Cellphone, id[i].Cellphone) == 0) {  // 전화 번호가 같다면 -1을 반환
								repeatCellphoneErrorOn(1);
								valid = -1;
								break;
							}
						}
					}
					if (valid != -1) {
						adjustInfoInputCellphone(id, i);
						break;
					}
					else strcpy(id[i].Cellphone, tempcellphone);
					count++;
				}
				break;
			}
			gotoxy(0, 16); lineClear(); gotoxy(0, 17); lineClear(); gotoxy(0, 18); lineClear();
		}
	}
	return -1;
}