PDA

ดูเวอร์ชั่นเต็ม : ช่วยหน่อยครับเกี่ยวกับการเขียนโปรแกรม c++



tomjungza
3rd September 2013, 19:37
#include<stdio.h>
#include<conio.h>
main()
{
int Day,Year;
char Mount[20]; //string
printf("Enter Day = : ");
scanf("%d",&Day);
printf("Enter Mount = : ");
scanf("%s",&Mount);
printf("Enter Year = : ");
scanf("%d",&Year);
printf("%s %d,%d",Mount,Day,Year);
getch();
}

โปรแกรมนี้อะครับคือว่าอยากจะกำหนดให้ day year mount สามารถพิมอักษรหรือตัวเลขที่เพียงแค่ 2ตัว แบบพิมเกินไม่ได้อะครับ ไม่รู้จริงพึ่งจะเคยเรียน ช่วยสอนหน่อยครับ ถ้ามีเว็ฐดีให้ศึกษาแนะนำหน่อยนะครับ

chikuva
3rd September 2013, 20:44
กำหนดความยาวของตัวแปลเข้าไปครับ เช่นกำหนด d[2] m[2] y[4]
ลองไปศึกษาเพิ่มเติมเกี่ยวกับการประกาศตัวแปลดูครับ

Arpple
3rd September 2013, 20:50
ถ้าใช้ int ต้อง if เช็ค <100
ไม่ก็ string 2 หลัก (แนะนำ)
ปล. mount? month รึเปล่า - -''

windyremind
3rd September 2013, 20:53
ใช้ loop (while) กับ if เข้าช่วย
ผมแนะแนวให้ละกัน
- ประกาศตัวแปรนับ char เป็น integer
- ประกาศตัวแปรๆนึงให้เป็น getchar
- ตั้งวงลูป
- สร้าง condition ในวงลูป เช่น if (20 < [ตัวแปรนับ]){ printf "ห้ามใส่อักษรเกิน 20ตัว\n"); break;

ส่วน doc ให้ศึกษาเยอะแยะใน google ครับ
ปล.สร้างฟังซ์ชั่น check ขึ้นมาก็ได้แล้วให้ main เรียกใช้ ฟังซ์ชั่น check แล้วให้มัน return ค่ากลับไปหา main

boat0089
3rd September 2013, 21:09
แนะนำให้ใช้
do-while = ทำ-ก่อนเช็ค

รูปแบบเป็นแบบนี้
do // จะทำคำสั่งภายใน {} ก่อน ในครั้งแรกก่อนเช็คเงื่อนไข
{
คำสั่งเช่น แสดงผล, รับค่า อะไรพวกนั้น
}
while(เงื่อนไข เช่น day>31) // ถ้า day มากกว่า 31 จะทำซ้ำ