作者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