게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어 질문이 있어요!
게시물ID : programmer_7884짧은주소 복사하기
작성자 : 별이된약속
추천 : 0
조회수 : 448회
댓글수 : 1개
등록시간 : 2015/01/29 10:46:21
옵션
  • 베스트금지

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<string.h>

struct student //본 구조체
{
 char name[20];
 char number[20];
 char phone[20];
}stud;//구조체 변수 stud

struct list //리스트 구조체
{
 int count;//카운트
 void* next;//다음 포인터
}hum;//구조체 변수 hum


int main()
{

 int val=0;


 printf("save(1), search(2), exit(0)\n");
 scanf("%d",&val);

 
 switch(val)
 {
  case 0:
   printf("Exit\n");
   return 0;
  case 1:
   save();
   break;
  case 2:
   search();
   break;
  default:
   printf("잘못 입력\n");
   break;
  
 }

}

int save(void)
{
 struct student* stud;
 stud = (struct student*)malloc(sizeof(struct student));//malloc 사용>>student 포인터 만듬
 
 
 
 {
  printf("이름 입력 : \n");
  scanf("%s",(*stud).name);
  printf("학번 입력 : \n");
  scanf("%s",(*stud).number);
  printf("전화번호 입력 : \n");
  scanf("%s",(*stud).phone);
 }
 
 //hum.next=(struct stduent*)stud;
 if(hum.next!=0)
 {
  stud++;
  hum.next=(void*)stud;

  printf("이름 입력 : \n");
  scanf("%s",stud->name);
  printf("학번 입력 : \n");
  scanf("%s",stud->number);
  printf("전화번호 입력 : \n");
  scanf("%s",stud->phone);

 }
 
 //return은?
}

int search()
{
 
 
 int result;
 char seek[20];
 printf("전화번호 검색:\n");
 scanf("%s",seek);
 result=strcmp(seek,stud.phone);
  
  //while()
  {
   
   if(result!=0)
   {
    printf("검색결과 없음\n");
    
   }
   else if(result==0)
   {
    printf("이름 : %s \n",stud.name);
    
    printf("전화번호 : %s \n",stud.phone);
    
    printf("학번 : %s \n",stud.number);
    
    return main();
   }
  }
  return 0;
}

student 구조체를 만들어서 list의 *next 포인터로 linked list 를 작성해보려고하는데요!

실행시키면 저장이 안되고 다음 student 구조체로도 넘어가질 않는 것 같아요..

질문

1. save 함수에 제가 알맞게 student 포인터 설정,동적 할당이 되었는지

2. save 함수에 if 문 사용하는 것이 맞는것인지

가 궁금해요!

많은 지적 부탁드려요!!

감사합니다^^

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호