[ create a new paste ] login | about

Link: http://codepad.org/NydptRe0    [ raw code | output | fork ]

C, pasted on May 6:
/* Câu 1  . 637.cpp */

/*						Cấu Trúc Dữ Liệu		
					BÀI TẬP THỰC HÀNH GIỮA KỲ
							Đề 2
				|-------------------------------------------------------------|
				|	Họ Tên Sinh Viên : Nguyễn Việt Nam Sơn                    |
				|	Mã Số Sinh Viên  : 1261031								  |
				|	Lớp				 : 12CK1								  |
				|	Đề Số            : 2 								      |													  
				|-------------------------------------------------------------|		
																					*/

/*		Đề bài:
	Cho cấu trúc Phân số gồm các thông tin sau:
		+ tử số: kiểu số nguyên
		+ mẫu số: kiểu số nguyên
	Viết chương trình thực hiện công việc sau:
	1. Nhập vào 1 danh sách liên kết (l) gồm n phân số với n được nhập từ bàn phím. 
	   Xuất thông tin của n phân số có trong danh sách (l) ra màn hình.
	
	2. Cho phép nhập vào 1 phân số k, xuất tất cả những phân số trong danh sách (l) 
	   có giá trị nhỏ hơn phân số k.

	3. Rút gọn các phân số có trong danh sách (l), xuât danh sách các phân số sau khi 
	   đã rút gọn.
																										*/
/* 

Tác giả: Nguyễn Việt Nam Sơn
Trung tâm đào tạo tin học - Thiết kế phần mềm - Sơn Đẹp Trai: www.SonDepTrai.com

Nguồn source code này Tôi viết vào năm 2012 lúc mới bắt đầu học lập trình C/C++ nên một số cách sẽ không được tối ưu - Bạn chỉ nên dùng trên tinh thần tham khảo thôi nhé.
Mong giúp đỡ được Bạn trên con đường Học Lập Trình.
TẤT CẢ VÌ SỰ THÀNH CÔNG CỦA BẠN

*/
/* =============================== Các thư viện =================================== */
#include<stdio.h>
#include<conio.h>
#include<Windows.h>
/* =================================================================================*/

/* =============== Khai báo cấu trúc dữ liệu cho danh sách liên kết đơn các phân số ============== */
struct phanso
{
	int tuso;
	int mauso;
};
typedef struct phanso PHANSO;

struct node
{
	PHANSO Data;
	struct node*pNext;
};
typedef struct node NODE;

struct list
{
	NODE*pHead;
	NODE*pTail;
};
typedef struct list LIST;
/* ================================================================================================ */

/* ========================= Khởi tạo danh sách liên kết đơn ============================ */
void INit(LIST &l)
{
	l.pHead=NULL;
	l.pTail=NULL;
}
/* ==================================================================================== */

/* =======================Tạo Node trong danh sách liên kết đơn các phân số ======================== */
NODE*getnode(PHANSO x)
{
	NODE*p;
	p=new NODE;
	if(p==NULL)
		return NULL;
	p->Data=x;
	p->pNext=NULL;
	return p;
}
/* ===================================================================================== */

/* ===================================Thêm vào cuối danh sách ====================================== */
void AddTail(LIST &l,NODE *new_ele)
{
	if(l.pHead==NULL)
	{
		l.pHead=new_ele;
		l.pTail=l.pHead;
	}
	else
	{
		l.pTail->pNext=new_ele;
		l.pTail=new_ele;
	}
}
/* ========================================================================================= */

/* ==================== Nhập dữ liệu danh sách liên kết đơn các phân số ===================== */
void InPut(LIST &l)
{
	int n;
	quaylai:printf("\nNhap so luong cac phan so:");
	scanf("%d",&n);
	if(n<0)
	{
		printf("\nSo ban nhap vao khong hop le!Xin vui long nhap lai!");
		goto quaylai;
	}
	INit(l);
	for(int i=1;i<=n;i++)
	{
		PHANSO x;
		printf("\n>>>>>>>>>>>>>>>>>>Moi ban nhap vao phan so thu:%d<<<<<<<<<<<<<<<<<",i);
		printf("\n");
		printf("\nNhap vao tu so cua phan so thu %d:",i);
		scanf("%d",&x.tuso);
		do{
			printf("\nNhap vao mau so cua phan so thu %d:",i);
			scanf("%d",&x.mauso);
			if(x.mauso==0)
			{
				printf("\nMau so khong hop le!Xin vui long nhap lai!");
			}
		}while(x.mauso==0);
		if(x.mauso<0)
		{
			x.tuso=x.tuso*-1;
			x.mauso=x.mauso*-1;
		}
		NODE*p=getnode(x);
		AddTail(l,p);
	}
}
/* ========================================================================= */

/* ===================== Xuất danh sách liên kết đơn các phân số =============================== */
void OutPut(LIST l)
{
	int dem=0;
	printf("\n>>>>>>>>>>>>>>>>>>Xuat Ra Cac Phan So:<<<<<<<<<<<<<<<<<<<<<<<<\n");
	printf("\n");
	for(NODE*p=l.pHead;p!=NULL;p=p->pNext)
	{
		dem++;
		printf("\nPhan so thu %d La:%d/%d",dem,p->Data);
	}
}
/* ================================================================================== */

/* ====================================== Main ============================================= */
void main()
{
	LIST lst;
	int tieptuc;
	quaylai:printf("\n>>>>>>>>>>>>>>>>>>>>>Nhap List:<<<<<<<<<<<<<<<<<<<<<<<<\n");
	InPut(lst);
	printf("\n");
	printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Xuat List:<<<<<<<<<<<<<<<<<<<<<<<<\n");
	OutPut(lst);
	printf("\n");
	printf("\nBan co muon tiep tuc thuc hien chuong trinh hay khong ? Neu co bam phim C,nguoc lai bam bat ky 1 phim nao khac de ket thuc!");
	tieptuc=getch();
	if(tieptuc=='c'||tieptuc=='C')
	{
		system("cls");
		goto quaylai;
	}
}
/* ====================================== THE END ======================================================= */


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Line 17: error: conio.h: No such file or directory
Line 19: error: Windows.h: No such file or directory
Line 68: error: expected ';', ',' or ')' before '&' token
In function 'getnode':
Line 79: error: 'new' undeclared (first use in this function)
Line 79: error: (Each undeclared identifier is reported only once
Line 79: error: for each function it appears in.)
Line 79: error: expected ';' before 'NODE'
t.c: At top level:
Line 89: error: expected ';', ',' or ')' before '&' token
Line 105: error: expected ';', ',' or ')' before '&' token
In function 'OutPut':
Line 148: error: 'for' loop initial declaration used outside C99 mode
In function 'main':
Line 158: warning: return type of 'main' is not 'int'


Create a new paste based on this one


Comments: