Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Chương trình tính lương tháng trên C

  1. #1
    Ngày gia nhập
    08 2008
    Bài viết
    2

    Mặc định Chương trình tính lương tháng trên C

    Mấy anh giúp em
    Đề Tính lương cuối tháng của nhân viên
    Lương : nhập từ bàn phím
    Trợ cấp:
    . A : 300
    . B : 250
    . loại khác : 100
    Đây là bài của em
    Code:
    # include <stdio.h>
    # include <conio.h>
    void main ()
    	{
    		int a,c;
    		char b;
    		clrscr ();
    		printf (" Nhap vao luong cuoi thang ");
    		scanf ("%d", &a);
    		printf (" Nhap vao loai nhan vien (loai A: a, loai B: b, loai khac: c) \n");
    		scanf ("%c", &b);
    		switch (b)
    		{
    			case 'a':
    			{
    				printf (" tro cap cua nhan vien la 300 \n");
    				c=a+300;
    				printf (" luong cuoi thang cua nhan vien la : %d \n",c);
    			}
    			break;
    			case 'b':
    			{
    				printf (" tro cap cua nhan vien la 250 \n");
    				c=a+250;
    				printf (" luong cuoi thang cua nhan vien la : %d \n",c);
    			}
    			break;
    			case 'c':
    			{
    				printf (" tro cap cua nhan vien la 100 \n");
    				c=a+100;
    				printf (" luong cuoi thang cua nhan vien la : %d \n",c);
    			}
    			break;
    			default:
    			printf (" ban da nhap sai ki tu \n");
    			break;
    		}
    
    		getch ();
    	}
    nếu em đổi đoạn
    printf (" Nhap vao loai nhan vien (loai A: a, loai B: b, loai khac: c) \n");
    scanf ("%c", &b);
    lên trước đoạn
    printf (" Nhap vao luong cuoi thang ");
    scanf ("%d", &a);
    thì chạy bình thường ( đúng 100%)
    nhưng khi đảo ngược lại thì vẫn chạy nhưng nó bỏ mất phần scanf ("%c", &b); và kết thúc chương trình luôn.
    Mấy anh giải thích giùm em với. thank nhìu

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,006

    1.
    PHP Code:
              printf (" luong cuoi thang cua nhan vien la : %d \n",c); 
    cái dòng này tại sao lại được viết đi viết lại 3 lần trong 1 bài ? như thế là thừa thãi

    2. việc scanf %c bị trôi là kiến thức cực kì cơ bản , tham khảo tại đây : http://forums.congdongcviet.com/showthread.php?t=9236 .

    Có thể thêm fflush(stdin) vào trước scanf %c để ko bị trôi


    3. bố cục lại cho nó văn minh hơn :
    PHP Code:
    #include <stdio.h>
    #include <conio.h>


    void main ()
        {
            
    int luong,temp;
            
    char y;
            
    clrscr ();
            
    printf (" Nhap vao luong cuoi thang : ");
            
    scanf("%d",&luong);
            
    printf(" Nhap vao loai nhan vien (loai A: a, loai B: b, loai khac: c) \n");
            
    fflush(stdin);
            
    scanf("%c",&y);
            switch (
    y)
            {
                case 
    'a':temp=300;break;
                case 
    'b':temp=250;break;
                case 
    'c':temp=100;break;
                default :
    temp=0;break;
            }
            if (
    temp)
                {
                    
    printf (" tro cap cua nhan vien la %d \n",temp);
                    
    printf (" luong cuoi thang cua nhan vien la : %d \n",luong+temp);
                }
            else 
    printf("Ban da nhap sai ");
            
    getch ();
        } 

    4. các dấu cách bạn đặt ko có logic tí nào. ví dụ như ở chỗ nào printf (" l....
    Đã được chỉnh sửa lần cuối bởi langman : 01-06-2009 lúc 12:26 PM.
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

  3. #3
    Ngày gia nhập
    08 2008
    Bài viết
    2

    PHP Code:
    if (temp
    là thế nào mình chưa hiểu, bạn có thể giải thích giùm mình được ko ? thông thường mình thấy if theo sau phải là một sự so sánh chứ

  4. #4
    Ngày gia nhập
    05 2009
    Bài viết
    25

    Trích dẫn Nguyên bản được gửi bởi pham_minh7 Xem bài viết
    PHP Code:
    if (temp
    là thế nào mình chưa hiểu, bạn có thể giải thích giùm mình được ko ? thông thường mình thấy if theo sau phải là một sự so sánh chứ

    cái đó có nghĩa là nếu temp đúng tức là khác 0, ở đây là các giá trị 250, 300 ...
    viết đầy đủ thì là thế này
    Code:
    if (temp!=0)
    đây là cách viết tắt ám chỉ biểu thức điều kiện đúng thì làm công việc

Các đề tài tương tự

  1. Lập trình C++ lỗi khi viết trên dev c, còn trên cfree chạy bình thường
    Gửi bởi truongvantri trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 26-10-2013, 03:34 PM
  2. Trả lời: 30
    Bài viết cuối: 15-02-2012, 07:03 PM
  3. Lập trình Socket trên C++ có thể giao tiếp chương trình Java trên Server được ko các
    Gửi bởi jacobkruse trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 18-11-2010, 11:10 PM
  4. Source code build trên Ubuntu có chạy được Trên Linux Kernel không ?
    Gửi bởi trần trân trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 0
    Bài viết cuối: 03-11-2010, 09:22 AM
  5. Lưu dữ liệu để trống trên một cell của datagirdview trên csdl Access như thế nào?
    Gửi bởi hvcuongit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 27-05-2009, 04:21 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn