|
|
แก้ โจทย์ ภาษา 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 :
1521 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เห็นเค้าบอกให้ใช้พวก fgets() หรือ scanf() แทนครับ
|
|
|
|
|
Date :
2012-12-27 09:54:13 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|