30/09/2018, 19:34

Hỏi về ngôn ngữ C cơ bản

Tôi có 2 chương trình là “chuongtrinh1.c” và “chuongtrinh2.c”.
Giờ tôi muốn làm 1 chương trình thứ 3 tên là “chuongtrinh0.c”.
Trong chương trình thứ 3, tôi muốn nó chạy như sau:
Hiển thị câu hỏi: Bạn muốn chạy chương trình 1 hay chương trình 2?
Nhận giá trị vừa nhập. Nếu là 1 thì chạy chương trình 1, nếu là 2 thì chạy chương trình 2.

Câu hỏi của tôi là liệu C có thể làm được như thế không? Tôi không biết cái này search google với từ khóa nào hay câu lệnh nào.

Tôi xin trân trọng cám ơn trước.

Chung viết 21:35 ngày 30/09/2018

Bình luận một cái cho bài viết lên trên đầu.
Đồng thời tôi cũng muốn hỏi thêm một câu hỏi:
Tôi có 2 biến là:

char string[2]="15";
int integer=14;

Giờ tôi muốn so sánh hoặc cộng 2 số 15 với 14 thì có câu lệnh nào nhanh không?

Trần Hồng Phong viết 21:39 ngày 30/09/2018
  1. Có thể cho mình biết mục đích cuối cùng là để làm gì không?

  2. Dùng atoi để convert string to int

Trọng Phú viết 21:41 ngày 30/09/2018

Hiển thị câu hỏi: Bạn muốn chạy chương trình 1 hay chương trình 2?Nhận giá trị vừa nhập. Nếu là 1 thì chạy chương trình 1, nếu là 2 thì chạy chương trình 2.

cái này thì chỉ cần đề ra mấy cái hàm rồi trong main cho thêm switch case là được mà, làm gì mà phải phức tạp hoá vấn đề lên thế thím

Chung viết 21:48 ngày 30/09/2018
  1. Không.
  2. Tôi cám ơn bạn rất nhiều.
Chung viết 21:42 ngày 30/09/2018

Tôi chỉ muốn tò mò thêm về khả năng của C thôi chứ không dùng cái gì liên quan đến vấn đề này cả.
Dù âo cũng cám ơn đã đọc và bình luận.

Kodeguru viết 21:45 ngày 30/09/2018

Mình xin trả lời câu hỏi của bạn chung1905 là hoàn toàn có thể làm được. Trước hết mình muốn biết bạn lập trình c trên hệ điều hành nào Linux, hay Windows vì để làm việc này bạn cần dùng một hàm để gọi các câu lệnh hệ thống và 2 hệ điều hành này sử dung các câu lệnh hệ thống khác với nhau.
Bạn có thể search google bằng từ khóa “running bash command in c” cho Linux hay “running cmd command in c” cho windows.

Mình xin hướng dẫn mẫu trên windows như sau.

B1: Trước tiên bạn cần biên dịch cả 2 file chuongtrinh1.c và chuongtrinh2.c trên thành file chuongtrinh1.exe và chuongtrinh2.exe có thể thực thi được (trên Linux thì file thực thi không có phần đuôi mở rộng)
B2: Bạn nên để cả 2 file .exe vừa được biên dịch trong cùng một thư mục với file chuongtrinh0.c
B3: Bạn dùng hàm system() để gọi file exe mà bạn vừa biên dịch ở trên.
VD. system(“chuongtrinh1.exe”) hay system(“chuongtrinh2.exe”).

Hàm system nằm trong thư viện stdlib.h

yoyo viết 21:40 ngày 30/09/2018

Đồng ý với bạn quan, chỉ comment thêm là đây là khả năng quản lý process của hệ điều hành chứ không phải khả năng của c, còn nếu bạn có hứng thú tìm hiểu hơn thì có thể nghiên cứu về cơ chế vector nhảy của kiến trúc vi xử lý, nó cũng có sẵn hai chương trình đã build sẵn, bạn ấn nút để chọn nhảy trực tiếp vào vùng nhớ nào để chạy đoạn code chương trình đó, cơ chế để tạo ra bootloader.

Bài liên quan
0