|  | 
	                  
  
    | 
        แก้ โจทย์ ภาษา C ไม่ผ่านครับ ติดตรง getchar อะครับ ทำอย่างไรก็ไม่ผ่าน     |  
    |  |  
 
	
		|  |  |  |  |  
		|  |  | 
          
            | แก้ โจทย์ ภาษา C ไม่ผ่านครับ ติดตรง getchar อะครับ ทำอย่างไรก็ไม่ผ่าน 
 คือผม เขียนโปรแกรมเสร็จแล้วอะครับแต่ติดตรงที่ บรรทัดในรูปนะครับ
 
 
 
  
 
 **
 คือผมไม่ได้มีปัญหากับส่วนอื่นเลยนะครับแต่ติดตรงที่ช่อง television มันไม่ให้ผมพิมอะครับ
 คือมันจะข้ามไปให้พิมช่อง telephone ตลอดเลยครับ
 
 
 
 อันนี้โจทย์นะครับ*
 
 โรงพยาบาลแห่งหนึ่งต้องการโปรแกรมเพื่อคานวณใบเสร็จของผู้ป่วยที่เข้ามารับการรักษา โดยการค่าใช้จ่ายในแต่ละวันมีดังนี้
 – ค่าห้องพัก มีดังนี้
 • ห้องพิเศษเดี่ยว(Private room : P) 1500 บาท / วัน
 • ห้องพิเศษรวม(Semi-Private room : S) 1000 บาท / วัน
 • ห้องรวม(Ward : W) 700 บาท / วัน
 – ค่าโทรศัพท์ 120 บาท / วัน
 - ค่าโทรทัศน์ 150 บาท / วัน
 คานวณการเข้าพักค้างคืนในโรงพยาบาลแห่งหนึ่ง โดยรับข้อมูลรหัสห้องพัก(P/S/W) สถานะของการใช้งานโทรศัพท์(Y/N) สถานะของการใช้งานโทรทัศน์(Y/N) และ จานวนวันที่เข้าพัก
 
 
 --------------------------------------
 --------------------------------------
 
 ชื่อตัวแปรครับ
 
 - rmcode = รหัสห้องพัก
 - uphone = สถานะการใช้โทรศัพท์
 - utv = สถานะการใช้โทรทัศน์
 - rmname[20] = ชื่อห้องพัก
 - day = จำนวนวันที่เข้าพัก
 - tphone = รวมราคาค่าโทรศัพท์
 - ttv = รวมราคาค่าโทรทัศน์
 - troom = ราคาห้องพัก
 - sroom = รวมราคาห้อง
 - total = ราคาสุทธิ
 
 
 
 ======================================
 
 
 Code (C)
 
 
#include <stdio.h>
#include <conio.h> 
#include <string.h>
#include <ctype.h>
main()
{
	int day;
	char rmname[20],rmcode , uphone , utv;
	float ttv, tphone , troom , sroom , tot;
	
	
	printf("< - - - - - - - - - - - - > \n");
	printf("Input room type(P/S/C) > ");
	scanf("%c" , &rmcode);
	
	printf("\nInput television(Y/N) ==> ");
	utv = getchar();
	
	printf("\nInput telephone status(Y/N) ==> ");
	uphone = getchar();
	
	printf("Input Day to stay > ");
	scanf("%d" , &day);
	printf("< - - - - - - - - - - - - > \n");
	
	switch(toupper(rmcode))
	{
		case 'P' : troom = 1500;
				   strcpy(rmname , "Private room");
				   break;
  		case 'S' : troom = 1000;
				   strcpy(rmname , "Semi - Private room");
				   break;
  		case 'C' : troom = 700;
				   strcpy(rmname , "Ward");
				   break;
	   	default :  troom = 0;
  			       strcpy(rmname , "FAI L L L L?????");
	}
	
	if(uphone == 'Y' || uphone =='y')
		tphone = 120 * day;
	else if(utv == 'Y' || utv == 'y')
		ttv = 150 * day;
	else
	{
		tphone = 0;
		ttv = 0;
	}
	
	sroom = troom * day;
	tot = tphone + ttv + sroom;
	
	printf("%20s : %d day\n" , "Day to stay" , day);
	printf("%20s : %s\n" , "Room type" , rmname);
	printf("%20s : %.2f baht\n" , "Telephone price" , tphone);
	printf("%20s : %.2f baht\n" , "TV price" , ttv);
	printf("%20s : %.2f baht\n" , "Room price" , sroom);
	printf("%20s : %.2f baht\n" , "Total" , tot);
}
 
 
 Tag : C
 
 
 |  
            |  |  
            | 
              
                |  |  |  |  
                |  | 
                    
                      | Date :
                          2012-12-26 20:41:46 | By :
                          sluxter | View :
                          1628 | Reply :
                          1 |  |  |  
                |  |  |  |  |  
            |  |  
		            |  |  
		|  |  |  |  |  
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | เห็นเค้าบอกให้ใช้พวก fgets() หรือ scanf() แทนครับ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2012-12-27 09:54:13 | By :
                            mr.win |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |