Giới thiệu

Với mục đích chia sẻ để cuộc sống tốt đẹp hơn, blog sẽ chia sẻ tất cả những gì có thể. Nội dung blog bao gồm những gì có được trong quá trình học tập, làm việc về IT mà mình đã trải qua. Cụ thể là các thủ thuật, các lưu ý, các hướng dẫn đơn giản và nâng cao theo từng chuyên mục. Ngoài ra thỉnh thoảng hứng lên cũng viết hoặc sưu tầm một số lời hay ý đẹp, kinh nghiệm cuộc sống.

Các bài viết trên Blog chỉ mang tính chất tham khảo. Nếu có bất cứ sai sót nào trong các bài viết xin vui lòng để lại bình luận hoặc gửi thư cho mình qua Gmail bên dưới. Rất vui khi được sự ủng hộ của các bạn!


NGUYỄN VĂN QUÂN
Gmail: nguyenvanquan7826@gmail.com
Địa chỉ: Thuận Thành – Bắc Ninh

77 responses on Giới thiệu

  1. a giup em bai nay duoc khong a!
    Cho một tệp văn bản, mỗi dòng chứa một xâu dạng biểu thức chỉ gồm các phép toán +, –

    – Viết hàm tính giá trị của một biểu thức dạng xâu chỉ gồm hai phép toán +, -chẳng hạn: tính giá trị của biểu thức: -12 + 13 + 14 – 15

    – Áp dụng hàm trên viết hàm tính giá trị của các biểu thức đọc ra từ tệp trên. Kết quả in ra màn hình theo dạng:

    Biểu thức Kết quả

    – Viết hàm main sử dụng các hàm trên

    1. Bài này bạn muốn làm theo ngôn ngữ nào?, bạn đang bị mắc phần nào? (tính toán hay là nhập xuất file?).
      Đây là code mình đã test, bạn có thể tham khảo nhưng nên biết rõ phần nào chưa làm được.

          #include <stdio.h>
          #include <stdlib.h>
          #include <string.h>
          int cal(char s[])
          {
                  char str [1000];
                  int a, sum = 0;
                  int i=0, l= strlen(s);
                  while (i < l)
                  {
                          if (s[i] == '+') i++;
                          sscanf(s + i, "%d", &a);        // lay tung so trong chuoi
                          sum += a;
                          sprintf(str, "%d", a);          // doi so a ra chuoi str de xac dinh vi tri i
                          i += strlen(str);
                  }
                  return sum;
          }
           
          int main()
          {
                  char s[1000], ch;
                  int result;
                  FILE *f = NULL;
                  f=fopen("input.inp","rt");
                  if (f==NULL)
                  {
                          printf("Error opening file");
                          return 0;
                  }
                  while((fscanf(f,"%s%c",&s,&ch)!=EOF))
                  {
                          result = cal(s);
                          printf("%s = %dn", s, result);
                  }
                  return 0;
          }
      
    1. Xin lỗi vì trả lời bạn hơi muộn! Nếu bạn viết được bằng C# thì với C có gì đâu nhỉ?
      Bạn có thể tham khảo code sau (mới có 4 tỉnh, bạn viết nốt các tỉnh còn lại vào mảng tinh là được):

      #include <stdio.h>
      #include <stdlib.h>
      char *tinh[] = {"", "", "", "", "", "", "", "", "", "", "", "Cao Bang", "Lang Son", "Bac Giang", "Quang Ninh"};
        
      int main() {
      	int bien;
      	printf("Nhap vao bien so ");
      	scanf("%d", &bien);
      	if (bien > 10 && bien < 100) 
      		printf("Xe nay thuoc tinh %s", tinh[bien]);
      	return 0;
      }
      

      Tham khảo thêm: biển số xe các tỉnh

      1. Mình không dùng neatbean nên không biết, bạn tự tìm hiểu hoặc chuyển sang eclipse mà dùng nhé. Còn về chức năng thì bạn thấy thừa cứ việc bỏ đi, lấy những gì bạn cần thôi 🙂

      1. mình chạy bằng netbean mà không được. vì mới học java nên mình cũng không rành lắm, có chi bạn hướng dẫn mình xíu nghe. vì đang làm đồ án mà không biết bắt đầu từ đâu cả

  2. A giúp e vs ạ e cần gấp mai là nộp rồi!
    – Viết hàm “tính giá trị 1 biểu thức” đơn giản để tính giá trị 1 biểu thức có phép tính + – * / không xét độ ưu tiên, tính từ trái sang phải.

    1. Bài kia viết bằng C++, toàn thư viện hay dùng mà.
      Thì bạn cứ tính từ trái qua phải ấy, lấy 2 số rồi tính, rồi lại lấy 2 số tính tiếp…

  3. anh ơi!em đang học java và viết game pikachu nhưng em k biết bắt đầu như thế nào?em có đọc code trên mạng nhưng vẫn còn lơ mơ ạ.anh giúp em với ạ

  4. Anh Nguyễn Văn Quân ơi,
    nhờ anh giúp đỡ, e có bài tập đồ họa máy tính đề: “Hiển thị chữ nổi trên màn hình đồ họa “(bằng Dev C). Cám ơn anh nhiếu.

  5. a Quân chỉ e cách đọc file gồm hoten và diem để đưa vào danh sách liên kết với ak.dùng bằng c++

    file có dạng

    dinh viet ung 9
    vu van dat 8
    phan thi nga 8

    1. Đọc từng dòng, gán vào từng trường của struct thôi bạn.
      Còn cách đọc file thì vd đơn giản:

      // reading a text file
      #include <iostream>
      #include <fstream>
      #include <string>
      using namespace std;
      
      int main () {
        string line;
        ifstream myfile ("example.txt");
        if (myfile.is_open())
        {
          while ( getline (myfile,line) )
          {
            cout << line << '\n';
          }
          myfile.close();
        }
      
        else cout << "Unable to open file"; 
      
        return 0;
      }
      

      Chi tiết nhập xuất file xem ở đây: http://www.cplusplus.com/doc/tutorial/files/

        1. Việc tách thì đơn giản, có vấn đề gì đâu. Bạn duyệt từ cuối chuỗi đến đầu chuỗi, tìm vị trí mà kết thúc của số rồi cắt nó ra.
          VD:dinh viet ung 9
          có 15 ký tự, duyệt từ cuối về đầu tìm được vị trí 13 ko phải số, cắt từ 0->13, từ 13->14 là xong

          1. đấy là ví dụ đơn giản nhưng giả sử file của e mỗi dòng gồm họtên ngàysinh điểm tuổi thì tách như thế nào ah

      1. bài đấy em làm đc r anh ạ:D giờ em đang học danh sách liên kết , cho em hỏi *list=(*list)->next nghĩa là gì hả anh(list là con trỏ anh ạ), nó có giống với list=list->next k ạ

  6. cho em hỏi tại sao loại không thể setLayout (null) cho panelButton và panelTableStudent thế ạ.
    bình thường em setLayout(null) sau đó các button sẽ setBounds(x, y, l, r); nhưng tại sao trường hợp này lại không được ạ. cais tableStudent cungx nhuw maays cais button. setBounds(x, y, l, r); deeuf ko dduowcj maf phaiur setLayout(Gridlayout());
    Anh giair thichs giumf em nhes. thanks anh.

    	private JPanel createPanelTableApp() {
    		panelTableApp = new JPanel();
    		panelTableApp.setLayout(null);
    		panelTableApp.setBounds(25, 25, 550, 700);
    		panelTableApp.setBorder(BorderFactory.createTitledBorder(null, null, TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION));
    		panelTableApp.add(createPanelTextField());
    		panelTableApp.add(createPanelButton());
    		panelTableApp.add(createPanelTableStudent());
    		return panelTableApp;
    	}
    	
    	private JPanel createPanelTextField() {
    		panelTextField = new JPanel();
    		panelTextField.setLayout(null);
    		panelTextField.setBounds(25, 25, 550, 250);
    		panelTextField.setBorder(BorderFactory.createTitledBorder(null, null,TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION));
    		panelTextField.add(createLabelIDStudent());
    		panelTextField.add(createLabelNameStudent());
    		panelTextField.add(createLabelAddressStudent());
    		panelTextField.add(createTextFieldIDStudent());
    		panelTextField.add(createTextFieldNameStudent());
    		panelTextField.add(createTextFieldAddressStudent());
    		return panelTextField;
    	}
    	
    	private JPanel createPanelButton() {
    		panelButton = new JPanel();
    		panelButton.setLayout(new GridLayout(1, 0, 10, 0));
    //		panelButton.setLayout(null);
    		panelButton.setBounds(25, 300, 550, 25);
    		panelButton.setBorder(BorderFactory.createTitledBorder(null, null,TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION));
    		panelButton.add(createButtonPush());
    		panelButton.add(createButtonPop());
    		panelButton.add(createButtonPopAll());
    		panelButton.add(createButtonUpdate());
    		panelButton.add(createButtonSearch());
    		panelButton.add(createButtonSelect());
    		return panelButton;
    	}
    	
    	private JPanel createPanelTableStudent() {
    		panelTableStudent = new JPanel();
    		panelTableStudent.setLayout(new GridLayout());
    		panelTableStudent.setBounds(25, 360, 550, 350);
    		panelTableStudent.setBorder(BorderFactory.createTitledBorder(null, null, TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION));
    		panelTableStudent.add(new JScrollPane(createTableStudent()));
    		return panelTableStudent;
    	}
    	
    	private JLabel createLabelIDStudent() {
    		labelIDStudent = new JLabel("ID");
    		labelIDStudent.setBounds(25, 35, 75, 25);
    		return labelIDStudent;
    	}
    	
    	private JLabel createLabelNameStudent() {
    		labelNameStudent = new JLabel("Name");
    		labelNameStudent.setBounds(25, 115, 75, 25);
    		return labelNameStudent;
    	}
    	
    	private JLabel createLabelAddressStudent() {
    		labelAddressStudent = new JLabel("Address");
    		labelAddressStudent.setBounds(25, 190, 75, 25);
    		return labelAddressStudent;
    	}
    	
    	private JTextField createTextFieldIDStudent() {
    		textFieldIDStudent = new JTextField();
    		textFieldIDStudent.setBounds(125, 25, 375, 50);
    		return textFieldIDStudent;
    	}
    	
    	private JTextField createTextFieldNameStudent() {
    		textFieldNameStudent = new JTextField();
    		textFieldNameStudent.setBounds(125, 100, 375, 50);
    		return textFieldNameStudent;
    	}
    	
    	private JTextField createTextFieldAddressStudent() {
    		textFieldAddressStudent = new JTextField();
    		textFieldAddressStudent.setBounds(125, 175, 375, 50);
    		return textFieldAddressStudent;
    	}
    		
    	private JButton createButtonPush() {
    		buttonPush = new JButton("Push");
    //		buttonPush.setBounds(25, 305, 50, 15);	
    		return buttonPush;
    	}
    	
    	private JButton createButtonPop() {
    		buttonPop = new JButton("Pop");
    //		buttonPop.setBounds(85, 305, 50, 15);
    		return buttonPop;
    	}
    	
    	private JButton createButtonUpdate() {
    		buttonUpdate = new JButton("Update");
    //		buttonPUpdate.setBounds(145, 305, 50, 15);
    		return buttonUpdate;
    	}
    	
    	private JButton createButtonSearch() {
    		buttonSearch = new JButton("Search");
    //		buttonSearch.setBounds(205, 305, 50, 15);
    		return buttonSearch;
    	}
    
    	private JButton createButtonPopAll() {
    		buttonPopAll = new JButton("Pop - All");
    //		buttonPopAll.setBounds(265, 305, 50, 15);
    		return buttonPopAll;
    	}
    
    	private JButton createButtonSelect() {
    		buttonSelect = new JButton("Select");
    //		buttonSelect.setBounds(325, 305, 50, 15);
    		return buttonSelect;
    	}
    
  7. A ơi cho e hỏi tí! anh có bài demo nào về test unit không ạ?e đọc thông tin thấy anh ghi tiểu sử ở lớp KTPM nên mạo muội hỏi ạ!
    Em đang định test code máy tính bỏ túi nhưng chưa biết hướng ạ?
    Mong anh chỉ giáo thêm ạ.

  8. anh ơi cho em hỏi??Tại sao em dowload code game pikachu về em mở bằng netbean mà không được vậy anh?Anh chỉ giúp em với….!!
    Khi vào mở code nó báo là không có Project Name để hiển thị á anh…

  9. int cal(char s[])
    {
    char str [1000];
    int a, sum = 0;
    int i=0, l= strlen(s);
    while (i < l)
    {
    if (s[i] == '+') i++;
    sscanf(s + i, "%d", &a); // lay tung so trong chuoi
    sum += a;
    sprintf(str, "%d", a); // doi so a ra chuoi str de xac dinh vi tri i
    i += strlen(str);
    }
    return sum;
    }
    bạn Quân cho mình hỏi nếu s[i] mà gặp dấu – (trừ ) thì hàm sscanf sẽ xử lý làm sao ạ?

  10. Anh ơi..!!! Giúp em vấn đề về Android này với ạ..
    Em có làm một bài tập xong xuôi, ổn thoả rồi gửi phần thư mục Project cho thầy, giờ em thử tải nó về lại chạy thử thì nó bị lỗi như này:
    Process ‘command ‘/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin/java” finished with non-zero exit value 1
    Liệu rằng lỗi này do máy em hay do bài em làm..? Em sợ bài em hỏng quá… Thầy chạy k được là đi luôn…

Trả lời

Nguyenvanquan7826 rất mong muốn các bạn để lại những phản hồi đóng góp ý kiến, thắc mắc cho bài viết cũng như cho Blog. Nhưng mọi phản hồi mang tính chất nhờ giải hộ bài tập đều bị xóa thẳng tay và không phản hồi lại!