디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

형들 구조제배열 주소값전달 질문점요......

C초보(121.130) 2011.02.28 17:55:40
조회 77 추천 0 댓글 3

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define stu_SIZE 5

 

typedef struct student
{
 int no;
 char name[10];
 int kor, mat, eng;
 int total;
 int award;
 char grd;
 float avg;
}STU;

void InputInfo(STU **p);                                              // 여기가 문제에요!!
void OutputInfo(STU p[]);
void ArrangeInfo(STU *p);
void SearchInfo(STU *p);

int main()
{
 int menu;
 int i;
 
 STU st[stu_SIZE];
 
 while(1)
 {
 system("cls");
 printf("\\n\\n\\t\\t***학생 관리 프로그램***=\\n");
 printf("** 메뉴 **\\n");
 printf("1. 입력\\n2. 출력\\n3. 정렬\\n4. 검색\\n5.종료\\n\\n");
 printf("선택 : [ ]\\b\\b");
 scanf("%d", &menu);
 fflush(stdin);
 system("cls");

 switch(menu)
 {
 case 1:
  InputInfo(&st);
  break;
 case 2:
  OutputInfo(st);
  break;
 case 3:
  ArrangeInfo(st);
  break;
 case 4:
  SearchInfo(st);
  break;
 case 5:
  printf("\\n\\n\\t\\t프로그램을 종료합니다.\\n");
  return 0;
 default:
  printf("올바른 값을 입력해주세요");
  getch();
  continue;
 }
 printf("\\n\\n\\t아무키나 누르면 메뉴로 돌아갑니다.");
 getch();
 system("cls");

 }
 return 0;
}
   
void InputInfo(STU **p)
{
 int i, j;
 for(i=0; i<stu_SIZE; i++)
  {
   system("cls");
   printf("입  력 : [%03d]\\n", i+1);
   p[i]->no = i+1;
   printf("이  름 : ");
   scanf("%s", &p[i]->name);
   fflush(stdin);
   printf("국어점수 : ");
   scanf("%d", &p[i]->kor);
   printf("영어점수 : ");
   scanf("%d", &p[i]->eng);
   printf("수학점수 : ");
   scanf("%d", &p[i]->mat);
   
   p[i]->total = p[i]->eng + p[i]->kor + p[i]->mat;
   p[i]->avg = p[i]->total / 3;
   if(p[i]->avg >= 90)
    p[i]->grd = \'A\';
   else if(p[i]->avg >=80)
    p[i]->grd = \'B\';
   else if(p[i]->avg >=70)
    p[i]->grd = \'C\';
   else if(p[i]->avg >=60)
    p[i]->grd = \'D\';
   else
    p[i]->grd = \'F\';
 }
 p[i]->award = 1;
   
 for(i=0; i<stu_SIZE; i++)
  {
   for(j=0; j<stu_SIZE; j++)
   {
    if(p[i]->avg < p[j]->avg)
     p[i]->award +=1;
   }
  }

}

void OutputInfo(STU p[])
{
 int i;
 printf("\\n\\n\\t\\t*** 성적 출력 ***\\n\\n");
 printf("번호\\t이름  국어  영어  수학  총점\\t평균  등급  순위\\n\\n");
 for(i=0; i<stu_SIZE; i++)
 {
  printf("%d\\t%-5s   %-5d %-5d %d %d\\t%.2f   %c   %d\\n", p[i].no, p[i].name, p[i].kor, p[i].eng, p[i].mat, p[i].total, p[i].avg, p[i].grd, p[i].award);
 }
}

void ArrangeInfo(STU *p)
{
 int i, j;
 int menu;
 STU temp;
 printf("\\n\\n*** 정렬메뉴(평균) ***\\n\\n");
 while(1)
 {
 printf("  1. 오름차순 정렬(작은것부터)\\n   2. 내림차순 정렬(큰 것부터)\\n   3. 이전메뉴\\n\\n");
 printf("선택 : [ ]\\b\\b");
 scanf("%d", &menu);
 fflush(stdin);

 switch(menu)
 {
 case 1:
  for(i=0; i<stu_SIZE; i++)
  {
   for(j=0; j<stu_SIZE; j++)
   {
    if(p[i].avg > p[j].avg)
    {
     temp = p[i];
     p[i] = p[j];
     p[j] = temp;
    }
   }
  }
  printf("\\n\\t\\t오름차순으로 정렬하였습니다.");
  break;
 case 2:
  for(i=0; i<stu_SIZE; i++)
  {
   for(j=0; j<stu_SIZE; j++)
   {
    if(p[i].avg < p[j].avg)
    {
     temp = p[i];
     p[i] = p[j];
     p[j] = temp;
    }
   }
  }
  printf("\\n\\t\\t내림차순으로 정렬하였습니다.");
  break;
 case 3:
  printf("\\n\\t\\t아무키나누르면 메뉴로 돌아갑니다...");
  break;
 default:
  printf("\\n\\t\\t잘못누르셨습니다. 다시 눌러주세요..\\n");  
 
 }
 if(menu == 1 || menu ==2 || menu == 3)
  break;
 }
}

void SearchInfo(STU *p)
{
 int i;
 char srh[10];
 int flat = 0;
 printf("\\n*** 학생 검색 ***\\n");
 printf("검색 이름 입력 : ");
 scanf("%s", srh);
 
 printf("번호\\t이름  국어  영어  수학  총점\\t평균  등급  순위\\n\\n");
 for(i=0; i<stu_SIZE; i++)
 { 
  if(strcmp(srh, p[i].name) == 0)
  {
    printf("%d\\t%-5s   %-5d %-5d %d %d\\t%.2f   %c   %d\\n", p[i].no, p[i].name, p[i].kor, p[i].eng, p[i].mat, p[i].total, p[i].avg, p[i].grd, p[i].award);
    flat = 1;
  }
 } 
}



그냥 값복사로는 구현할 수 있는데 공부하다가 구조체가 20바이트 이상이면 주소값 복사가 효율적이라고 해서 주소값복사를 적용하려고
입력함수만 바꿔봤는데 좀 다른게 구조체 자체가 배열이라 주소값을 받으려면 **p? 좀 생소하지만 써서 돌려봤는데
1.입력을 실행하면 다운되는데 왜그런거에요?ㅠㅠ

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 논란보다 더 욕 많이 먹어서 억울할 것 같은 스타는? 운영자 24/09/23 - -
이슈 [디시人터뷰] '더 인플루언서' 표은지, 귀여움과 섹시함을 겸비한 모델 운영자 24/09/26 - -
267509 힘들구나 三didas갤로그로 이동합니다. 11.08.28 35 0
267507 야! 관심을 내놓으라고! 방방밥아방 [3] y녀6디리(218.146) 11.08.28 41 0
267506 대학원은 사치다..가지마라. [2] 초식남(219.251) 11.08.28 199 0
267505 형들 닉은 뭔가 심심해 [2] y녀6디리(218.146) 11.08.28 45 0
267504 효연처럼 그 정도 뜯어고쳤으면 [1] 우ㅈ갤로그로 이동합니다. 11.08.28 89 0
267500 UIUC 좆같음 [4] ㅁㄴㅇㄹ(130.126) 11.08.28 62 0
267497 스키마가 뭐야?? [2] ㅇㅇㅇ(218.155) 11.08.28 63 0
267496 프갤러 횽들 ㅠ HTML 파싱하는거 만들고있어요 도와주세요 ㄴㅁㅇㄻㅇㄴ(121.183) 11.08.28 66 0
267495 안드로이드 파워질문 [1] 개룡(110.15) 11.08.28 40 0
267494 망함그냥 쓰던앤데 [3] 지금,여기갤로그로 이동합니다. 11.08.28 70 0
267492 하.........미칠것같다... [5] scanf(121.143) 11.08.28 116 0
267490 STL 컨테이너에서 템플릿을 사용하는 이유가 [5] 궁금이(121.129) 11.08.28 103 0
267489 사람 형아 [1] 좋은아버지갤로그로 이동합니다. 11.08.28 44 0
267488 아 아버지형 진짜 미안한데 이거마지막으루 함봐죠 ㅠㅠ [11] 사람(58.234) 11.08.28 90 0
267487 아버지형 잠시만용 [3] 사람(58.234) 11.08.28 48 0
267486 크롬북 신청할라는데 망함그냥갤로그로 이동합니다. 11.08.28 47 0
267485 형들은 안자? [7] 좋은아버지갤로그로 이동합니다. 11.08.28 78 0
267484 좋은아버지형 소환염..ㅠ [6] 사람(58.234) 11.08.28 81 0
267482 mysql 클라이언트 구하기가 왜이렇게 힘드냐. 아오 빡쳐. [7] 112121(121.129) 11.08.28 120 0
267481 난 자야겐네 y녀6디리(218.146) 11.08.28 22 0
267480 아 와우하면서 글쓰다가 [4] 좋은아버지갤로그로 이동합니다. 11.08.28 79 0
267478 얼굴없는 춤 // 2011. 8. 28 CCCC(121.172) 11.08.28 83 0
267477 이런 사진 보고 있으면 그냥 즐겁네.. ㅎㅎ.jpg [2] blackd갤로그로 이동합니다. 11.08.28 131 0
267476 죽은 송장 형 있어?? [2] 좋은아버지갤로그로 이동합니다. 11.08.28 40 0
267475 좋은아버지형 소환됩니까? [4] 사람(58.234) 11.08.28 54 0
267474 아기갤이고 프갤이고 프로그래밍 제일 잘하는 갤은 [1] (61.102) 11.08.28 99 0
267473 아기갤에 가서 [3] 좋은아버지갤로그로 이동합니다. 11.08.28 45 0
267472 마지막 피방알바가 삼십분남앗다 [2] 서전트페퍼갤로그로 이동합니다. 11.08.28 52 0
267471 아기갤에 글쓰는걸 목표로 하쟈... [5] blackd갤로그로 이동합니다. 11.08.28 126 0
267469 형들 나 직업 바꿀까? 진심 고민된다. [4] 좋은아버지갤로그로 이동합니다. 11.08.28 74 0
267468 아기갤 쩌네.. 앞으로 프로그램 짜다 짜증나면 여기 가봐야 겠다.. [6] blackd갤로그로 이동합니다. 11.08.28 140 0
267465 그런데 프갤만 원래 훈훈한거야? [6] 좋은아버지갤로그로 이동합니다. 11.08.28 66 0
267464 으흐 내 대답이 빛을 발하고있다 [11] Agangs갤로그로 이동합니다. 11.08.28 80 0
267461 살춤아 대학원 궁금하냐? [9] blackd갤로그로 이동합니다. 11.08.28 185 0
267460 아하하하하하핳 TCP/IP 시-발 y녀6디리(218.146) 11.08.28 68 0
267459 ㅋㅋㅋㅋㅋ이럴때뭐라대답하지 [6] Agangs갤로그로 이동합니다. 11.08.28 65 0
267455 으으 지금 생각해보면 내가 대학원까지 가게될줄은 상상도 못했다 [22] System32갤로그로 이동합니다. 11.08.28 234 0
267454 성님들 php 질문 좀..도와주세요 (조공有) [21] 재경2갤로그로 이동합니다. 11.08.28 212 0
267452 쿄스케 형은 봅니다.2 [2] 좋은아버지갤로그로 이동합니다. 11.08.28 48 0
267447 정화짤은 이거지 [4] System32갤로그로 이동합니다. 11.08.28 99 0
267446 횽들은 이럴때어떻게해? [5] Agangs갤로그로 이동합니다. 11.08.28 67 0
267443 난 왜 정전 되면 글을 자꾸 싸지르고 싶어질까? [6] blackd갤로그로 이동합니다. 11.08.28 60 0
267439 나 낼 꼬꼬면 사먹어볼려고 하는데.. 정말 맛있냐? [7] blackd갤로그로 이동합니다. 11.08.28 87 0
267438 형 나 후불 교통카드 쓸려고 하는데 [8] 좋은아버지갤로그로 이동합니다. 11.08.28 64 0
267436 난 설마 온라인에도 왕따가 있을줄은 몰랐는데 말야... [8] blackd갤로그로 이동합니다. 11.08.28 101 0
267435 신세경 참 이쁜거 같아.jpg [4] blackd갤로그로 이동합니다. 11.08.28 154 0
267433 쿄스케 횽은 봅니다. [3] 좋은아버지갤로그로 이동합니다. 11.08.28 53 0
267432 요세 컴돌이 어그로 쩔던데.. 그래도 참 좋은 현상임.. [10] blackd갤로그로 이동합니다. 11.08.28 163 0
267431 음원 유출 되는거 보면 대부분 어떤경로 로 유출되는거지? [4] minsu갤로그로 이동합니다. 11.08.28 63 0
267430 어차피 세상은 될놈은 되고 안될놈은 안될지도 [5] ㅇㅇ(61.77) 11.08.28 62 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2