作者stevennick (空中精靈)
看板TransCSI
標題Re: [問題] 請問一個程式設計問題-轉學考考題
時間Tue Jul 4 21:54:32 2006
※ 引述《lailai1213 (lai~)》之銘言:
: 完成下列程式 轉換24小時的時間表示法成12小時AM/PM的時間表示法.
: 舉例 程式將轉換14:25成2:25PM.程式的輸入為兩個整數(以上例而言是14 25).
: 程式中有三個函數:一個取得使用者之輸入,一個作時間的轉換,另一個則是輸出
: 轉換後的結果.程式中AM/PM已字元'A'及'P'代替並儲存於字元變數set中.
: 部分程式如下所示:
: #include<stdio.h>
: void input(int *hour,int *minute);
: void conversion (int *hour,char *set)
: void output(int hour,int minute,char set);
: void main()
: {
: char set;
: int hour(&hour,minute);
: input(&hour,&minute);
: conversion(&hour,&set);
: output(hour,minute,set);
: }
: void input(int *hour,int *minute)
: {
: }
: void conversion(int *hour,char *set)
: {
: }
: void output(int hour,int minute,char set)
: {
: }
我程度也很差....一開始想說試者寫寫看好了,沒想到也是想了好久才想出來
原本沒有要PO程式碼,但後來想想既然都寫了就貼吧!雖然基本要求達到了,
但程式還是有些問題,有錯誤的地方若是您看到了也請指點迷津,謝謝~~
// 參考解:不使用 time.h
// 不需要 system("PAUSE");時,可不需使用 stdlib.h
// 注意:除修正SyntxError外,並未更動題目所給的範例程式碼
// Modify by Stevenick.
//
#include<stdio.h>
#include <stdlib.h>
void input(int *hour,int *minute);
void conversion (int *hour,char *set);
void output(int hour,int minute,char set);
int main(int argc, char *argv[]){
//變數宣告:設定時間初始值為負數以便錯誤檢查。
char set;
int hour = -1;
int minute = -1;
input(&hour,&minute);
conversion(&hour,&set);
output(hour,minute,set);
system("PAUSE"); // 暫停
exit(0);
}
void input(int *hour,int *minute)
{
//提示使用者輸入格式。
printf("Input time. Format as mm:ss is\'mm ss\' >");
scanf("%U %U", hour, minute);
if ((*hour>24)||(*hour<0)||(*minute>60)||(*minute<0)){ //數值範圍檢查
printf("Bad format, please enter again!\n");
input(hour,minute);
}
}
void conversion(int *hour,char *set)
{
if((*hour == 0)||(*hour == 24)){ //AM:修正午夜12點時數字顯示
*set = 'A';
*hour = 12;
}else if(*hour>=12){ //PM
*hour = *hour - 12;
if(*hour == 0) {
*hour = 12; //修正中午12點時數字顯示.
}
*set = 'P';
}else {
*set = 'A'; //AM
}
}
void output(int hour,int minute,char set)
{
printf("The time is: %d:%d %cM.\n",hour, minute, set);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.68.214.114
1F:推 scoro:利害!@@ 我想問一下main那邊的argc是什麼@@ 07/04 23:00
2F:推 dgf130:argc是程式一開始執行所接受的指令 07/05 00:00
3F:→ dgf130:指令數目 07/05 00:02
4F:→ scoro:請問是一定要打嗎? 我對vb比較熟而已 囧> 07/05 00:14
5F:推 dgf130:可以不用打.. 07/05 00:19
6F:→ scoro:嗯 謝謝你解除我的疑惑^^ 07/05 00:29