Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

자료구족발보쌈/0722

From ZeroWiki
  탈주자로 인하여 잠수함이 못내려가요. ~~더 무거워져야 될텐데..~~

참여자 명단

함장 장용운 11학번 도스마스
선원 천준현 15학번 행방불명
최지혁 출석
박인서 도스마스
이정재 고향
이원준 출석
조종현 장염
남헌 도스마스

수업

진행

  1. 장소 : 6층 학회실
  2. 시간 : 14시 ~ 17시

내용

보충. 스택과 큐 연습

  • 은행 관리 프로그램

~~탈주자들 안오면 잘라버리자~~

코드

예제1

  • 큐를 이용하여 은행에 저장된 사람이름, 계좌번호, 잔액을 입력받은 순서대로 나오게 작성하시오.

예제2

  • 스택을 이용하여 은행에 저장된 사람이름, 계좌번호, 잔액을 입력받은 순서의 반대로 나오게 작성하시오.

숙제

  1. 스택과 큐 복습하기

숙제 제출

천준현

최지혁

박인서

예제1

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

typedef struct bank{
	int money;
	int num;
	char * name;
}bank;

typedef struct node{
	bank val;
	struct node* next;
}node;

void push(node *);
void pop(node *);

int main()
{
	node head;
	int i;
	head.next=NULL;
	for(i=0;i<10;i++) push(&head);
	for(i=0;i<10;i++) pop(&head);
	return 0;
}

void push(node * target)
{
	node * newnode=(node *)malloc(sizeof(node));
	node * temp=target->next;
	int tmoney,tnum;
	char * tname=(char *)malloc(sizeof(char)*100);
	scanf("%s %d %d",tname,&tnum,&tmoney);
	newnode->val.name=tname;
	newnode->val.num=tnum;
	newnode->val.money=tmoney;
	target->next=newnode;
	newnode->next=temp;
}

void pop(node * target)
{
	node * kill=(node *)malloc(sizeof(node));
	if(target==NULL) abort();
	if(target->next->next==NULL)
	{
		printf("%s %d %d\n",target->next->val.name,target->next->val.num,target->next->val.money);
		kill=target->next;
		target->next=NULL;
		free(kill);
	}
	else pop(target->next);
}

예제2

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

typedef struct bank{
	int money;
	int num;
	char * name;
}bank;

typedef struct node{
	bank val;
	struct node* next;
}node;

void push(node *);
void pop(node *);

int main()
{
	node head;
	int i;
	head.next=NULL;
	for(i=0;i<10;i++) push(&head);
	for(i=0;i<10;i++) pop(&head);
	return 0;
}

void push(node * target)
{
	node * newnode=(node *)malloc(sizeof(node));
	node * temp=target->next;
	int tmoney,tnum;
	char * tname=(char *)malloc(sizeof(char)*100);
	scanf("%s %d %d",tname,&tnum,&tmoney);
	newnode->val.name=tname;
	newnode->val.num=tnum;
	newnode->val.money=tmoney;
	target->next=newnode;
	newnode->next=temp;
}

void pop(node * target)
{
	node * kill = target->next;
	printf("%s %d %d\n",target->next->val.name,target->next->val.num,target->next->val.money);
	if(target->next==NULL) abort();
	target->next=target->next->next;
	free(kill);
}

이정재

이원준

큐로 짬

(free따윈없다!)
  • 그러다 정말로 자유가 없어짐 - 박인서
#include<stdlib.h>


typedef struct node{
	char v;
	struct node* next;
}node;

typedef struct account{
	
	node namehd;

	node anumhd;

	struct account* next;

}account;



void push(node*, char*);
account* acpush(account* hd);
void freeAll(node*);


int l = 10; //고객수

void main(){
	
	account ac = { NULL };
	account* tmp = &ac;
	account* pt = (account*)malloc(sizeof(account));


	char a;

	pt = &ac;
	for (int i = 0; i < l; i++)
	{
		printf("이름입력하3\n");
		for (int j = 0; 1; j++){
			a = fgetc(stdin);
			if (a == '\n') break;
			push(&(pt->namehd), &a);
		}


		printf("번호입력하3\n");
		for (int j = 0; 1; j++){
			a = fgetc(stdin);
			if (a == '\n') break;
			push(&(pt->anumhd), &a);


		}
		printf("\n");
		pt = acpush(pt);
		pt->anumhd.next = NULL;
		pt->namehd.next = NULL;
		pt->next = NULL;
	}
	

	pt = &ac;
	
	printf("----출력----\n");
	for (int i = 0; i < l; i++){
		printf("이름\n");
		freeAll(&(pt->namehd));
		printf("\n");

		printf("계좌\n");	
		freeAll(&(pt->anumhd));
		printf("\n");
		printf("\n");
		pt = pt->next;
	}

}



void push(node* hd, char* val){
	node* tmp = (node*)malloc(sizeof(node));
	node* pt = (node*)malloc(sizeof(node));

	pt = hd;
	while (pt->next != NULL)
	{
		pt = pt->next;
	}
	tmp->next = NULL;
	tmp->v = *val;

	pt->next = tmp;
	pt = pt->next;
}

account* acpush(account* ac){
	
	account* tmp = (account*)malloc(sizeof(account));

	tmp->next = NULL;

	ac->next = tmp;
	return ac->next;
}


void freeAll(node* hd){
	node* ntp;
	node* tmp = hd;
	while (hd->next != NULL){
		ntp = hd->next;
		printf("%c", ntp->v);
		ntp = ntp->next;
		hd->next = ntp;
	}
	hd = tmp;
}

스택으로 짠거

그런거 없음

조종현

남헌



활동지도/2015 자료구족발보쌈