Cách dừng chương trình để xem kết quả

nếu bỏ thư viện <stdlib.h> và return() đi được không anh??

e cũng mới thử đây này a

Em có thấy một ông nào đó trên mạng, bảo là không nên dùng system("pause"), vì nó vô nghĩa, rồi blah blah gì đó nữa.
Ổng khuyên xài getch() đối với C và cin.get() với C++

1 Like

getch() là cái của thư viện ngoài. Chính nó mới là không nên dùng.
Thông thường bây giờ codeblock hoặc dev-C đều đã có chế độ tự động dừng màn hình, nếu bản cũ không có thì dùng system là chuẩn rồi.
Trong linux thì tự dừng luôn không cần làm gì thêm cả.

http://www.gidnetwork.com/b-61.html
link đây ạ

Tất cả các kiểu trên đều không đúng chuẩn của lập trình cơ bản rồi.
Một chương trình không đồ hoạ, chính xác là phải được thực thi ở màn hình command line (hay còn gọi là Console, Terminal). Các lệnh trên các bạn thêm vào code là đang tự chính bạn là polluted code. Trừ khi là ứng dụng có giao diện (GUI app), còn không thì đừng cứ click đúp vào file executable (.exe trên Windows chẳng hạn).

Bật command line lên, build xong thì gõ lệnh cho nó chạy

C:\>program.exe

Thế mới là chính xác.

@ltd Làm một cái video trong C/C++ về “Thực thi một ứng dụng không giao diện một cách chính xác nhất” đi

6 Likes

Được anh, em thấy cái này hợp lý. Ngày đi học em không được mọi người hướng dẫn như thế.

3 Likes

anh ơi cho em hỏi dừng chương trình này thế nào ạ

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
typedef struct Node
{
	int info;
	struct Node *pNext; 
}Node;
typedef struct Node pp;
struct List{
	pp *pHead;
	pp *pTail;
};
typedef struct List LIST;
void Init (List &L)
{
	L.pHead = L.pTail = NULL;
}	
pp * GetNode(int x)
{
	pp *p =new pp;
	if(p==NULL)
	{
		return NULL;
	}
	else
	p->info = x;
	p->pNext = NULL;
	return p;
}
void AddHead(LIST &L,pp *p)
{
	if (L.pHead == NULL)
	{
		L.pHead = L.pTail = p;
	}
	else
	p->pNext = L.pHead;
	L.pHead = p;
}
void AddTail(LIST &L, pp *p)
{
	if (L.pHead == NULL)
	{
		L.pHead  = L.pTail = p;
	}
	else
	L.pTail->pNext = p;
	L.pTail = p;
}
void Input (LIST &L)
{
	int i,n,x;
	char a;
	Init(L);
	for ( i = 1; i <= n; i++)
	{
	printf("\n nhap phan tu : ");
	scanf ("%d",&x);
	pp *p = GetNode(x);
	if (x != '#') ;	
}
while (x != '#');
}
void Output(LIST &L)
{
	for (pp *p = L.pHead; p != NULL; p = p->pNext)
	{
		printf("%4d", p->info);
	}
}
int main()
{
	LIST L;
	Input(L);
	Output(L);
	getch();
	return 0;
}
	
	

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?